diff --git a/package.json b/package.json index ea8019a..a2db48d 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,10 @@ }, "dependencies": { "crisp-game-lib": "^1.2.0", + "firebase": "^11.0.1", "pixi-filters": "^6.0.5", "pixi.js": "^8.5.2", - "sounds-some-sounds": "^3.1.0" + "sounds-some-sounds": "^3.1.0", + "trystero": "^0.20.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6285925..a321407 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: crisp-game-lib: specifier: ^1.2.0 version: 1.2.0 + firebase: + specifier: ^11.0.1 + version: 11.0.1 pixi-filters: specifier: ^6.0.5 version: 6.0.5(pixi.js@8.5.2) @@ -20,6 +23,9 @@ importers: sounds-some-sounds: specifier: ^3.1.0 version: 3.1.0 + trystero: + specifier: ^0.20.0 + version: 0.20.0(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/message-hash@0.1.17)(@waku/proto@0.0.7)(@waku/relay@0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21))(@waku/utils@0.0.21) devDependencies: '@types/node': specifier: ^22.9.0 @@ -33,6 +39,26 @@ importers: packages: + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@chainsafe/as-chacha20poly1305@0.1.0': + resolution: {integrity: sha512-BpNcL8/lji/GM3+vZ/bgRWqJ1q5kwvTFmGPk7pxm/QQZDbaMI98waOHjEymTjq2JmdD/INdNBFOVSyJofXg7ew==} + + '@chainsafe/as-sha256@0.4.2': + resolution: {integrity: sha512-HJ8GZBRjLeWtRsAXf3EbNsNzmTGpzTFjfpSf4yHkLYC+E52DhT6hwz+7qpj6I/EmFzSUm5tYYvT9K8GZokLQCQ==} + + '@chainsafe/is-ip@2.0.2': + resolution: {integrity: sha512-ndGqEMG1W5WkGagaqOZHpPU172AGdxr+LD15sv3WIUvT5oCFUrG1Y0CW/v2Egwj4JXEvSibaIIIqImsm98y1nA==} + + '@chainsafe/libp2p-noise@14.1.0': + resolution: {integrity: sha512-uHmptoxgMsfDIP7cQMQ4Zp9+y27oON5+gloBLXi+7EJpMhyvo7tjafUxRILwLofzeAtfaF3ZHraoXRFUSbhK2Q==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + '@chainsafe/netmask@2.0.0': + resolution: {integrity: sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -171,9 +197,503 @@ packages: cpu: [x64] os: [win32] + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + + '@firebase/analytics-compat@0.2.14': + resolution: {integrity: sha512-unRVY6SvRqfNFIAA/kwl4vK+lvQAL2HVcgu9zTrUtTyYDmtIt/lOuHJynBMYEgLnKm39YKBDhtqdapP2e++ASw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-compat@0.2.15': + resolution: {integrity: sha512-C5to422Sr8FkL0MPwXcIecbMnF4o2Ll7MtoWvIm4Q/LPJvvM+tWa1DiU+LzsCdsd1/CYE9EIW9Ma3ko9XnAAYw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-types@0.8.2': + resolution: {integrity: sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw==} + + '@firebase/analytics@0.10.8': + resolution: {integrity: sha512-CVnHcS4iRJPqtIDc411+UmFldk0ShSK3OB+D0bKD8Ck5Vro6dbK5+APZpkuWpbfdL359DIQUnAaMLE+zs/PVyA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/analytics@0.10.9': + resolution: {integrity: sha512-FrvW6u6xDBKXUGYUy1WIUh0J9tvbppMsk90mig0JhHST8iLveKu/dIBVeVE/ZYZhmXy4fkI7SPSWvD1V0O4tXw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check-compat@0.3.15': + resolution: {integrity: sha512-zFIvIFFNqDXpOT2huorz9cwf56VT3oJYRFjSFYdSbGYEJYEaXjLJbfC79lx/zjx4Fh+yuN8pry3TtvwaevrGbg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/app-check-compat@0.3.16': + resolution: {integrity: sha512-AxIGzLRXrTFNL+H6V+4BO0w/gERloROfRbWI/FoJUnQd0qPZIzyfdHZBbThFzFGLfDt/mVs2kdjYFx/l9I8NhQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/app-check-interop-types@0.3.2': + resolution: {integrity: sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==} + + '@firebase/app-check-types@0.5.2': + resolution: {integrity: sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA==} + + '@firebase/app-check@0.8.8': + resolution: {integrity: sha512-O49RGF1xj7k6BuhxGpHmqOW5hqBIAEbt2q6POW0lIywx7emYtzPDeQI+ryQpC4zbKX646SoVZ711TN1DBLNSOQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check@0.8.9': + resolution: {integrity: sha512-YzVn1mMLzD2JboMPVVO0Pe20YOgWzrF+aXoAmmd0v3xec051n83YpxSUZbacL69uYvk0dHrEsbea44QtQ5WPDA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-compat@0.2.43': + resolution: {integrity: sha512-HM96ZyIblXjAC7TzE8wIk2QhHlSvksYkQ4Ukh1GmEenzkucSNUmUX4QvoKrqeWsLEQ8hdcojABeCV8ybVyZmeg==} + + '@firebase/app-compat@0.2.45': + resolution: {integrity: sha512-5rYbXq1ndtMTg+07oH4WrkYuP+NZq61uzVwW1hlmybp/gr4cXq2SfaP9fc6/9IzTKmu3dh3H0fjj++HG7Z7o/w==} + engines: {node: '>=18.0.0'} + + '@firebase/app-types@0.9.2': + resolution: {integrity: sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==} + + '@firebase/app@0.10.13': + resolution: {integrity: sha512-OZiDAEK/lDB6xy/XzYAyJJkaDqmQ+BCtOEPLqFvxWKUz5JbBmej7IiiRHdtiIOD/twW7O5AxVsfaaGA/V1bNsA==} + + '@firebase/app@0.10.15': + resolution: {integrity: sha512-he6qlG3pmwL+LHdG/BrSMBQeJzzutciq4fpXN3lGa1uSwYSijJ24VtakS/bP2X9SiDf8jGywJ4u+OgXAenJsNg==} + engines: {node: '>=18.0.0'} + + '@firebase/auth-compat@0.5.14': + resolution: {integrity: sha512-2eczCSqBl1KUPJacZlFpQayvpilg3dxXLy9cSMTKtQMTQSmondUtPI47P3ikH3bQAXhzKLOE+qVxJ3/IRtu9pw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/auth-compat@0.5.15': + resolution: {integrity: sha512-jz6k1ridPiecKI8CBRiqCM6IMOhwYp2MD+YvoxnMiK8nQLSTm57GvHETlPNX3WlbyQnCjMCOvrAhe27whyxAEg==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/auth-interop-types@0.2.3': + resolution: {integrity: sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==} + + '@firebase/auth-types@0.12.2': + resolution: {integrity: sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/auth@1.7.9': + resolution: {integrity: sha512-yLD5095kVgDw965jepMyUrIgDklD6qH/BZNHeKOgvu7pchOKNjVM+zQoOVYJIKWMWOWBq8IRNVU6NXzBbozaJg==} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/auth@1.8.0': + resolution: {integrity: sha512-/O7UDWE5S5ux456fzNHSLx/0YN/Kykw/WyAzgDQ6wvkddZhSEmPX19EzxgsFldzhuFjsl5uOZTz8kzlosCiJjg==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/component@0.6.10': + resolution: {integrity: sha512-OsNbEKyz9iLZSmMUhsl6+kCADzte00iisJIRUspnUqvDCX+RSGZOBIqekukv/jN177ovjApBQNFaxSYIDc/SyQ==} + engines: {node: '>=18.0.0'} + + '@firebase/component@0.6.9': + resolution: {integrity: sha512-gm8EUEJE/fEac86AvHn8Z/QW8BvR56TBw3hMW0O838J/1mThYQXAIQBgUv75EqlCZfdawpWLrKt1uXvp9ciK3Q==} + + '@firebase/data-connect@0.1.0': + resolution: {integrity: sha512-vSe5s8dY13ilhLnfY0eYRmQsdTbH7PUFZtBbqU6JVX/j8Qp9A6G5gG6//ulbX9/1JFOF1IWNOne9c8S/DOCJaQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/data-connect@0.1.1': + resolution: {integrity: sha512-RBJ7XE/a3oXFv31Jlw8cbMRdsxQoI8F3L7xm4n93ab+bIr1NQUiYGgW9L7TTw7obdNev91ZnW0xfqJtXcPA5yA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/database-compat@1.0.8': + resolution: {integrity: sha512-OpeWZoPE3sGIRPBKYnW9wLad25RaWbGyk7fFQe4xnJQKRzlynWeFBSRRAoLE2Old01WXwskUiucNqUUVlFsceg==} + + '@firebase/database-compat@2.0.0': + resolution: {integrity: sha512-2xlODKWwf/vNAxCmou0GFhymx2pqZKkhXMN9B5aiTjZ6+81sOxGim53ELY2lj+qKG2IvgiCYFc4X+ZJA2Ad5vg==} + engines: {node: '>=18.0.0'} + + '@firebase/database-types@1.0.5': + resolution: {integrity: sha512-fTlqCNwFYyq/C6W7AJ5OCuq5CeZuBEsEwptnVxlNPkWCo5cTTyukzAHRSO/jaQcItz33FfYrrFk1SJofcu2AaQ==} + + '@firebase/database-types@1.0.6': + resolution: {integrity: sha512-sMI7IynSZBsyGbUugc8PKE1jwKbnvaieAz/RxuM57PZQNCi6Rteiviwcw/jqZOX6igqYJwXWZ3UzKOZo2nUDRA==} + + '@firebase/database@1.0.8': + resolution: {integrity: sha512-dzXALZeBI1U5TXt6619cv0+tgEhJiwlUtQ55WNZY7vGAjv7Q1QioV969iYwt1AQQ0ovHnEW0YW9TiBfefLvErg==} + + '@firebase/database@1.0.9': + resolution: {integrity: sha512-EkiPSKSu2TJJGtOjyISASf3UFpFJDil1lMbfqnxilfbmIsilvC8DzgjuLoYD+eOitcug4wtU9Fh1tt2vgBhskA==} + engines: {node: '>=18.0.0'} + + '@firebase/firestore-compat@0.3.38': + resolution: {integrity: sha512-GoS0bIMMkjpLni6StSwRJarpu2+S5m346Na7gr9YZ/BZ/W3/8iHGNr9PxC+f0rNZXqS4fGRn88pICjrZEgbkqQ==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-compat@0.3.39': + resolution: {integrity: sha512-CsK8g34jNeHx95LISDRTcArJLonW+zJCqHI1Ez9WNiLAK2X8FeQ4UiD+RwOwxAIR+t2a6xED/5Fe6ZIqx7MuoQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-types@3.0.2': + resolution: {integrity: sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/firestore@4.7.3': + resolution: {integrity: sha512-NwVU+JPZ/3bhvNSJMCSzfcBZZg8SUGyzZ2T0EW3/bkUeefCyzMISSt/TTIfEHc8cdyXGlMqfGe3/62u9s74UEg==} + engines: {node: '>=10.10.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/firestore@4.7.4': + resolution: {integrity: sha512-K2nq4w+NF8J1waGawY5OHLawP/Aw5CYxyDstVv1NZemGPcM3U+LZ9EPaXr1PatYIrPA7fS4DxZoWcbB0aGJ8Zg==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions-compat@0.3.14': + resolution: {integrity: sha512-dZ0PKOKQFnOlMfcim39XzaXonSuPPAVuzpqA4ONTIdyaJK/OnBaIEVs/+BH4faa1a2tLeR+Jy15PKqDRQoNIJw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/functions-compat@0.3.15': + resolution: {integrity: sha512-eiHpc6Sd9Y/SNhBsGi944SapiFbfTPKsiSUQ74QxNSs0yoxvABeIRolVMFk4TokP57NGmstGYpYte02XGNPcYw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/functions-types@0.6.2': + resolution: {integrity: sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w==} + + '@firebase/functions@0.11.8': + resolution: {integrity: sha512-Lo2rTPDn96naFIlSZKVd1yvRRqqqwiJk7cf9TZhUerwnPKgBzXy+aHE22ry+6EjCaQusUoNai6mU6p+G8QZT1g==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions@0.11.9': + resolution: {integrity: sha512-dhO5IUfQRCsrc20YD20nSOX+QCT+cH6N86HlZOLz2XgyEFgzOdBQnUot4EabBJQRkMBI7fZWUrbYfRcnov53ug==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations-compat@0.2.10': + resolution: {integrity: sha512-YTonkcVz3AK7RF8xFhvs5CwDuJ0xbzzCJIwXoV14gnzdYbMgy6vWlUUbzkvbtEDXzPRHB0n7aGZl56oy9dLOFw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-compat@0.2.9': + resolution: {integrity: sha512-2lfdc6kPXR7WaL4FCQSQUhXcPbI7ol3wF+vkgtU25r77OxPf8F/VmswQ7sgIkBBWtymn5ZF20TIKtnOj9rjb6w==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-types@0.5.2': + resolution: {integrity: sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==} + peerDependencies: + '@firebase/app-types': 0.x + + '@firebase/installations@0.6.10': + resolution: {integrity: sha512-TuGSOMqkFrllxa0X/8VZIqBCRH4POndU/iWKWkRmkh12+/xKSpdp+y/kWaVbsySrelltan6LeYlcYPmLibWbwg==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations@0.6.9': + resolution: {integrity: sha512-hlT7AwCiKghOX3XizLxXOsTFiFCQnp/oj86zp1UxwDGmyzsyoxtX+UIZyVyH/oBF5+XtblFG9KZzZQ/h+dpy+Q==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/logger@0.4.2': + resolution: {integrity: sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==} + + '@firebase/logger@0.4.3': + resolution: {integrity: sha512-Th42bWJg18EF5bJwhRosn2M/eYxmbWCwXZr4hHX7ltO0SE3QLrpgiMKeRBR/NW7vJke7i0n3i8esbCW2s93qBw==} + engines: {node: '>=18.0.0'} + + '@firebase/messaging-compat@0.2.12': + resolution: {integrity: sha512-pKsiUVZrbmRgdImYqhBNZlkKJbqjlPkVdQRZGRbkTyX4OSGKR0F/oJeCt1a8jEg5UnBp4fdVwSWSp4DuCovvEQ==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-compat@0.2.13': + resolution: {integrity: sha512-9ootPClS6m2c2KIzo7AqSHaWzAw28zWcjQPjVv7WeQDu6wjufpbOg+7tuVzb+gqpF9Issa3lDoYOwlO0ZudO3g==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-interop-types@0.2.2': + resolution: {integrity: sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA==} + + '@firebase/messaging@0.12.12': + resolution: {integrity: sha512-6q0pbzYBJhZEtUoQx7hnPhZvAbuMNuBXKQXOx2YlWhSrlv9N1m0ZzlNpBbu/ItTzrwNKTibdYzUyaaxdWLg+4w==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/messaging@0.12.13': + resolution: {integrity: sha512-YLa8PWl+BgiOVR5WOyzl21fVJFJeBRfniNuN25d9DBrQzppSAahuN6yS+vt1OIjvZNPN4pZ/lcRLYupbGu4W0w==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance-compat@0.2.10': + resolution: {integrity: sha512-0h1qYkF6I79DSSpHfTQFvb91fo8shmmwiPzWFYAPdPK02bSWpKwVssNYlZX2iUnumxerDMbl7dWN+Im/W3bnXA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-compat@0.2.9': + resolution: {integrity: sha512-dNl95IUnpsu3fAfYBZDCVhXNkASE0uo4HYaEPd2/PKscfTvsgqFAOxfAXzBEDOnynDWiaGUnb5M1O00JQ+3FXA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-types@0.2.2': + resolution: {integrity: sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA==} + + '@firebase/performance@0.6.10': + resolution: {integrity: sha512-x/mNYKGxq7A+QV0EiEZeD2S+E+kw+UcZ8FXuE7qDJyGGt/0Wd+bIIL7RakG/VrFt7/UYc//nKygDc7/Ig7sOmQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance@0.6.9': + resolution: {integrity: sha512-PnVaak5sqfz5ivhua+HserxTJHtCar/7zM0flCX6NkzBNzJzyzlH4Hs94h2Il0LQB99roBqoE5QT1JqWqcLJHQ==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config-compat@0.2.10': + resolution: {integrity: sha512-fIi5OB2zk0zpChMV/tTd0oEZcZI8TlwQDlLlcrDpMOV5l5dqd0JNlWKh6Fwmh4izmytk+rZIAIpnak/NjGVesQ==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-compat@0.2.9': + resolution: {integrity: sha512-AxzGpWfWFYejH2twxfdOJt5Cfh/ATHONegTd/a0p5flEzsD5JsxXgfkFToop+mypEL3gNwawxrxlZddmDoNxyA==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-types@0.3.2': + resolution: {integrity: sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA==} + + '@firebase/remote-config@0.4.10': + resolution: {integrity: sha512-jTRjy3TdqzVna19m5a1HEHE5BG4Z3BQTxBgvQRTmMKlHacx4QS0CToAas7R9M9UkxpgFcVuAE7FpWIOWQGCEWw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config@0.4.9': + resolution: {integrity: sha512-EO1NLCWSPMHdDSRGwZ73kxEEcTopAxX1naqLJFNApp4hO8WfKfmEpmjxmP5TrrnypjIf2tUkYaKsfbEA7+AMmA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage-compat@0.3.12': + resolution: {integrity: sha512-hA4VWKyGU5bWOll+uwzzhEMMYGu9PlKQc1w4DWxB3aIErWYzonrZjF0icqNQZbwKNIdh8SHjZlFeB2w6OSsjfg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-compat@0.3.13': + resolution: {integrity: sha512-15kje7JALswRCBKsCSvKg5FbqUYykaIMqMbZRD7I6uVRWwdyTvez5MBQfMhBia2JcEmPiDpXhJTXH4PAWFiA8g==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-types@0.8.2': + resolution: {integrity: sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/storage@0.13.2': + resolution: {integrity: sha512-fxuJnHshbhVwuJ4FuISLu+/76Aby2sh+44ztjF2ppoe0TELIDxPW6/r1KGlWYt//AD0IodDYYA8ZTN89q8YqUw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage@0.13.3': + resolution: {integrity: sha512-B5HiJ7isYKaT4dOEV43f2ySdhQxzq+SQEm7lqXebJ8AYCsebdHrgGzrPR0LR962xGjPzJHFKx63gA8Be/P2MCw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/util@1.10.0': + resolution: {integrity: sha512-xKtx4A668icQqoANRxyDLBLz51TAbDP9KRfpbKGxiCAW346d0BeJe5vN6/hKxxmWwnZ0mautyv39JxviwwQMOQ==} + + '@firebase/util@1.10.1': + resolution: {integrity: sha512-AIhFnCCjM8FmCqSNlNPTuOk3+gpHC1RkeNUBLtPbcqGYpN5MxI5q7Yby+rxycweOZOCboDzfIj8WyaY4tpQG/g==} + engines: {node: '>=18.0.0'} + + '@firebase/vertexai-preview@0.0.4': + resolution: {integrity: sha512-EBSqyu9eg8frQlVU9/HjKtHN7odqbh9MtAcVz3WwHj4gLCLOoN9F/o+oxlq3CxvFrd3CNTZwu6d2mZtVlEInng==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/vertexai@1.0.0': + resolution: {integrity: sha512-48N3Lp/9GgiCCRfrSdHS+Y1IiMdYXvnHFO/f+HL1PgUtBq7WQ/fWmYOX3mzAN36zvytq13nb68ImF+GALopp+Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/webchannel-wrapper@1.0.1': + resolution: {integrity: sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ==} + + '@firebase/webchannel-wrapper@1.0.2': + resolution: {integrity: sha512-3F4iA2E+NtdMbOU0XC1cHE8q6MqpGIKRj62oGOF38S6AAx5VHR9cXmoDUSj7ejvTAT7m6jxuEeQkHeq0F+mU2w==} + + '@grpc/grpc-js@1.9.15': + resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} + engines: {node: ^8.13.0 || >=10.10.0} + + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} + engines: {node: '>=6'} + hasBin: true + + '@leichtgewicht/base64-codec@1.0.0': + resolution: {integrity: sha512-0cgP4lRBzh3F4tlpTfs7F+PJyBN8j5yUC9KrQFWp/bREswgzZVHE8T1rNyRDWgvALwwpPtnJDQfqWUmxI33Epg==} + + '@leichtgewicht/dns-packet@6.0.3': + resolution: {integrity: sha512-qmVHhFBFiBvPsk/wJ/EdoWHb+tGkzY4haybmDPukhF6w0+8wpEbrHTIRE9LzeUu2P0bAbmrK8WOXt5V5QN6jQg==} + engines: {node: '>=6'} + + '@leichtgewicht/dns-socket@5.0.0': + resolution: {integrity: sha512-Sbrn/OG0HTTPGSkwIDCHy8/tUI6UglIzFsMNjzZn/Na1/i5owSm6rVi9CfKNNjRcUlYEzICELYW6EoZdjwVY2A==} + engines: {node: '>=6'} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@libp2p/crypto@3.0.4': + resolution: {integrity: sha512-FzSwBo+RJOUzdzEwug5ZL4dAGKwEBWTLzj+EmUTHHY6c87+oLh571DQk/w0oYObSD9hYbcKePgSBaZeBx0JaZg==} + + '@libp2p/crypto@4.1.9': + resolution: {integrity: sha512-8Cf2VKh0uC/rQLvTLSloIOMqUvf4jsSTHXgjWQRf47lDNJlNNI0wSv2S6gakT72GZsRV/jCjYwKPqRlsa5S0iA==} + + '@libp2p/identify@1.0.21': + resolution: {integrity: sha512-wUpgXK1pCrd1wkG1vgkRe+TRHMv+SvR206o5x0srcifjGByXHwKzmTgwYK8dVVVA7SITsuobxVRuELl6OOAaCg==} + + '@libp2p/interface-internal@1.3.4': + resolution: {integrity: sha512-8x/0sdeH8T16yZ9t/Cfja0ms6Ho9fF3riX56WhQrNxMU6C1sIgAFmzUNzHLxxOR+rkKyL9cyXIyB+RcBf4gzjA==} + + '@libp2p/interface@1.7.0': + resolution: {integrity: sha512-/zFyaIaIGW0aihhsH7/93vQdpWInUzFocxF11RO/029Y6h0SVjs24HHbils+DqaFDTqN+L7oNlBx2rM2MnmTjA==} + + '@libp2p/logger@4.0.20': + resolution: {integrity: sha512-TTh2dhHsOTAlMPxSa9ncFPHa/0jTt+0AQxwHdlxg/OGLAgc9VRhnrhHUbJZp07Crcw4T/MOfS4KhjlxgqYgJRw==} + + '@libp2p/mplex@10.1.5': + resolution: {integrity: sha512-NdT9ak8omeJZvdJhzsKSSeHBZlP+3sl68UbrpfVanWebQVuNqw7UOLURKtXnRd7II7siXt37Yq6W2km7VIT1yQ==} + deprecated: Mplex has no flow control - please use @chainsafe/libp2p-yamux instead + + '@libp2p/multistream-select@5.1.17': + resolution: {integrity: sha512-QOMGjCzKGf/W+qzWw5OxaqLEYhK45XjMCxGJYQ7L5eUkcwAv6rlPZAYw6YslaMLpJTa61/yfh8D4u7EuoMFsUw==} + + '@libp2p/peer-collections@5.2.9': + resolution: {integrity: sha512-8gBmzQlCWjjb+FSQBKK33T25Y5Df/8FWCXFtJDsprVxVUzDOQoibQJ5Tb4Y+mb96HUhNzoaRWVEamB78MMB3DA==} + + '@libp2p/peer-id-factory@4.2.4': + resolution: {integrity: sha512-NDQ/qIWpcAG/6xQjyut6xCkrYYAoCaI/33Z+7yzo5qFODwLfNonLzSTasnA6jhuvHn33aHnD1qhdpFkmstxtNQ==} + + '@libp2p/peer-id@4.2.4': + resolution: {integrity: sha512-mvvsVxt4HkF14BrTNKbqr14VObW+KBJBWu1Oe6BFCoDttGMQLaI+PdduE1r6Tquntv5IONBqoITgD7ow5dQ+vQ==} + + '@libp2p/peer-record@7.0.25': + resolution: {integrity: sha512-b54P3cSeQniW/HPJjBVbeF3KaVUQkWa431gotuIFUS1PYgtz69uzkRrVY6Qt+RBb4R4fcmH4K4jWyZi3xyLGfQ==} + + '@libp2p/peer-store@10.1.5': + resolution: {integrity: sha512-JqQcIcxZS7kicCPabGRyrKD+qZlOdaooL00hdHogVb4MIMqfjiQMmOEpzIvTQLCKHKM2mmfnV3P7kc6hYzPq8g==} + + '@libp2p/ping@1.1.6': + resolution: {integrity: sha512-tzTL0BzS1JaHE8v4PhRZ5K8wQQQcTMXM/0baCkLTLIaSMe1fzhj+KHbFNoUrY3yni4yfsVY1uR0qchhc1/J9qg==} + + '@libp2p/utils@5.4.9': + resolution: {integrity: sha512-0fRdX98WqhTmXU2WEVLegLFxs/kKTtUHanHk5Lzs4oGsIzlPHR7zE6lj/U1WfsFA+Xo1eYQpNLiXEL29hG+Nyw==} + + '@libp2p/websockets@8.2.0': + resolution: {integrity: sha512-UNjqkQ8/emnYswp1ohIIuZCnhI5DlvWF9IaIND2MoTCDavi7yubWfMp8jSWBsAqPnMeLMO8MQ6YlOo4FFC104Q==} + + '@multiformats/dns@1.0.6': + resolution: {integrity: sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw==} + + '@multiformats/mafmt@12.1.6': + resolution: {integrity: sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww==} + + '@multiformats/multiaddr-matcher@1.5.1': + resolution: {integrity: sha512-ra/2CA7G3/ZDZHvRSidsxhwwbdm2aavgYhc/8yi08CvRtIdeLrtlOyRReG3hww4W0G3M6/vfxcSBMzVv+ei68A==} + + '@multiformats/multiaddr-to-uri@10.1.2': + resolution: {integrity: sha512-6sicfYRjJlHJn4bwsQancs8kXncWU4dDN/+V9sMVTYp9hi8ovWgVkK75AbAv4SfhztmmI+oufVUncQ1n+SukKQ==} + + '@multiformats/multiaddr@12.3.1': + resolution: {integrity: sha512-yoGODQY4nIj41ENJClucS8FtBoe8w682bzbKldEQr9lSlfdHqAsRC+vpJAOBpiMwPps1tHua4kxrDmvprdhoDQ==} + + '@noble/ciphers@0.4.1': + resolution: {integrity: sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg==} + + '@noble/curves@1.6.0': + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/secp256k1@1.7.1': + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + '@pixi/colord@2.9.6': resolution: {integrity: sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@rollup/rollup-android-arm-eabi@4.24.4': resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] @@ -264,6 +784,35 @@ packages: cpu: [x64] os: [win32] + '@sindresorhus/fnv1a@3.1.0': + resolution: {integrity: sha512-KV321z5m/0nuAg83W1dPLy85HpHDk7Sdi4fJbwvacWsEhAh+rZUW4ZfGcXmUIvjZg4ss2bcwNlRhJ7GBEUG08w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + '@supabase/auth-js@2.65.1': + resolution: {integrity: sha512-IA7i2Xq2SWNCNMKxwmPlHafBQda0qtnFr8QnyyBr+KaSxoXXqEzFCnQ1dGTy6bsZjVBgXu++o3qrDypTspaAPw==} + + '@supabase/functions-js@2.4.3': + resolution: {integrity: sha512-sOLXy+mWRyu4LLv1onYydq+10mNRQ4rzqQxNhbrKLTLTcdcmS9hbWif0bGz/NavmiQfPs4ZcmQJp4WqOXlR4AQ==} + + '@supabase/node-fetch@2.6.15': + resolution: {integrity: sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==} + engines: {node: 4.x || >=6.0.0} + + '@supabase/postgrest-js@1.16.3': + resolution: {integrity: sha512-HI6dsbW68AKlOPofUjDTaosiDBCtW4XAm0D18pPwxoW3zKOE2Ru13Z69Wuys9fd6iTpfDViNco5sgrtnP0666A==} + + '@supabase/realtime-js@2.10.7': + resolution: {integrity: sha512-OLI0hiSAqQSqRpGMTUwoIWo51eUivSYlaNBgxsXZE7PSoWh12wPRdVt0psUMaUzEonSB85K21wGc7W5jHnT6uA==} + + '@supabase/storage-js@2.7.1': + resolution: {integrity: sha512-asYHcyDR1fKqrMpytAS1zjyEfvxuOIp1CIXX7ji4lHHcJKqyk+sLl/Vxgm4sN6u8zvuUtae9e4kDxQP2qrwWBA==} + + '@supabase/supabase-js@2.46.1': + resolution: {integrity: sha512-HiBpd8stf7M6+tlr+/82L8b2QmCjAD8ex9YdSAKU+whB/SHXXJdus1dGlqiH9Umy9ePUuxaYmVkGd9BcvBnNvg==} + + '@thaunknown/simple-peer@10.0.11': + resolution: {integrity: sha512-A5MdmtZ6HUzRa4gwPOS4jG+09HvpTv2rFo4kk7Vwveo2ELm+WmbO124ZrJrQnZc2D7z2Q3AWKSitjl9OKXO88g==} + '@tonaljs/abc-notation@4.9.0': resolution: {integrity: sha512-G52FHXNcIbZldoY1LlkXshD5nZqh/VylLCxPlXkx3Fikbn2UZqQ1uK+me8PjJltCCKmNI7M+DkHdh5oBK5CzVw==} @@ -363,6 +912,9 @@ packages: '@types/css-font-loading-module@0.0.12': resolution: {integrity: sha512-x2tZZYkSxXqWvTDgveSynfjq/T2HyiZHXb00j/+gy19yp70PHCizM48XFdjBCWH7eHBD0R5i/pw9yMBP/BH5uA==} + '@types/dns-packet@5.6.5': + resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} + '@types/earcut@2.1.4': resolution: {integrity: sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==} @@ -372,9 +924,114 @@ packages: '@types/gradient-parser@0.1.5': resolution: {integrity: sha512-r7K3NkJz3A95WkVVmjs0NcchhHstC2C/VIYNX4JC6tieviUNo774FFeOHjThr3Vw/WCeMP9kAT77MKbIRlO/4w==} + '@types/murmurhash3js-revisited@3.0.3': + resolution: {integrity: sha512-QvlqvYtGBYIDeO8dFdY4djkRubcrc+yTJtBc7n8VZPlJDUS/00A+PssbvERM8f9bYRmcaSEHPZgZojeQj7kzAA==} + '@types/node@22.9.0': resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} + '@types/phoenix@1.6.5': + resolution: {integrity: sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==} + + '@types/readable-stream@4.0.18': + resolution: {integrity: sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==} + + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + + '@waku/core@0.0.27': + resolution: {integrity: sha512-SPUiR0NrbfuHVhvU91Fnhkjnqkk76DBgYkTtjuLoJ7SbRJFYrnUqnSAXVwe2H+kDXq/M+UgUandLAPS6EyH+2A==} + engines: {node: '>=18'} + peerDependencies: + '@multiformats/multiaddr': ^12.0.0 + libp2p: ^1.1.2 + peerDependenciesMeta: + '@multiformats/multiaddr': + optional: true + + '@waku/discovery@0.0.3': + resolution: {integrity: sha512-zccWCqZSP8y32S1yr5zh61jk5cvEehJXKwi6jW4482YNygXXv/st2YqIDa1nV6Oedr6cabaAfK+OxQTnUIyrLA==} + engines: {node: '>=18'} + peerDependencies: + '@libp2p/interface': ^1.1.2 + '@waku/core': 0.0.27 + '@waku/enr': 0.0.21 + '@waku/interfaces': 0.0.22 + '@waku/proto': 0.0.6 + '@waku/utils': 0.0.15 + peerDependenciesMeta: + '@libp2p/interface': + optional: true + '@waku/interfaces': + optional: true + + '@waku/enr@0.0.21': + resolution: {integrity: sha512-FnfA7I+MDH5mJF9thS/a/6dTRLO8WF4WRj1/4BisRr9xTxHBq/qqgzGrk5JAWbeX6Befjle3Bi6cYdbSXGvNQw==} + engines: {node: '>=18'} + + '@waku/interfaces@0.0.22': + resolution: {integrity: sha512-SbOCqqv4wLkvVMuIppBXzLjyRHw1rnW3lzeIlNJrTwjIQvhIwasUyHIbZ9Wk9hv1ybhx7HmRuWdesWDQn1x0hQ==} + engines: {node: '>=18'} + + '@waku/interfaces@0.0.28': + resolution: {integrity: sha512-USLypuWfyYJpexxZXQKQGPuykwNs2j5/u8BxGxW8UR44G+L0UWRFzweMfQgZxEkoTuCpEFWMChVezNM5NjhBWA==} + engines: {node: '>=20'} + + '@waku/message-hash@0.1.17': + resolution: {integrity: sha512-oZCirHdZ+Psyh3faMXeYCUDkkKQGyVLWXyhrRA8ftxo5OD58Goyi+sn0WL/c/W7LsIKb+iOlEZAH8Edo/28igQ==} + engines: {node: '>=20'} + + '@waku/proto@0.0.6': + resolution: {integrity: sha512-KSlcpv8BRc/KeChIWfiz7Fska7N3FQhVOsgbV862/RMhj8dCiZPhWtNanuwipfe+GwWz5SMldowipBibukXSNA==} + engines: {node: '>=18'} + + '@waku/proto@0.0.7': + resolution: {integrity: sha512-yPwQO2m8tC28IEL4fFA/tRGr1TUk3yreXmDrR1/w2wGwnnGGs3IOnyortDvAm+bfWurib6lSnXTbcQgB0G/m0w==} + engines: {node: '>=18'} + + '@waku/proto@0.0.8': + resolution: {integrity: sha512-RPq8XLZf1xoKXCFyGKfL0j2ySfMS6MNimBwhMHKM53kRlGnszP3wBZnjWBApBY7G1pIHvxzvUBpFQzYdHMhIQA==} + engines: {node: '>=20'} + + '@waku/relay@0.0.11': + resolution: {integrity: sha512-+w4U2LPypgUq+OL4qTdtbceo5b80eUjuqRhPt/Yr5A6lgjoA0G0HSxyff/lCe4s7DoUorbVurK0DVIpErJX1dw==} + engines: {node: '>=18'} + peerDependencies: + '@chainsafe/libp2p-gossipsub': ^12.0.0 + '@waku/core': 0.0.27 + '@waku/interfaces': 0.0.22 + '@waku/proto': 0.0.6 + '@waku/utils': 0.0.15 + peerDependenciesMeta: + '@chainsafe/libp2p-gossipsub': + optional: true + '@waku/interfaces': + optional: true + + '@waku/sdk@0.0.26': + resolution: {integrity: sha512-IfsBiJYRZT7+VIxSi1y8CcqCeAg4fj4Q6iiQeVkula2+ibyXy+9+UzV3sgwY2uFCbVoOPRb5hA7KLf6utZvT8w==} + engines: {node: '>=18'} + peerDependencies: + '@libp2p/bootstrap': ^10 + '@waku/core': 0.0.28 + '@waku/interfaces': 0.0.23 + '@waku/message-hash': ^0.1.12 + '@waku/relay': 0.0.11 + '@waku/utils': 0.0.16 + peerDependenciesMeta: + '@libp2p/bootstrap': + optional: true + '@waku/interfaces': + optional: true + + '@waku/utils@0.0.15': + resolution: {integrity: sha512-zwRQcr3ECMM395umh0s17wMXkrjtcHW5xIw7CMOi/xsqV5ZAZi7P/SSMo2trngAsTxSJPDgeF60ChiwnsrsFbw==} + engines: {node: '>=18'} + + '@waku/utils@0.0.21': + resolution: {integrity: sha512-BnNsboN4+5g3ihdF0UwYYwUGvu98aPshbN9V0TSyvV+7NTssf3JIQv7KRPSAVL9Sq7s0ZZ14rynKfi9vt3ifdA==} + engines: {node: '>=20'} + '@webgpu/types@0.1.51': resolution: {integrity: sha512-ktR3u64NPjwIViNCck+z9QeyN0iPkQCUOQ07ZCV1RzlkfP+olLTeEZ95O1QHS+v4w9vJeY9xj/uJuSphsHy5rQ==} @@ -382,59 +1039,560 @@ packages: resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - crisp-game-lib@1.2.0: - resolution: {integrity: sha512-+so2x38+cS18UKz/BHyrp43tEqxMOKxrcMs/Y+oxS6pnwZ8asF1nJb59xKfgIByZIxyhuBUYNKIYEnoVB08SGA==} + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} - earcut@2.2.4: - resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + any-signal@4.1.1: + resolution: {integrity: sha512-iADenERppdC+A2YKbOXXB2WUeABLaM6qnpZ70kZbPZ1cZMMJ7eF+3CaYm+/PhBizgkzlvssC7QuHS30oOiQYWA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] + asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} - ismobilejs@1.1.1: - resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - mml-iterator@1.1.0: - resolution: {integrity: sha512-qqh+R2xJ/6F2MOhkCe+uBOw/4bQKprdi7mW6M/e3rx4Rp5IpePlCiaIhJ8BrXv7/vC2dfp7gcLvafbr9A+7y9A==} + bare-events@2.5.0: + resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + base64-arraybuffer@1.0.2: + resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} + engines: {node: '>= 0.6.0'} - parse-svg-path@0.1.2: - resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - pixi-filters@6.0.5: - resolution: {integrity: sha512-M7F+Xu4Ysp2iy7bNZxt6U4hxO+X8c3msVKOQAq/tf3sLt99XOiY54iH2Ixj5VRIesmjdLWA5CaUQ+TUfyBVe2g==} - peerDependencies: - pixi.js: '>=8.0.0-0' + bl@6.0.16: + resolution: {integrity: sha512-V/kz+z2Mx5/6qDfRCilmrukUXcXuCoXKg3/3hDvzKKoSUx8CJKudfIoT29XZc3UE9xBvxs5qictiHdprwtteEg==} - pixi.js@8.5.2: - resolution: {integrity: sha512-TOt9g8ifOj4R9DN9ST1M8t2nvnuhr5oWL5YW9ywFLbnOVgFMDcEz+Xek5Mo8Xr64D+QU3qre3IFgreBlsHxTNw==} + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} - engines: {node: ^10 || ^12 || >=14} + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - rollup@4.24.4: + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bytes.js@0.0.2: + resolution: {integrity: sha512-KrLm4hv5Qs9w6b0U7h1bCdqxrsf+e9QMsfHeyQFzAz94x/5Aqa+FTEUSNBtt5d2VuV3Hfiea3c4ti74RZDDYkg==} + + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + engines: {node: '>=4'} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commist@3.2.0: + resolution: {integrity: sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==} + + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + + crisp-game-lib@1.2.0: + resolution: {integrity: sha512-+so2x38+cS18UKz/BHyrp43tEqxMOKxrcMs/Y+oxS6pnwZ8asF1nJb59xKfgIByZIxyhuBUYNKIYEnoVB08SGA==} + + datastore-core@9.2.9: + resolution: {integrity: sha512-wraWTPsbtdE7FFaVo3pwPuTB/zXsgwGGAm8BgBYwYAuzZCTS0MfXmd/HH1vR9s0/NFFjOVmBkGiWCvKxZ+QjVw==} + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + delay@6.0.0: + resolution: {integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw==} + engines: {node: '>=16'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dns-query@0.11.2: + resolution: {integrity: sha512-zF8qxQpqCB467o4A63DLpQClo77H642JEKMx0Ra9GFww7Rx0234Fo8NoG0LBoSBZxamWkXfLxhzDG19bTBHvXQ==} + hasBin: true + + earcut@2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + err-code@3.0.1: + resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + event-iterator@2.0.0: + resolution: {integrity: sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + + fast-check@3.23.1: + resolution: {integrity: sha512-u/MudsoQEgBUZgR5N1v87vEgybeVYus9VnDVaIkxkkGP2jt54naghQ3PCQHJiogS8U/GavZCUPFfx3Xkp+NaHw==} + engines: {node: '>=8.0.0'} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-unique-numbers@8.0.13: + resolution: {integrity: sha512-7OnTFAVPefgw2eBJ1xj2PGGR9FwYzSUso9decayHgCDX4sJkHLdcsYTytTg+tYv+wKF3U8gJuSBz2jJpQV4u/g==} + engines: {node: '>=16.1.0'} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + firebase@10.14.1: + resolution: {integrity: sha512-0KZxU+Ela9rUCULqFsUUOYYkjh7OM1EWdIfG6///MtXd0t2/uUIf0iNV5i0KariMhRQ5jve/OY985nrAXFaZeQ==} + + firebase@11.0.1: + resolution: {integrity: sha512-qsFb8dMcQINEDhJteG7RP+GqwgSRvfyiexQqHd5JToDdm87i9I2rGC4XQsGawKGxzKwZ/ISdgwNWxXAFYdCC6A==} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-iterator@2.0.1: + resolution: {integrity: sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg==} + + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + + hashlru@2.3.0: + resolution: {integrity: sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==} + + help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + + hi-base32@0.5.1: + resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + interface-datastore@8.3.1: + resolution: {integrity: sha512-3r0ETmHIi6HmvM5sc09QQiCD3gUfwtEM/AAChOyAd/UAKT69uk8LXfTSUBufbUIO/dU65Vj8nb9O6QjwW8vDSQ==} + + interface-store@5.1.8: + resolution: {integrity: sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w==} + + interface-store@6.0.2: + resolution: {integrity: sha512-KSFCXtBlNoG0hzwNa0RmhHtrdhzexp+S+UY2s0rWTBJyfdEIgn6i6Zl9otVqrcFYbYrneBT7hbmHQ8gE0C3umA==} + + is-electron@2.2.2: + resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-loopback-addr@2.0.2: + resolution: {integrity: sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg==} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + ismobilejs@1.1.1: + resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} + + it-all@3.0.6: + resolution: {integrity: sha512-HXZWbxCgQZJfrv5rXvaVeaayXED8nTKx9tj9fpBhmcUJcedVZshMMMqTj0RG2+scGypb9Ut1zd1ifbf3lA8L+Q==} + + it-byte-stream@1.1.0: + resolution: {integrity: sha512-WWponBWdKEa6o2U3NX+wGMY8X1EkWXcQvpC+3CUqKb4ZzK30q3EPqiTjFxLf9tNVgdF/MNAtx/XclpVfgaz9KQ==} + + it-drain@3.0.7: + resolution: {integrity: sha512-vy6S1JKjjHSIFHgBpLpD1zhkCRl3z1zYWUxE14+kAYf+BL9ssWSFImJfhl361IIcwr0ofw8etzg11VqqB+ntUA==} + + it-filter@3.1.1: + resolution: {integrity: sha512-TOXmVuaSkxlLp2hXKoMTra0WMZMKVFxE3vSsbIA+PbADNCBAHhjJ/lM31vBOUTddHMO34Ku++vU8T9PLlBxQtg==} + + it-first@3.0.6: + resolution: {integrity: sha512-ExIewyK9kXKNAplg2GMeWfgjUcfC1FnUXz/RPfAvIXby+w7U4b3//5Lic0NV03gXT8O/isj5Nmp6KiY0d45pIQ==} + + it-length-prefixed-stream@1.2.0: + resolution: {integrity: sha512-vX7dzSl/2UMYYsAr0FQdPNVR5xYEETaeboZ+eXxNBjgARuvxnWA6OedW8lC5/J3ebMTC98JhA3eH76eTijUOsA==} + + it-length-prefixed@9.1.0: + resolution: {integrity: sha512-kx2UTJuy7/lsT3QUzf50NjfxU1Z4P4wlvYp6YnR5Nc61P8XKfy+QtiJi1VLojA+Kea7vMbB4002rIij1Ol9hcw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + it-map@3.1.1: + resolution: {integrity: sha512-9bCSwKD1yN1wCOgJ9UOl+46NQtdatosPWzxxUk2NdTLwRPXLh+L7iwCC9QKsbgM60RQxT/nH8bKMqm3H/o8IHQ==} + + it-merge@3.0.5: + resolution: {integrity: sha512-2l7+mPf85pyRF5pqi0dKcA54E5Jm/2FyY5GsOaN51Ta0ipC7YZ3szuAsH8wOoB6eKY4XsU4k2X+mzPmFBMayEA==} + + it-pair@2.0.6: + resolution: {integrity: sha512-5M0t5RAcYEQYNG5BV7d7cqbdwbCAp5yLdzvkxsZmkuZsLbTdZzah6MQySYfaAQjNDCq6PUnDt0hqBZ4NwMfW6g==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + it-parallel@3.0.8: + resolution: {integrity: sha512-URLhs6eG4Hdr4OdvgBBPDzOjBeSSmI+Kqex2rv/aAyYClME26RYHirLVhZsZP5M+ZP6M34iRlXk8Wlqtezuqpg==} + + it-peekable@3.0.5: + resolution: {integrity: sha512-JWQOGMt6rKiPcY30zUVMR4g6YxkpueTwHVE7CMs/aGqCf4OydM6w+7ZM3PvmO1e0TocjuR4aL8xyZWR46cTqCQ==} + + it-pipe@3.0.1: + resolution: {integrity: sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + it-protobuf-stream@1.1.5: + resolution: {integrity: sha512-H70idW45As3cEbU4uSoZ9IYHUIV3YM69/2mmXYR7gOlPabWjuyNi3/abK11geiiq3la27Sos/mXr68JljjKtEQ==} + + it-pushable@3.2.3: + resolution: {integrity: sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg==} + + it-queueless-pushable@1.0.0: + resolution: {integrity: sha512-HbcAbcuQj7a9EBxiRCZ+77FxWutgs/pY5ZvEyQnylWPGNFojCLAUwhcZjf5OuEQ9+y+vSa7w1GQBe8xJdmIn5A==} + + it-reader@6.0.4: + resolution: {integrity: sha512-XCWifEcNFFjjBHtor4Sfaj8rcpt+FkY0L6WdhD578SCDhV4VUm7fCkF3dv5a+fTcfQqvN9BsxBTvWbYO6iCjTg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + it-sort@3.0.6: + resolution: {integrity: sha512-aNrlZAXB8vWBd42tCpaXGL6CJVJNDW3OLczmdt6g0k/s9Z6evkTdgU2LjwW5SNNeX41sF+C8MjV+OcVf93PsPw==} + + it-stream-types@2.0.2: + resolution: {integrity: sha512-Rz/DEZ6Byn/r9+/SBCuJhpPATDF9D+dz5pbgSUyBsCDtza6wtNATrz/jz1gDyNanC3XdLboriHnOC925bZRBww==} + + it-take@3.0.6: + resolution: {integrity: sha512-uqw3MRzf9to1SOLxaureGa73lK8k8ZB/asOApTAkvrzUqCznGtKNgPFH7uYIWlt4UuWq/hU6I+U4Fm5xpjN8Vg==} + + it-ws@6.1.5: + resolution: {integrity: sha512-uWjMtpy5HqhSd/LlrlP3fhYrr7rUfJFFMABv0F5d6n13Q+0glhZthwUKpEAVhDrXY95Tb1RB5lLqqef+QbVNaw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + js-sdsl@4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + + js-sha3@0.9.3: + resolution: {integrity: sha512-BcJPCQeLg6WjEx3FE591wVAevlli8lxsxm9/FzV4HXkV49TmBH38Yvrpce6fjbADGMKFrBMGTqrVz3qPIZ88Gg==} + + libp2p@1.9.4: + resolution: {integrity: sha512-OCMQqJ0Po8jhgb4CilWhI5EWhppn9ENdhg63PQL8Yi1tk2rOwJJt+NBec85AU18zBc0jv7Q6SgQRkzCefAuyIQ==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + merge-options@3.0.4: + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mml-iterator@1.1.0: + resolution: {integrity: sha512-qqh+R2xJ/6F2MOhkCe+uBOw/4bQKprdi7mW6M/e3rx4Rp5IpePlCiaIhJ8BrXv7/vC2dfp7gcLvafbr9A+7y9A==} + + mortice@3.0.6: + resolution: {integrity: sha512-xUjsTQreX8rO3pHuGYDZ3PY/sEiONIzqzjLeog5akdY4bz9TlDDuvYlU8fm+6qnm4rnpa6AFxLhsfSBThLijdA==} + + mqtt-packet@9.0.0: + resolution: {integrity: sha512-8v+HkX+fwbodsWAZIZTI074XIoxVBOmPeggQuDFCGg1SqNcC+uoRMWu7J6QlJPqIUIJXmjNYYHxBBLr1Y/Df4w==} + + mqtt@5.10.1: + resolution: {integrity: sha512-hXCOki8sANoQ7w+2OzJzg6qMBxTtrH9RlnVNV8panLZgnl+Gh0J/t4k6r8Az8+C7y3KAcyXtn0mmLixyUom8Sw==} + engines: {node: '>=16.0.0'} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + ms@3.0.0-canary.1: + resolution: {integrity: sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g==} + engines: {node: '>=12.13'} + + multiformats@13.3.1: + resolution: {integrity: sha512-QxowxTNwJ3r5RMctoGA5p13w5RbRT2QDkoM+yFlqfLiioBp78nhDjnRLvmSBI9+KAqN4VdgOVWM9c0CHd86m3g==} + + murmurhash3js-revisited@3.0.0: + resolution: {integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==} + engines: {node: '>=8.0.0'} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + node-abi@3.71.0: + resolution: {integrity: sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==} + engines: {node: '>=10'} + + node-datachannel@0.12.0: + resolution: {integrity: sha512-pZ9FsVZpHdUKqyWynuCc9IBLkZPJMpDzpNk4YNPCizbIXHYifpYeWqSF35REHGIWi9JMCf11QzapsyQGo/Y4Ig==} + engines: {node: '>=16.0.0'} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-domexception@2.0.1: + resolution: {integrity: sha512-M85rnSC7WQ7wnfQTARPT4LrK7nwCHLdDFOCcItZMhTQjyCebJH8GciKqYJNgaOFZs9nFmTmd/VMyi3OW5jA47w==} + engines: {node: '>=16'} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + number-allocator@1.0.14: + resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} + + observable-webworkers@2.0.1: + resolution: {integrity: sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + p-defer@4.0.1: + resolution: {integrity: sha512-Mr5KC5efvAK5VUptYEIopP1bakB85k2IWXaRC0rsh1uwn1L6M0LVml8OIQ4Gudg4oyZakf7FmeRLkMMtZW1i5A==} + engines: {node: '>=12'} + + p-event@6.0.1: + resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} + engines: {node: '>=16.17'} + + p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + + p-timeout@6.1.3: + resolution: {integrity: sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==} + engines: {node: '>=14.16'} + + parse-svg-path@0.1.2: + resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + pixi-filters@6.0.5: + resolution: {integrity: sha512-M7F+Xu4Ysp2iy7bNZxt6U4hxO+X8c3msVKOQAq/tf3sLt99XOiY54iH2Ixj5VRIesmjdLWA5CaUQ+TUfyBVe2g==} + peerDependencies: + pixi.js: '>=8.0.0-0' + + pixi.js@8.5.2: + resolution: {integrity: sha512-TOt9g8ifOj4R9DN9ST1M8t2nvnuhr5oWL5YW9ywFLbnOVgFMDcEz+Xek5Mo8Xr64D+QU3qre3IFgreBlsHxTNw==} + + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + + prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress-events@1.0.1: + resolution: {integrity: sha512-MOzLIwhpt64KIVN64h1MwdKWiyKFNc/S6BoYKPIVUHFg0/eIEyBulhWCgn678v/4c0ri3FdGuzXymNCv02MUIw==} + + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + + protons-runtime@5.5.0: + resolution: {integrity: sha512-EsALjF9QsrEk6gbCx3lmfHxVN0ah7nG3cY7GySD4xf4g8cr7g543zB88Foh897Sr1RQJ9yDCUsoT1i1H/cVUFA==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + race-event@1.3.0: + resolution: {integrity: sha512-kaLm7axfOnahIqD3jQ4l1e471FIFcEGebXEnhxyLscuUzV8C94xVHtWEqDDXxll7+yu/6lW0w1Ff4HbtvHvOHg==} + + race-signal@1.1.0: + resolution: {integrity: sha512-VqsW1uzCXfKBd2DhA3K3NhQlqQr04+5WQ7+kHpf1HzT01Q+ePSFWZdQHXKZPuLmm2eXTZM1XLO76cq15ZRAaEA==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + reinterval@1.1.0: + resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.24.4: resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + sounds-some-sounds@3.1.0: resolution: {integrity: sha512-Dx+iLhUuIb3f7T9KNTMshIjEmKa71pXOGF3i++OGL9jOPdy7wmP+cWEW5d1dQCUZoO1bsEENMvz+lHIAiLe+sA==} @@ -442,14 +1600,104 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + text-decoder@1.2.1: + resolution: {integrity: sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trystero@0.20.0: + resolution: {integrity: sha512-lioKNKt4ubHAgAVjWuPHgy2rJlkTewT9TE4sKr/p24A3C3ixQkmLg9FJTqoV+Jpn0UYpqffrjQ8J0emHritXxg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true + uint8-util@2.2.5: + resolution: {integrity: sha512-/QxVQD7CttWpVUKVPz9znO+3Dd4BdTSnFQ7pv/4drVhC9m4BaL2LFHTkJn6EsYoxT79VDq/2Gg8L0H22PrzyMw==} + + uint8-varint@2.0.4: + resolution: {integrity: sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw==} + + uint8arraylist@2.4.8: + resolution: {integrity: sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ==} + + uint8arrays@5.1.0: + resolution: {integrity: sha512-vA6nFepEmlSKkMBnLBaUMVvAC4G3CTmO58C12y4sq6WPDOR7mOFYOi7GlrQ4djeSbP6JG9Pv9tJDM97PedRSww==} + undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici@6.19.7: + resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==} + engines: {node: '>=18.17'} + + utf8-bytes@0.0.1: + resolution: {integrity: sha512-GifWmJAx2qAXT+lZLhbkWhBsy7pr6xWHiPWlVToDiELdWgZwt4Ogjf9tlgvKuALzTFR/d+EPQQI9ogJV3957Jg==} + + utf8-codec@1.0.0: + resolution: {integrity: sha512-S/QSLezp3qvG4ld5PUfXiH7mCFxLKjSVZRFkB3DOjgwHuJPFDkInAXc/anf7BAbHt/D38ozDzL+QMZ6/7gsI6w==} + + utf8-length@0.0.1: + resolution: {integrity: sha512-j/XH2ftofBiobnyApxlN/J6j/ixwT89WEjDcjT66d2i0+GIn9RZfzt8lpEXXE4jUe4NsjBSUq70kS2euQ4nnMw==} + + utf8-string-bytes@1.0.3: + resolution: {integrity: sha512-i/I1Omf6lADjVBlwJpQifZOePV15snHny9w04+lc71+3t8PyWuLC/7clyoOSHOBNGXFe2PAGxmTiZ+Z4HWsPyw==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + vite@5.4.10: resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -481,8 +1729,108 @@ packages: terser: optional: true + weald@1.0.4: + resolution: {integrity: sha512-+kYTuHonJBwmFhP1Z4YQK/dGi3jAnJGCYhyODFpHK73rbxnp9lnZQj7a2m+WVgn8fXr5bJaxUpF6l8qZpPeNWQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webrtc-polyfill@1.1.10: + resolution: {integrity: sha512-sOn0bj3/noUdzQX7rvk0jFbBurqWDGGo2ipl+WfgoOe/x3cxbGLk/ZUY+WHCISSlLaIeBumi1X3wxQZnUESExQ==} + engines: {node: '>=16.0.0'} + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + wherearewe@2.0.1: + resolution: {integrity: sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + + worker-timers-broker@6.1.8: + resolution: {integrity: sha512-FUCJu9jlK3A8WqLTKXM9E6kAmI/dR1vAJ8dHYLMisLNB/n3GuaFIjJ7pn16ZcD1zCOf7P6H62lWIEBi+yz/zQQ==} + + worker-timers-worker@7.0.71: + resolution: {integrity: sha512-ks/5YKwZsto1c2vmljroppOKCivB/ma97g9y77MAAz2TBBjPPgpoOiS1qYQKIgvGTr2QYPT3XhJWIB6Rj2MVPQ==} + + worker-timers@7.1.8: + resolution: {integrity: sha512-R54psRKYVLuzff7c1OTFcq/4Hue5Vlz4bFtNEIarpSiCYhpifHU3aIQI29S84o1j87ePCYqbmEJPqwBTf+3sfw==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + snapshots: + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@chainsafe/as-chacha20poly1305@0.1.0': {} + + '@chainsafe/as-sha256@0.4.2': {} + + '@chainsafe/is-ip@2.0.2': {} + + '@chainsafe/libp2p-noise@14.1.0': + dependencies: + '@chainsafe/as-chacha20poly1305': 0.1.0 + '@chainsafe/as-sha256': 0.4.2 + '@libp2p/crypto': 3.0.4 + '@libp2p/interface': 1.7.0 + '@libp2p/peer-id': 4.2.4 + '@noble/ciphers': 0.4.1 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + it-byte-stream: 1.1.0 + it-length-prefixed: 9.1.0 + it-length-prefixed-stream: 1.2.0 + it-pair: 2.0.6 + it-pipe: 3.0.1 + it-stream-types: 2.0.2 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + wherearewe: 2.0.1 + + '@chainsafe/netmask@2.0.0': + dependencies: + '@chainsafe/is-ip': 2.0.2 + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -552,9 +1900,916 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@pixi/colord@2.9.6': {} + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 - '@rollup/rollup-android-arm-eabi@4.24.4': + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/rlp@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@firebase/analytics-compat@0.2.14(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/analytics': 0.10.8(@firebase/app@0.10.13) + '@firebase/analytics-types': 0.8.2 + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-compat@0.2.15(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/analytics': 0.10.9(@firebase/app@0.10.15) + '@firebase/analytics-types': 0.8.2 + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.2': {} + + '@firebase/analytics@0.10.8(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/analytics@0.10.9(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/app-check-compat@0.3.15(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-check': 0.8.8(@firebase/app@0.10.13) + '@firebase/app-check-types': 0.5.2 + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-compat@0.3.16(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-check': 0.8.9(@firebase/app@0.10.15) + '@firebase/app-check-types': 0.5.2 + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.2': {} + + '@firebase/app-check-types@0.5.2': {} + + '@firebase/app-check@0.8.8(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/app-check@0.8.9(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/app-compat@0.2.43': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/app-compat@0.2.45': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/app-types@0.9.2': {} + + '@firebase/app@0.10.13': + dependencies: + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/app@0.10.15': + dependencies: + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/auth-compat@0.5.14(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/auth': 1.7.9(@firebase/app@0.10.13) + '@firebase/auth-types': 0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0) + '@firebase/component': 0.6.9 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + undici: 6.19.7 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-compat@0.5.15(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/auth': 1.8.0(@firebase/app@0.10.15) + '@firebase/auth-types': 0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1) + '@firebase/component': 0.6.10 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-interop-types@0.2.3': {} + + '@firebase/auth-types@0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.0 + + '@firebase/auth-types@0.12.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.1 + + '@firebase/auth@1.7.9(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + undici: 6.19.7 + + '@firebase/auth@1.8.0(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/component@0.6.10': + dependencies: + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/component@0.6.9': + dependencies: + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/data-connect@0.1.0(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/data-connect@0.1.1(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/database-compat@1.0.8': + dependencies: + '@firebase/component': 0.6.9 + '@firebase/database': 1.0.8 + '@firebase/database-types': 1.0.5 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/database-compat@2.0.0': + dependencies: + '@firebase/component': 0.6.10 + '@firebase/database': 1.0.9 + '@firebase/database-types': 1.0.6 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/database-types@1.0.5': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.0 + + '@firebase/database-types@1.0.6': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.1 + + '@firebase/database@1.0.8': + dependencies: + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/database@1.0.9': + dependencies: + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/firestore-compat@0.3.38(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/firestore': 4.7.3(@firebase/app@0.10.13) + '@firebase/firestore-types': 3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0) + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-compat@0.3.39(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/firestore': 4.7.4(@firebase/app@0.10.15) + '@firebase/firestore-types': 3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1) + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.0 + + '@firebase/firestore-types@3.0.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.1 + + '@firebase/firestore@4.7.3(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + '@firebase/webchannel-wrapper': 1.0.1 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.13 + tslib: 2.8.1 + undici: 6.19.7 + + '@firebase/firestore@4.7.4(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + '@firebase/webchannel-wrapper': 1.0.2 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.13 + tslib: 2.8.1 + + '@firebase/functions-compat@0.3.14(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/functions': 0.11.8(@firebase/app@0.10.13) + '@firebase/functions-types': 0.6.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-compat@0.3.15(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/functions': 0.11.9(@firebase/app@0.10.15) + '@firebase/functions-types': 0.6.2 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.2': {} + + '@firebase/functions@0.11.8(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.9 + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + undici: 6.19.7 + + '@firebase/functions@0.11.9(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/auth-interop-types': 0.2.3 + '@firebase/component': 0.6.10 + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/installations-compat@0.2.10(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/installations-types': 0.5.2(@firebase/app-types@0.9.2) + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-compat@0.2.9(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/installations-types': 0.5.2(@firebase/app-types@0.9.2) + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.2(@firebase/app-types@0.9.2)': + dependencies: + '@firebase/app-types': 0.9.2 + + '@firebase/installations@0.6.10(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/util': 1.10.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/installations@0.6.9(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/util': 1.10.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/logger@0.4.2': + dependencies: + tslib: 2.8.1 + + '@firebase/logger@0.4.3': + dependencies: + tslib: 2.8.1 + + '@firebase/messaging-compat@0.2.12(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/messaging': 0.12.12(@firebase/app@0.10.13) + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-compat@0.2.13(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/messaging': 0.12.13(@firebase/app@0.10.15) + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.2': {} + + '@firebase/messaging@0.12.12(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.10.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/messaging@0.12.13(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/messaging-interop-types': 0.2.2 + '@firebase/util': 1.10.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/performance-compat@0.2.10(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/performance': 0.6.10(@firebase/app@0.10.15) + '@firebase/performance-types': 0.2.2 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-compat@0.2.9(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/performance': 0.6.9(@firebase/app@0.10.13) + '@firebase/performance-types': 0.2.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.2': {} + + '@firebase/performance@0.6.10(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/performance@0.6.9(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/remote-config-compat@0.2.10(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/remote-config': 0.4.10(@firebase/app@0.10.15) + '@firebase/remote-config-types': 0.3.2 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-compat@0.2.9(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/remote-config': 0.4.9(@firebase/app@0.10.13) + '@firebase/remote-config-types': 0.3.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.3.2': {} + + '@firebase/remote-config@0.4.10(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/remote-config@0.4.9(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/storage-compat@0.3.12(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app-compat': 0.2.43 + '@firebase/component': 0.6.9 + '@firebase/storage': 0.13.2(@firebase/app@0.10.13) + '@firebase/storage-types': 0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0) + '@firebase/util': 1.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-compat@0.3.13(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app-compat': 0.2.45 + '@firebase/component': 0.6.10 + '@firebase/storage': 0.13.3(@firebase/app@0.10.15) + '@firebase/storage-types': 0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1) + '@firebase/util': 1.10.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.0)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.0 + + '@firebase/storage-types@0.8.2(@firebase/app-types@0.9.2)(@firebase/util@1.10.1)': + dependencies: + '@firebase/app-types': 0.9.2 + '@firebase/util': 1.10.1 + + '@firebase/storage@0.13.2(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/component': 0.6.9 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + undici: 6.19.7 + + '@firebase/storage@0.13.3(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/component': 0.6.10 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/util@1.10.0': + dependencies: + tslib: 2.8.1 + + '@firebase/util@1.10.1': + dependencies: + tslib: 2.8.1 + + '@firebase/vertexai-preview@0.0.4(@firebase/app-types@0.9.2)(@firebase/app@0.10.13)': + dependencies: + '@firebase/app': 0.10.13 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/app-types': 0.9.2 + '@firebase/component': 0.6.9 + '@firebase/logger': 0.4.2 + '@firebase/util': 1.10.0 + tslib: 2.8.1 + + '@firebase/vertexai@1.0.0(@firebase/app-types@0.9.2)(@firebase/app@0.10.15)': + dependencies: + '@firebase/app': 0.10.15 + '@firebase/app-check-interop-types': 0.3.2 + '@firebase/app-types': 0.9.2 + '@firebase/component': 0.6.10 + '@firebase/logger': 0.4.3 + '@firebase/util': 1.10.1 + tslib: 2.8.1 + + '@firebase/webchannel-wrapper@1.0.1': {} + + '@firebase/webchannel-wrapper@1.0.2': {} + + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.13 + '@types/node': 22.9.0 + + '@grpc/proto-loader@0.7.13': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.4.0 + yargs: 17.7.2 + + '@leichtgewicht/base64-codec@1.0.0': {} + + '@leichtgewicht/dns-packet@6.0.3': + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + bytes.js: 0.0.2 + utf8-bytes: 0.0.1 + utf8-codec: 1.0.0 + utf8-length: 0.0.1 + utf8-string-bytes: 1.0.3 + + '@leichtgewicht/dns-socket@5.0.0': + dependencies: + '@leichtgewicht/dns-packet': 6.0.3 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@libp2p/crypto@3.0.4': + dependencies: + '@libp2p/interface': 1.7.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + multiformats: 13.3.1 + node-forge: 1.3.1 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/crypto@4.1.9': + dependencies: + '@libp2p/interface': 1.7.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + asn1js: 3.0.5 + multiformats: 13.3.1 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/identify@1.0.21': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/interface-internal': 1.3.4 + '@libp2p/peer-id': 4.2.4 + '@libp2p/peer-record': 7.0.25 + '@multiformats/multiaddr': 12.3.1 + '@multiformats/multiaddr-matcher': 1.5.1 + it-protobuf-stream: 1.1.5 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + wherearewe: 2.0.1 + + '@libp2p/interface-internal@1.3.4': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/peer-collections': 5.2.9 + '@multiformats/multiaddr': 12.3.1 + progress-events: 1.0.1 + uint8arraylist: 2.4.8 + + '@libp2p/interface@1.7.0': + dependencies: + '@multiformats/multiaddr': 12.3.1 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + multiformats: 13.3.1 + progress-events: 1.0.1 + uint8arraylist: 2.4.8 + + '@libp2p/logger@4.0.20': + dependencies: + '@libp2p/interface': 1.7.0 + '@multiformats/multiaddr': 12.3.1 + interface-datastore: 8.3.1 + multiformats: 13.3.1 + weald: 1.0.4 + + '@libp2p/mplex@10.1.5': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/utils': 5.4.9 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/multistream-select@5.1.17': + dependencies: + '@libp2p/interface': 1.7.0 + it-length-prefixed: 9.1.0 + it-length-prefixed-stream: 1.2.0 + it-stream-types: 2.0.2 + p-defer: 4.0.1 + race-signal: 1.1.0 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-collections@5.2.9': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/peer-id': 4.2.4 + '@libp2p/utils': 5.4.9 + + '@libp2p/peer-id-factory@4.2.4': + dependencies: + '@libp2p/crypto': 4.1.9 + '@libp2p/interface': 1.7.0 + '@libp2p/peer-id': 4.2.4 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-id@4.2.4': + dependencies: + '@libp2p/interface': 1.7.0 + multiformats: 13.3.1 + uint8arrays: 5.1.0 + + '@libp2p/peer-record@7.0.25': + dependencies: + '@libp2p/crypto': 4.1.9 + '@libp2p/interface': 1.7.0 + '@libp2p/peer-id': 4.2.4 + '@libp2p/utils': 5.4.9 + '@multiformats/multiaddr': 12.3.1 + protons-runtime: 5.5.0 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/peer-store@10.1.5': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/peer-collections': 5.2.9 + '@libp2p/peer-id': 4.2.4 + '@libp2p/peer-record': 7.0.25 + '@multiformats/multiaddr': 12.3.1 + interface-datastore: 8.3.1 + it-all: 3.0.6 + mortice: 3.0.6 + multiformats: 13.3.1 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/ping@1.1.6': + dependencies: + '@libp2p/crypto': 4.1.9 + '@libp2p/interface': 1.7.0 + '@libp2p/interface-internal': 1.3.4 + '@multiformats/multiaddr': 12.3.1 + it-first: 3.0.6 + it-pipe: 3.0.1 + uint8arrays: 5.1.0 + + '@libp2p/utils@5.4.9': + dependencies: + '@chainsafe/is-ip': 2.0.2 + '@libp2p/crypto': 4.1.9 + '@libp2p/interface': 1.7.0 + '@libp2p/logger': 4.0.20 + '@multiformats/multiaddr': 12.3.1 + '@multiformats/multiaddr-matcher': 1.5.1 + '@sindresorhus/fnv1a': 3.1.0 + '@types/murmurhash3js-revisited': 3.0.3 + any-signal: 4.1.1 + delay: 6.0.0 + get-iterator: 2.0.1 + is-loopback-addr: 2.0.2 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + murmurhash3js-revisited: 3.0.0 + netmask: 2.0.2 + p-defer: 4.0.1 + race-event: 1.3.0 + race-signal: 1.1.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + '@libp2p/websockets@8.2.0': + dependencies: + '@libp2p/interface': 1.7.0 + '@libp2p/utils': 5.4.9 + '@multiformats/mafmt': 12.1.6 + '@multiformats/multiaddr': 12.3.1 + '@multiformats/multiaddr-to-uri': 10.1.2 + '@types/ws': 8.5.13 + it-ws: 6.1.5 + p-defer: 4.0.1 + progress-events: 1.0.1 + race-signal: 1.1.0 + wherearewe: 2.0.1 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@multiformats/dns@1.0.6': + dependencies: + '@types/dns-packet': 5.6.5 + buffer: 6.0.3 + dns-packet: 5.6.1 + hashlru: 2.3.0 + p-queue: 8.0.1 + progress-events: 1.0.1 + uint8arrays: 5.1.0 + + '@multiformats/mafmt@12.1.6': + dependencies: + '@multiformats/multiaddr': 12.3.1 + + '@multiformats/multiaddr-matcher@1.5.1': + dependencies: + '@chainsafe/is-ip': 2.0.2 + '@multiformats/multiaddr': 12.3.1 + multiformats: 13.3.1 + + '@multiformats/multiaddr-to-uri@10.1.2': + dependencies: + '@multiformats/multiaddr': 12.3.1 + + '@multiformats/multiaddr@12.3.1': + dependencies: + '@chainsafe/is-ip': 2.0.2 + '@chainsafe/netmask': 2.0.0 + '@multiformats/dns': 1.0.6 + multiformats: 13.3.1 + uint8-varint: 2.0.4 + uint8arrays: 5.1.0 + + '@noble/ciphers@0.4.1': {} + + '@noble/curves@1.6.0': + dependencies: + '@noble/hashes': 1.5.0 + + '@noble/hashes@1.5.0': {} + + '@noble/secp256k1@1.7.1': {} + + '@pixi/colord@2.9.6': {} + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true '@rollup/rollup-android-arm64@4.24.4': @@ -608,6 +2863,60 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.4': optional: true + '@sindresorhus/fnv1a@3.1.0': {} + + '@supabase/auth-js@2.65.1': + dependencies: + '@supabase/node-fetch': 2.6.15 + + '@supabase/functions-js@2.4.3': + dependencies: + '@supabase/node-fetch': 2.6.15 + + '@supabase/node-fetch@2.6.15': + dependencies: + whatwg-url: 5.0.0 + + '@supabase/postgrest-js@1.16.3': + dependencies: + '@supabase/node-fetch': 2.6.15 + + '@supabase/realtime-js@2.10.7': + dependencies: + '@supabase/node-fetch': 2.6.15 + '@types/phoenix': 1.6.5 + '@types/ws': 8.5.13 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@supabase/storage-js@2.7.1': + dependencies: + '@supabase/node-fetch': 2.6.15 + + '@supabase/supabase-js@2.46.1': + dependencies: + '@supabase/auth-js': 2.65.1 + '@supabase/functions-js': 2.4.3 + '@supabase/node-fetch': 2.6.15 + '@supabase/postgrest-js': 1.16.3 + '@supabase/realtime-js': 2.10.7 + '@supabase/storage-js': 2.7.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@thaunknown/simple-peer@10.0.11': + dependencies: + debug: 4.3.7 + err-code: 3.0.1 + streamx: 2.20.1 + uint8-util: 2.2.5 + webrtc-polyfill: 1.1.10 + transitivePeerDependencies: + - supports-color + '@tonaljs/abc-notation@4.9.0': dependencies: '@tonaljs/pitch-distance': 5.0.4 @@ -656,208 +2965,877 @@ snapshots: '@tonaljs/core@4.10.4': dependencies: - '@tonaljs/pitch': 5.0.1 - '@tonaljs/pitch-distance': 5.0.2 - '@tonaljs/pitch-interval': 5.0.2 - '@tonaljs/pitch-note': 5.0.3 + '@tonaljs/pitch': 5.0.1 + '@tonaljs/pitch-distance': 5.0.2 + '@tonaljs/pitch-interval': 5.0.2 + '@tonaljs/pitch-note': 5.0.3 + + '@tonaljs/duration-value@4.9.0': {} + + '@tonaljs/interval@4.8.2': + dependencies: + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-interval': 5.0.2 + + '@tonaljs/interval@5.1.0': + dependencies: + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-interval': 6.0.0 + + '@tonaljs/key@4.11.0': + dependencies: + '@tonaljs/note': 4.11.0 + '@tonaljs/pitch-note': 6.0.0 + '@tonaljs/roman-numeral': 4.9.0 + + '@tonaljs/midi@4.10.0': + dependencies: + '@tonaljs/pitch-note': 6.0.0 + + '@tonaljs/mode@4.9.0': + dependencies: + '@tonaljs/collection': 4.9.0 + '@tonaljs/interval': 5.1.0 + '@tonaljs/pcset': 4.10.0 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-note': 6.0.0 + '@tonaljs/scale-type': 4.9.0 + + '@tonaljs/note@4.11.0': + dependencies: + '@tonaljs/midi': 4.10.0 + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-interval': 6.0.0 + '@tonaljs/pitch-note': 6.0.0 + + '@tonaljs/pcset@4.10.0': + dependencies: + '@tonaljs/collection': 4.9.0 + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-interval': 6.0.0 + '@tonaljs/pitch-note': 6.0.0 + + '@tonaljs/pitch-distance@5.0.2': + dependencies: + '@tonaljs/pitch': 5.0.1 + '@tonaljs/pitch-interval': 5.0.2 + '@tonaljs/pitch-note': 5.0.3 + + '@tonaljs/pitch-distance@5.0.4': + dependencies: + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-interval': 6.0.0 + '@tonaljs/pitch-note': 6.0.0 + + '@tonaljs/pitch-interval@5.0.2': + dependencies: + '@tonaljs/pitch': 5.0.1 + + '@tonaljs/pitch-interval@6.0.0': + dependencies: + '@tonaljs/pitch': 5.0.2 + + '@tonaljs/pitch-note@5.0.3': + dependencies: + '@tonaljs/pitch': 5.0.1 + + '@tonaljs/pitch-note@6.0.0': + dependencies: + '@tonaljs/pitch': 5.0.2 + + '@tonaljs/pitch@5.0.1': {} + + '@tonaljs/pitch@5.0.2': {} + + '@tonaljs/progression@4.9.0': + dependencies: + '@tonaljs/chord': 6.1.0 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-interval': 6.0.0 + '@tonaljs/pitch-note': 6.0.0 + '@tonaljs/roman-numeral': 4.9.0 + + '@tonaljs/range@4.9.0': + dependencies: + '@tonaljs/collection': 4.9.0 + '@tonaljs/midi': 4.10.0 + + '@tonaljs/roman-numeral@4.9.0': + dependencies: + '@tonaljs/pitch': 5.0.2 + '@tonaljs/pitch-interval': 6.0.0 + '@tonaljs/pitch-note': 6.0.0 + + '@tonaljs/scale-type@4.9.0': + dependencies: + '@tonaljs/pcset': 4.10.0 + + '@tonaljs/scale@4.13.0': + dependencies: + '@tonaljs/chord-type': 5.1.0 + '@tonaljs/collection': 4.9.0 + '@tonaljs/note': 4.11.0 + '@tonaljs/pcset': 4.10.0 + '@tonaljs/pitch-distance': 5.0.4 + '@tonaljs/pitch-note': 6.0.0 + '@tonaljs/scale-type': 4.9.0 + + '@tonaljs/time-signature@4.9.0': {} + + '@tonaljs/tonal@4.10.0': + dependencies: + '@tonaljs/abc-notation': 4.9.0 + '@tonaljs/array': 4.8.3 + '@tonaljs/chord': 4.10.2 + '@tonaljs/chord-type': 4.8.2 + '@tonaljs/collection': 4.9.0 + '@tonaljs/core': 4.10.4 + '@tonaljs/duration-value': 4.9.0 + '@tonaljs/interval': 4.8.2 + '@tonaljs/key': 4.11.0 + '@tonaljs/midi': 4.10.0 + '@tonaljs/mode': 4.9.0 + '@tonaljs/note': 4.11.0 + '@tonaljs/pcset': 4.10.0 + '@tonaljs/progression': 4.9.0 + '@tonaljs/range': 4.9.0 + '@tonaljs/roman-numeral': 4.9.0 + '@tonaljs/scale': 4.13.0 + '@tonaljs/scale-type': 4.9.0 + '@tonaljs/time-signature': 4.9.0 + + '@types/css-font-loading-module@0.0.12': {} + + '@types/dns-packet@5.6.5': + dependencies: + '@types/node': 22.9.0 + + '@types/earcut@2.1.4': {} + + '@types/estree@1.0.6': {} + + '@types/gradient-parser@0.1.5': {} + + '@types/murmurhash3js-revisited@3.0.3': {} + + '@types/node@22.9.0': + dependencies: + undici-types: 6.19.8 + + '@types/phoenix@1.6.5': {} + + '@types/readable-stream@4.0.18': + dependencies: + '@types/node': 22.9.0 + safe-buffer: 5.1.2 + + '@types/ws@8.5.13': + dependencies: + '@types/node': 22.9.0 + + '@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4)': + dependencies: + '@libp2p/ping': 1.1.6 + '@noble/hashes': 1.5.0 + '@waku/enr': 0.0.21 + '@waku/interfaces': 0.0.22 + '@waku/message-hash': 0.1.17 + '@waku/proto': 0.0.6 + '@waku/utils': 0.0.15 + debug: 4.3.7 + it-all: 3.0.6 + it-length-prefixed: 9.1.0 + it-pipe: 3.0.1 + libp2p: 1.9.4 + p-event: 6.0.1 + uint8arraylist: 2.4.8 + uuid: 9.0.1 + optionalDependencies: + '@multiformats/multiaddr': 12.3.1 + transitivePeerDependencies: + - supports-color + + '@waku/discovery@0.0.3(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21)': + dependencies: + '@waku/core': 0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4) + '@waku/enr': 0.0.21 + '@waku/proto': 0.0.7 + '@waku/utils': 0.0.21 + debug: 4.3.7 + dns-query: 0.11.2 + hi-base32: 0.5.1 + uint8arrays: 5.1.0 + optionalDependencies: + '@libp2p/interface': 1.7.0 + '@waku/interfaces': 0.0.22 + transitivePeerDependencies: + - supports-color + + '@waku/enr@0.0.21': + dependencies: + '@ethersproject/rlp': 5.7.0 + '@libp2p/crypto': 4.1.9 + '@libp2p/peer-id': 4.2.4 + '@multiformats/multiaddr': 12.3.1 + '@noble/secp256k1': 1.7.1 + '@waku/utils': 0.0.15 + debug: 4.3.7 + js-sha3: 0.9.3 + transitivePeerDependencies: + - supports-color + + '@waku/interfaces@0.0.22': {} + + '@waku/interfaces@0.0.28': + dependencies: + '@waku/proto': 0.0.8 + + '@waku/message-hash@0.1.17': + dependencies: + '@noble/hashes': 1.5.0 + '@waku/utils': 0.0.21 + transitivePeerDependencies: + - supports-color + + '@waku/proto@0.0.6': + dependencies: + protons-runtime: 5.5.0 + + '@waku/proto@0.0.7': + dependencies: + protons-runtime: 5.5.0 + + '@waku/proto@0.0.8': + dependencies: + protons-runtime: 5.5.0 + + '@waku/relay@0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21)': + dependencies: + '@noble/hashes': 1.5.0 + '@waku/core': 0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4) + '@waku/proto': 0.0.7 + '@waku/utils': 0.0.21 + chai: 4.5.0 + debug: 4.3.7 + fast-check: 3.23.1 + optionalDependencies: + '@waku/interfaces': 0.0.22 + transitivePeerDependencies: + - supports-color + + '@waku/sdk@0.0.26(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/message-hash@0.1.17)(@waku/relay@0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21))(@waku/utils@0.0.21)': + dependencies: + '@chainsafe/libp2p-noise': 14.1.0 + '@libp2p/identify': 1.0.21 + '@libp2p/mplex': 10.1.5 + '@libp2p/ping': 1.1.6 + '@libp2p/websockets': 8.2.0 + '@noble/hashes': 1.5.0 + '@waku/core': 0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4) + '@waku/discovery': 0.0.3(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21) + '@waku/message-hash': 0.1.17 + '@waku/proto': 0.0.7 + '@waku/relay': 0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21) + '@waku/utils': 0.0.21 + libp2p: 1.9.4 + optionalDependencies: + '@waku/interfaces': 0.0.22 + transitivePeerDependencies: + - '@libp2p/interface' + - '@waku/enr' + - bufferutil + - supports-color + - utf-8-validate + + '@waku/utils@0.0.15': + dependencies: + '@noble/hashes': 1.5.0 + '@waku/interfaces': 0.0.22 + chai: 4.5.0 + debug: 4.3.7 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - supports-color + + '@waku/utils@0.0.21': + dependencies: + '@noble/hashes': 1.5.0 + '@waku/interfaces': 0.0.28 + chai: 4.5.0 + debug: 4.3.7 + uint8arrays: 5.1.0 + transitivePeerDependencies: + - supports-color + + '@webgpu/types@0.1.51': {} + + '@xmldom/xmldom@0.8.10': {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + any-signal@4.1.1: {} + + asn1js@3.0.5: + dependencies: + pvtsutils: 1.3.5 + pvutils: 1.1.3 + tslib: 2.8.1 + + assertion-error@1.1.0: {} + + bare-events@2.5.0: + optional: true + + base64-arraybuffer@1.0.2: {} + + base64-js@1.5.1: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bl@6.0.16: + dependencies: + '@types/readable-stream': 4.0.18 + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 4.5.2 + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes.js@0.0.2: {} + + chai@4.5.0: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.4 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.1.0 + + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + + chownr@1.1.4: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commist@3.2.0: {} + + concat-stream@2.0.0: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + crisp-game-lib@1.2.0: {} + + datastore-core@9.2.9: + dependencies: + '@libp2p/logger': 4.0.20 + err-code: 3.0.1 + interface-datastore: 8.3.1 + interface-store: 5.1.8 + it-drain: 3.0.7 + it-filter: 3.1.1 + it-map: 3.1.1 + it-merge: 3.0.5 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-sort: 3.0.6 + it-take: 3.0.6 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-eql@4.1.4: + dependencies: + type-detect: 4.1.0 + + deep-extend@0.6.0: {} + + delay@6.0.0: {} + + detect-libc@2.0.3: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dns-query@0.11.2: + dependencies: + '@leichtgewicht/base64-codec': 1.0.0 + '@leichtgewicht/dns-packet': 6.0.3 + '@leichtgewicht/dns-socket': 5.0.0 + '@leichtgewicht/ip-codec': 2.0.5 + utf8-codec: 1.0.0 + + earcut@2.2.4: {} + + emoji-regex@8.0.0: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + err-code@3.0.1: {} + + 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 + + escalade@3.2.0: {} + + event-iterator@2.0.0: {} + + event-target-shim@5.0.1: {} + + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + expand-template@2.0.3: {} + + fast-check@3.23.1: + dependencies: + pure-rand: 6.1.0 + + fast-fifo@1.3.2: {} + + fast-unique-numbers@8.0.13: + dependencies: + '@babel/runtime': 7.26.0 + tslib: 2.8.1 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + firebase@10.14.1: + dependencies: + '@firebase/analytics': 0.10.8(@firebase/app@0.10.13) + '@firebase/analytics-compat': 0.2.14(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/app': 0.10.13 + '@firebase/app-check': 0.8.8(@firebase/app@0.10.13) + '@firebase/app-check-compat': 0.3.15(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/app-compat': 0.2.43 + '@firebase/app-types': 0.9.2 + '@firebase/auth': 1.7.9(@firebase/app@0.10.13) + '@firebase/auth-compat': 0.5.14(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13) + '@firebase/data-connect': 0.1.0(@firebase/app@0.10.13) + '@firebase/database': 1.0.8 + '@firebase/database-compat': 1.0.8 + '@firebase/firestore': 4.7.3(@firebase/app@0.10.13) + '@firebase/firestore-compat': 0.3.38(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13) + '@firebase/functions': 0.11.8(@firebase/app@0.10.13) + '@firebase/functions-compat': 0.3.14(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/installations': 0.6.9(@firebase/app@0.10.13) + '@firebase/installations-compat': 0.2.9(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13) + '@firebase/messaging': 0.12.12(@firebase/app@0.10.13) + '@firebase/messaging-compat': 0.2.12(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/performance': 0.6.9(@firebase/app@0.10.13) + '@firebase/performance-compat': 0.2.9(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/remote-config': 0.4.9(@firebase/app@0.10.13) + '@firebase/remote-config-compat': 0.2.9(@firebase/app-compat@0.2.43)(@firebase/app@0.10.13) + '@firebase/storage': 0.13.2(@firebase/app@0.10.13) + '@firebase/storage-compat': 0.3.12(@firebase/app-compat@0.2.43)(@firebase/app-types@0.9.2)(@firebase/app@0.10.13) + '@firebase/util': 1.10.0 + '@firebase/vertexai-preview': 0.0.4(@firebase/app-types@0.9.2)(@firebase/app@0.10.13) + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + firebase@11.0.1: + dependencies: + '@firebase/analytics': 0.10.9(@firebase/app@0.10.15) + '@firebase/analytics-compat': 0.2.15(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/app': 0.10.15 + '@firebase/app-check': 0.8.9(@firebase/app@0.10.15) + '@firebase/app-check-compat': 0.3.16(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/app-compat': 0.2.45 + '@firebase/app-types': 0.9.2 + '@firebase/auth': 1.8.0(@firebase/app@0.10.15) + '@firebase/auth-compat': 0.5.15(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15) + '@firebase/data-connect': 0.1.1(@firebase/app@0.10.15) + '@firebase/database': 1.0.9 + '@firebase/database-compat': 2.0.0 + '@firebase/firestore': 4.7.4(@firebase/app@0.10.15) + '@firebase/firestore-compat': 0.3.39(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15) + '@firebase/functions': 0.11.9(@firebase/app@0.10.15) + '@firebase/functions-compat': 0.3.15(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/installations': 0.6.10(@firebase/app@0.10.15) + '@firebase/installations-compat': 0.2.10(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15) + '@firebase/messaging': 0.12.13(@firebase/app@0.10.15) + '@firebase/messaging-compat': 0.2.13(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/performance': 0.6.10(@firebase/app@0.10.15) + '@firebase/performance-compat': 0.2.10(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/remote-config': 0.4.10(@firebase/app@0.10.15) + '@firebase/remote-config-compat': 0.2.10(@firebase/app-compat@0.2.45)(@firebase/app@0.10.15) + '@firebase/storage': 0.13.3(@firebase/app@0.10.15) + '@firebase/storage-compat': 0.3.13(@firebase/app-compat@0.2.45)(@firebase/app-types@0.9.2)(@firebase/app@0.10.15) + '@firebase/util': 1.10.1 + '@firebase/vertexai': 1.0.0(@firebase/app-types@0.9.2)(@firebase/app@0.10.15) + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + fs-constants@1.0.0: {} + + fsevents@2.3.3: + optional: true + + get-caller-file@2.0.5: {} + + get-func-name@2.0.2: {} + + get-iterator@2.0.1: {} + + github-from-package@0.0.0: {} + + hashlru@2.3.0: {} + + help-me@5.0.0: {} + + hi-base32@0.5.1: {} + + http-parser-js@0.5.8: {} + + idb@7.1.1: {} + + ieee754@1.2.1: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + interface-datastore@8.3.1: + dependencies: + interface-store: 6.0.2 + uint8arrays: 5.1.0 + + interface-store@5.1.8: {} + + interface-store@6.0.2: {} + + is-electron@2.2.2: {} + + is-fullwidth-code-point@3.0.0: {} + + is-loopback-addr@2.0.2: {} + + is-plain-obj@2.1.0: {} + + ismobilejs@1.1.1: {} + + it-all@3.0.6: {} + + it-byte-stream@1.1.0: + dependencies: + it-queueless-pushable: 1.0.0 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 - '@tonaljs/duration-value@4.9.0': {} + it-drain@3.0.7: {} - '@tonaljs/interval@4.8.2': + it-filter@3.1.1: dependencies: - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-interval': 5.0.2 + it-peekable: 3.0.5 - '@tonaljs/interval@5.1.0': + it-first@3.0.6: {} + + it-length-prefixed-stream@1.2.0: dependencies: - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-interval': 6.0.0 + it-byte-stream: 1.1.0 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 - '@tonaljs/key@4.11.0': + it-length-prefixed@9.1.0: dependencies: - '@tonaljs/note': 4.11.0 - '@tonaljs/pitch-note': 6.0.0 - '@tonaljs/roman-numeral': 4.9.0 + it-reader: 6.0.4 + it-stream-types: 2.0.2 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 - '@tonaljs/midi@4.10.0': + it-map@3.1.1: dependencies: - '@tonaljs/pitch-note': 6.0.0 + it-peekable: 3.0.5 - '@tonaljs/mode@4.9.0': + it-merge@3.0.5: dependencies: - '@tonaljs/collection': 4.9.0 - '@tonaljs/interval': 5.1.0 - '@tonaljs/pcset': 4.10.0 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-note': 6.0.0 - '@tonaljs/scale-type': 4.9.0 + it-pushable: 3.2.3 - '@tonaljs/note@4.11.0': + it-pair@2.0.6: dependencies: - '@tonaljs/midi': 4.10.0 - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-interval': 6.0.0 - '@tonaljs/pitch-note': 6.0.0 + it-stream-types: 2.0.2 + p-defer: 4.0.1 - '@tonaljs/pcset@4.10.0': + it-parallel@3.0.8: dependencies: - '@tonaljs/collection': 4.9.0 - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-interval': 6.0.0 - '@tonaljs/pitch-note': 6.0.0 + p-defer: 4.0.1 - '@tonaljs/pitch-distance@5.0.2': + it-peekable@3.0.5: {} + + it-pipe@3.0.1: dependencies: - '@tonaljs/pitch': 5.0.1 - '@tonaljs/pitch-interval': 5.0.2 - '@tonaljs/pitch-note': 5.0.3 + it-merge: 3.0.5 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 - '@tonaljs/pitch-distance@5.0.4': + it-protobuf-stream@1.1.5: dependencies: - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-interval': 6.0.0 - '@tonaljs/pitch-note': 6.0.0 + it-length-prefixed-stream: 1.2.0 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 - '@tonaljs/pitch-interval@5.0.2': + it-pushable@3.2.3: dependencies: - '@tonaljs/pitch': 5.0.1 + p-defer: 4.0.1 - '@tonaljs/pitch-interval@6.0.0': + it-queueless-pushable@1.0.0: dependencies: - '@tonaljs/pitch': 5.0.2 + p-defer: 4.0.1 + race-signal: 1.1.0 - '@tonaljs/pitch-note@5.0.3': + it-reader@6.0.4: dependencies: - '@tonaljs/pitch': 5.0.1 + it-stream-types: 2.0.2 + uint8arraylist: 2.4.8 - '@tonaljs/pitch-note@6.0.0': + it-sort@3.0.6: dependencies: - '@tonaljs/pitch': 5.0.2 + it-all: 3.0.6 - '@tonaljs/pitch@5.0.1': {} + it-stream-types@2.0.2: {} - '@tonaljs/pitch@5.0.2': {} + it-take@3.0.6: {} - '@tonaljs/progression@4.9.0': + it-ws@6.1.5: dependencies: - '@tonaljs/chord': 6.1.0 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-interval': 6.0.0 - '@tonaljs/pitch-note': 6.0.0 - '@tonaljs/roman-numeral': 4.9.0 + '@types/ws': 8.5.13 + event-iterator: 2.0.0 + it-stream-types: 2.0.2 + uint8arrays: 5.1.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@tonaljs/range@4.9.0': - dependencies: - '@tonaljs/collection': 4.9.0 - '@tonaljs/midi': 4.10.0 + js-sdsl@4.3.0: {} - '@tonaljs/roman-numeral@4.9.0': + js-sha3@0.9.3: {} + + libp2p@1.9.4: dependencies: - '@tonaljs/pitch': 5.0.2 - '@tonaljs/pitch-interval': 6.0.0 - '@tonaljs/pitch-note': 6.0.0 + '@libp2p/crypto': 4.1.9 + '@libp2p/interface': 1.7.0 + '@libp2p/interface-internal': 1.3.4 + '@libp2p/logger': 4.0.20 + '@libp2p/multistream-select': 5.1.17 + '@libp2p/peer-collections': 5.2.9 + '@libp2p/peer-id': 4.2.4 + '@libp2p/peer-id-factory': 4.2.4 + '@libp2p/peer-store': 10.1.5 + '@libp2p/utils': 5.4.9 + '@multiformats/dns': 1.0.6 + '@multiformats/multiaddr': 12.3.1 + '@multiformats/multiaddr-matcher': 1.5.1 + any-signal: 4.1.1 + datastore-core: 9.2.9 + interface-datastore: 8.3.1 + it-byte-stream: 1.1.0 + it-merge: 3.0.5 + it-parallel: 3.0.8 + merge-options: 3.0.4 + multiformats: 13.3.1 + p-defer: 4.0.1 + progress-events: 1.0.1 + race-event: 1.3.0 + race-signal: 1.1.0 + uint8arrays: 5.1.0 + + lodash.camelcase@4.3.0: {} + + long@5.2.3: {} + + loupe@2.3.7: + dependencies: + get-func-name: 2.0.2 - '@tonaljs/scale-type@4.9.0': + lru-cache@10.4.3: {} + + merge-options@3.0.4: dependencies: - '@tonaljs/pcset': 4.10.0 + is-plain-obj: 2.1.0 - '@tonaljs/scale@4.13.0': + mimic-response@3.1.0: {} + + minimist@1.2.8: {} + + mkdirp-classic@0.5.3: {} + + mml-iterator@1.1.0: {} + + mortice@3.0.6: dependencies: - '@tonaljs/chord-type': 5.1.0 - '@tonaljs/collection': 4.9.0 - '@tonaljs/note': 4.11.0 - '@tonaljs/pcset': 4.10.0 - '@tonaljs/pitch-distance': 5.0.4 - '@tonaljs/pitch-note': 6.0.0 - '@tonaljs/scale-type': 4.9.0 + observable-webworkers: 2.0.1 + p-queue: 8.0.1 + p-timeout: 6.1.3 - '@tonaljs/time-signature@4.9.0': {} + mqtt-packet@9.0.0: + dependencies: + bl: 6.0.16 + debug: 4.3.7 + process-nextick-args: 2.0.1 + transitivePeerDependencies: + - supports-color - '@tonaljs/tonal@4.10.0': + mqtt@5.10.1: dependencies: - '@tonaljs/abc-notation': 4.9.0 - '@tonaljs/array': 4.8.3 - '@tonaljs/chord': 4.10.2 - '@tonaljs/chord-type': 4.8.2 - '@tonaljs/collection': 4.9.0 - '@tonaljs/core': 4.10.4 - '@tonaljs/duration-value': 4.9.0 - '@tonaljs/interval': 4.8.2 - '@tonaljs/key': 4.11.0 - '@tonaljs/midi': 4.10.0 - '@tonaljs/mode': 4.9.0 - '@tonaljs/note': 4.11.0 - '@tonaljs/pcset': 4.10.0 - '@tonaljs/progression': 4.9.0 - '@tonaljs/range': 4.9.0 - '@tonaljs/roman-numeral': 4.9.0 - '@tonaljs/scale': 4.13.0 - '@tonaljs/scale-type': 4.9.0 - '@tonaljs/time-signature': 4.9.0 + '@types/readable-stream': 4.0.18 + '@types/ws': 8.5.13 + commist: 3.2.0 + concat-stream: 2.0.0 + debug: 4.3.7 + help-me: 5.0.0 + lru-cache: 10.4.3 + minimist: 1.2.8 + mqtt-packet: 9.0.0 + number-allocator: 1.0.14 + readable-stream: 4.5.2 + reinterval: 1.1.0 + rfdc: 1.4.1 + split2: 4.2.0 + worker-timers: 7.1.8 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + ms@2.1.3: {} + + ms@3.0.0-canary.1: {} + + multiformats@13.3.1: {} + + murmurhash3js-revisited@3.0.0: {} - '@types/css-font-loading-module@0.0.12': {} + nanoid@3.3.7: {} - '@types/earcut@2.1.4': {} + napi-build-utils@1.0.2: {} - '@types/estree@1.0.6': {} + netmask@2.0.2: {} - '@types/gradient-parser@0.1.5': {} + node-abi@3.71.0: + dependencies: + semver: 7.6.3 - '@types/node@22.9.0': + node-datachannel@0.12.0: dependencies: - undici-types: 6.19.8 + node-domexception: 2.0.1 + prebuild-install: 7.1.2 - '@webgpu/types@0.1.51': {} + node-domexception@1.0.0: {} - '@xmldom/xmldom@0.8.10': {} + node-domexception@2.0.1: {} - crisp-game-lib@1.2.0: {} + node-forge@1.3.1: {} - earcut@2.2.4: {} + number-allocator@1.0.14: + dependencies: + debug: 4.3.7 + js-sdsl: 4.3.0 + transitivePeerDependencies: + - supports-color - 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 + observable-webworkers@2.0.1: {} - eventemitter3@5.0.1: {} + once@1.4.0: + dependencies: + wrappy: 1.0.2 - fsevents@2.3.3: - optional: true + p-defer@4.0.1: {} - ismobilejs@1.1.1: {} + p-event@6.0.1: + dependencies: + p-timeout: 6.1.3 - mml-iterator@1.1.0: {} + p-queue@8.0.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.3 - nanoid@3.3.7: {} + p-timeout@6.1.3: {} parse-svg-path@0.1.2: {} + pathval@1.1.1: {} + picocolors@1.1.1: {} pixi-filters@6.0.5(pixi.js@8.5.2): @@ -883,6 +3861,96 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + prebuild-install@7.1.2: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.71.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + progress-events@1.0.1: {} + + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.9.0 + long: 5.2.3 + + protons-runtime@5.5.0: + dependencies: + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + pure-rand@6.1.0: {} + + pvtsutils@1.3.5: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.3: {} + + queue-tick@1.0.1: {} + + race-event@1.3.0: {} + + race-signal@1.1.0: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readable-stream@4.5.2: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + regenerator-runtime@0.14.1: {} + + reinterval@1.1.0: {} + + require-directory@2.1.1: {} + + rfdc@1.4.1: {} + rollup@4.24.4: dependencies: '@types/estree': 1.0.6 @@ -907,6 +3975,20 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.24.4 fsevents: 2.3.3 + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + semver@7.6.3: {} + + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + sounds-some-sounds@3.1.0: dependencies: '@tonaljs/tonal': 4.10.0 @@ -914,10 +3996,123 @@ snapshots: source-map-js@1.2.1: {} + split2@4.2.0: {} + + streamx@2.20.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.2.1 + optionalDependencies: + bare-events: 2.5.0 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-json-comments@2.0.1: {} + + supports-color@9.4.0: {} + + tar-fs@2.1.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + text-decoder@1.2.1: {} + + tr46@0.0.3: {} + + trystero@0.20.0(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/message-hash@0.1.17)(@waku/proto@0.0.7)(@waku/relay@0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21))(@waku/utils@0.0.21): + dependencies: + '@noble/curves': 1.6.0 + '@supabase/supabase-js': 2.46.1 + '@thaunknown/simple-peer': 10.0.11 + '@waku/discovery': 0.0.3(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21) + '@waku/sdk': 0.0.26(@libp2p/interface@1.7.0)(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/enr@0.0.21)(@waku/interfaces@0.0.22)(@waku/message-hash@0.1.17)(@waku/relay@0.0.11(@waku/core@0.0.27(@multiformats/multiaddr@12.3.1)(libp2p@1.9.4))(@waku/interfaces@0.0.22)(@waku/proto@0.0.7)(@waku/utils@0.0.21))(@waku/utils@0.0.21) + firebase: 10.14.1 + libp2p: 1.9.4 + mqtt: 5.10.1 + transitivePeerDependencies: + - '@libp2p/bootstrap' + - '@libp2p/interface' + - '@react-native-async-storage/async-storage' + - '@waku/core' + - '@waku/enr' + - '@waku/interfaces' + - '@waku/message-hash' + - '@waku/proto' + - '@waku/relay' + - '@waku/utils' + - bufferutil + - supports-color + - utf-8-validate + + tslib@2.8.1: {} + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + type-detect@4.1.0: {} + + typedarray@0.0.6: {} + typescript@5.6.3: {} + uint8-util@2.2.5: + dependencies: + base64-arraybuffer: 1.0.2 + + uint8-varint@2.0.4: + dependencies: + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + + uint8arraylist@2.4.8: + dependencies: + uint8arrays: 5.1.0 + + uint8arrays@5.1.0: + dependencies: + multiformats: 13.3.1 + undici-types@6.19.8: {} + undici@6.19.7: {} + + utf8-bytes@0.0.1: {} + + utf8-codec@1.0.0: {} + + utf8-length@0.0.1: {} + + utf8-string-bytes@1.0.3: {} + + util-deprecate@1.0.2: {} + + uuid@9.0.1: {} + vite@5.4.10(@types/node@22.9.0): dependencies: esbuild: 0.21.5 @@ -926,3 +4121,75 @@ snapshots: optionalDependencies: '@types/node': 22.9.0 fsevents: 2.3.3 + + weald@1.0.4: + dependencies: + ms: 3.0.0-canary.1 + supports-color: 9.4.0 + + webidl-conversions@3.0.1: {} + + webrtc-polyfill@1.1.10: + dependencies: + node-datachannel: 0.12.0 + node-domexception: 1.0.0 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + wherearewe@2.0.1: + dependencies: + is-electron: 2.2.2 + + worker-timers-broker@6.1.8: + dependencies: + '@babel/runtime': 7.26.0 + fast-unique-numbers: 8.0.13 + tslib: 2.8.1 + worker-timers-worker: 7.0.71 + + worker-timers-worker@7.0.71: + dependencies: + '@babel/runtime': 7.26.0 + tslib: 2.8.1 + + worker-timers@7.1.8: + dependencies: + '@babel/runtime': 7.26.0 + tslib: 2.8.1 + worker-timers-broker: 6.1.8 + worker-timers-worker: 7.0.71 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + ws@8.18.0: {} + + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 diff --git a/src/main.ts b/src/main.ts index f93bd53..b735d76 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,11 +1,23 @@ // setup code, you can skip this import * as sss from 'sounds-some-sounds'; -(window as any).sss = sss; import 'pixi.js'; import 'pixi-filters'; import 'crisp-game-lib'; +import { + base30DigitToPassLetter, + GolfRoom, + hostMpRoom, joinMpRoom, + NameAndPass, numColors, numShapes, + PassLetter, + passLetterToBase30Digit, + Shape, + ShapeColor +} from "./multiplayer.ts"; +import {i} from "vite/dist/node/types.d-aGj9QkWt"; + +(window as any).sss = sss; -type State = "title" | "inGame" | "goToNextHole" | "giveUp" | "holeOut"; +type State = "title" | "inGame" | "goToNextHole" | "giveUp" | "holeOut" | "multiLobby" | "passwordEntry"; type Ground = { type: string; height?: number; }; type Platform = { pos: Vector; grounds: Ground[]; }; type Ball = { @@ -27,8 +39,77 @@ llll llll ll `, + ` + ll + llll +llllll +llllll + llll + ll +`, + ` +l l + l l + ll + ll + l l +l l +`, + ` + ll + ll + llll + llll +llllll +llllll +`, + ` +llllll +l l +l ll l +l ll l +l l +llllll +`, + ` + ll + ll +llllll + llll +ll ll +l l +`, + ` + rrrr + r rr +r rrr +r rr r + rr r + rrrr +`, + ` + G + g GG + ggGGG +gggGG + ggG + g +` ]; +const replacements: Color[] = ["red", "yellow", "green", "cyan", "blue", "purple"] + +function plToCharacter(pl: PassLetter): string { + return String.fromCharCode("b".charCodeAt(0) + pl.shape) +} + +const backspaceCharacter = "g" +const enterCharacter = "h" + +function plToColor(pl: PassLetter): Color { + return replacements[pl.color] +} + const options = { viewSize: { x: 150, y: 100 }, isShowingScore: false, @@ -53,6 +134,10 @@ function update() { } if (state === "title") { updateTitle(); + } else if (state === "multiLobby") { + updateMultiLobby(); + } else if (state === "passwordEntry") { + updatePasswordEntry(); } else if (state === "inGame") { updateInGame(); } else if (state === "goToNextHole") { @@ -68,6 +153,12 @@ let easyButton: Button; let mediumButton: Button; let hardButton: Button; +let hostButton: Button; +let joinButton: Button; + +let isHost: boolean = false; +let room: GolfRoom = undefined!; + function initTitle() { state = "title"; easyButton = getButton({ @@ -91,6 +182,26 @@ function initTitle() { isToggle: false, onClick: () => initInGame(2), }); + hostButton = getButton({ + text: "Host", + pos: { x: 15, y: 90 }, + size: { x: 50, y: 7 }, + isToggle: false, + onClick: () => { + isHost = true + room = hostMpRoom("red") + state = "multiLobby" + } + }); + joinButton = getButton({ + text: "Join", + pos: { x: 80, y: 90 }, + size: { x: 50, y: 7 }, + isToggle: false, + onClick: () => { + state = "passwordEntry" + } + }) initBall(); createHole(103); } @@ -105,7 +216,114 @@ function updateTitle() { text("6 holes", 75, 58); updateButton(hardButton); text("9 holes", 75, 68); + text("Click button to start", 20, 79); + + updateButton(hostButton); + updateButton(joinButton); +} + +function drawPassLetter(x: number, y: number, passLetter: PassLetter) { + const charIdx = plToCharacter(passLetter) + char(charIdx, x, y, { color: plToColor(passLetter) }) +} + +function drawPassLetters(x: number, y: number, passLetters: PassLetter[]) { + let tx = x; + passLetters.forEach(pl => { + drawPassLetter(tx, y, pl) + tx += 8 + }) +} + +function drawPassword(x: number, y: number, password: NameAndPass) { + drawPassLetters(x, y, password.name) + drawPassLetters(x, y + 8, password.pass) +} + +function updateMultiLobby() { + drawPassword(8, 8, room!.nameAndPass) + + text("You:", 8, 40) + char("a", 32, 40, { color: room.getColor() }) + + const playerIds = room.getPlayerIds(); + + const otherPlayerIds = playerIds.slice(1) + text("Opponents: " + otherPlayerIds.length, 75, 4) + for(let i = 0; i < otherPlayerIds.length; i++) { + const playerId = otherPlayerIds[i]; + const x = 78 + ((i % 6) * 10); + const y = 16 + (((i / 6) | 0) * 10); + + const playerColor = room.getPlayerColors()[playerId] || "light_black"; + + char("a", x, y, { color: playerColor }); + } +} + +let currentSymbols: PassLetter[] = [] + +function updatePasswordEntry() { + const gridWidth = (8 * (numColors - 1)) + 6; + const startX = ((options.viewSize.x - gridWidth) / 2) | 0; + const startY = 62; + + text("Password: ", 40, 10); + + for(let shape = 0; shape < numShapes; shape++) { + for(let color = 0; color < numColors; color++) { + const pl: PassLetter = { shape, color } + + const x = startX + (color * 8); + const y = startY + (shape * 8); + + char(plToCharacter(pl), x, y, { color: plToColor(pl) }) + + if(input.isJustPressed && input.pos.x >= (x - 3) && input.pos.y >= (y - 3) && + input.pos.x < (x + 3) && input.pos.y < (y + 3)) { + if(currentSymbols.length < 12) + currentSymbols.push(pl) + } + } + } + + for(let i = 0; i < currentSymbols.length; i++) { + const pl = currentSymbols[i] + + const row = (i / 6) | 0; + const column = i % 6; + + const x = startX + (8 * column) + const y = 20 + (8 * row) + + char(plToCharacter(pl), x, y, { color: plToColor(pl) }) + } + + if(currentSymbols.length > 0) { + char(backspaceCharacter, 60, 48) + if (input.isJustPressed && input.pos.x >= 57 && input.pos.y >= 45 && + input.pos.x < 63 && input.pos.y < 51) { + currentSymbols.length--; + } + } + + if(currentSymbols.length == 12) { + char(enterCharacter, 80, 48) + if (input.isJustPressed && input.pos.x >= 77 && input.pos.y >= 45 && + input.pos.x < 83 && input.pos.y < 51) { + isHost = false + joinMpRoom({ + // @ts-ignore + name: currentSymbols.slice(0, 6), + // @ts-ignore + pass: currentSymbols.slice(6, 12) + }, "green").then(r => { + room = r + state = "multiLobby" + }) + } + } } const bgmSeeds = [1013, 1023, 1024]; diff --git a/src/multiplayer.ts b/src/multiplayer.ts new file mode 100644 index 0000000..00eb31e --- /dev/null +++ b/src/multiplayer.ts @@ -0,0 +1,290 @@ +import {FirebaseOptions, initializeApp } from 'firebase/app'; +import {joinRoom, selfId} from 'trystero/firebase'; + +export enum Shape { + CIRCLE, + CROSS, + TRIANGLE, + SQUARE, + STAR +} + +export const numShapes = Object.keys(Shape).length >> 1; + +export enum ShapeColor { + RED, + YELLOW, + GREEN, + BLUE, + CYAN, + PURPLE +} + +export const numColors = Object.keys(ShapeColor).length >> 1; + +export type PassLetter = { shape: Shape; color: ShapeColor }; + +export type NameAndPass = { + name: [PassLetter, PassLetter, PassLetter, PassLetter, PassLetter, PassLetter], + pass: [PassLetter, PassLetter, PassLetter, PassLetter, PassLetter, PassLetter] +} + +const charBuf = + "upyk3jm4vl0csrd26ftqgoah7izb5x" + +const passLetterToString = (l: PassLetter) => { + const indexOfShape: number = l.shape + const indexOfColor: number = l.color + + const indexIntoBuf = (indexOfShape * numShapes) + indexOfColor; + + return charBuf.charAt(indexIntoBuf); +} + +const passToString = (l: PassLetter[]) => { + return l.map(passLetterToString).join("") +} + +export const base30DigitToPassLetter = (digit: number): PassLetter => { + const indexOfShape = digit % numShapes; + const indexOfColor = (digit / numShapes) | 0; + + return { + shape: indexOfShape, + color: indexOfColor + } +} + +export const passLetterToBase30Digit = (pl: PassLetter): number => { + const indexOfShape: number = pl.shape + const indexOfColor: number = pl.color + + const indexIntoBuf = (indexOfShape * numShapes) + indexOfColor; + + return indexIntoBuf; +} + +const generateNameAndPass = (): NameAndPass => { + // (shape = 5 * shapecolor = 6) ^ (name = 6 + pass = 6) + // = 531441000000000000 + // = 2^(58.8...) + // = 64 bits is fine + + const sixFourBits = new BigUint64Array(1); + crypto.getRandomValues(sixFourBits) + + const bigNum = sixFourBits[0] + // not exactly uniform but this is fine + const combo = bigNum % (30n ** 12n) + + const digits = [] + for(let i = 11; i >= 0; i--) { + const powerOf30 = 30n ** BigInt(i) + const bigDigit = (combo / powerOf30) % 30n + + digits.push(Number(bigDigit)) + } + + return { + // @ts-ignore + name: digits.slice(0, 6).map(base30DigitToPassLetter), + // @ts-ignore + pass: digits.slice(6, 12).map(base30DigitToPassLetter) + } +} + +export interface GolfRoom { + nameAndPass: NameAndPass; + + getPlayerIds(): string[]; + // the Owner is the main source of trust, even though this is fully p2p + // we want to minimize the amount of talking ideally + getOwnerId(): string; + + getColor(): Color; + setColor(color: Color): Promise; + getPlayerColors(): Record; + + getReady(): boolean; + setReady(ready: boolean): Promise; + getPlayerReadys(): string[]; + + // setStartGame(): Promise; + // + // setTurnBegin(pos: Vector): Promise; + // setTurnLaunched(pos: Vector, vel: Vector): Promise; + // setTurnEnd(pos: Vector): Promise; +} + +const firebaseConfig: FirebaseOptions = { + apiKey: "AIzaSyBLbgQQGlxZ49kQUthK9dvmAd44VhFFQoA", + authDomain: "cmpm176-project2-multiplayer.firebaseapp.com", + projectId: "cmpm176-project2-multiplayer", + storageBucket: "cmpm176-project2-multiplayer.firebasestorage.app", + messagingSenderId: "742533561040", + appId: "1:742533561040:web:64476833c7a802b6217cd5", + measurementId: "G-BBRW5G0PY1", + databaseURL: "https://cmpm176-project2-multiplayer-default-rtdb.firebaseio.com/", +}; +const app = initializeApp(firebaseConfig); + +type HostInfoPayload = { + existingColors: Record, + existingReadies: Record +} + +export const hostMpRoom = (ownColor: Color): GolfRoom => { + const nameAndPass = generateNameAndPass() + + const room = joinRoom({ + appId: "https://cmpm176-project2-multiplayer-default-rtdb.firebaseio.com/", + firebaseApp: app, + password: passToString(nameAndPass.pass) + }, passToString(nameAndPass.name)) + + const [setColorAct, getColorAct] = room.makeAction("playerColor") + const playerColors: Record = { + [selfId]: ownColor + } + getColorAct((name, peer) => playerColors[peer] = name) + + const [setReadyAct, getReadyAct] = room.makeAction("ready") + const readies: Record = { + [selfId]: false + } + getReadyAct((ready, peer) => readies[peer] = ready) + + const [setHostInfo] = room.makeAction("hostInfo") + + const [setReqCurState, getRequestCurrentStateAct] = room.makeAction("reqCurrState") + getRequestCurrentStateAct((_, peerId) => { + setHostInfo({ + existingColors: playerColors, + existingReadies: readies, + }, [peerId]) + }) + + room.onPeerJoin(pid => setReqCurState(null, pid)) + + return { + nameAndPass: nameAndPass, + + getPlayerIds(): string[] { + return [selfId, ...Object.keys(room.getPeers())] + }, + + getOwnerId(): string { + return selfId + }, + + getColor(): Color { + return playerColors[selfId] + }, + + async setColor(name: Color) { + playerColors[selfId] = name + await setColorAct(name) + }, + + getPlayerColors(): Record { + return playerColors + }, + + getReady(): boolean { + return readies[selfId] + }, + + async setReady(ready: boolean): Promise { + readies[selfId] = ready + await setReadyAct(ready) + }, + + getPlayerReadys(): string[] { + return Object.entries(readies).flatMap(([peerId, ready]) => ready ? [peerId] : []) + } + } +} + +export const joinMpRoom = async (nap: NameAndPass, ownColor: Color): Promise => { + // TODO failure behavior + const room = joinRoom({ + appId: "https://cmpm176-project2-multiplayer-default-rtdb.firebaseio.com/", + firebaseApp: app, + password: passToString(nap.pass) + }, passToString(nap.name)) + + let hostId: string = null!; + + const [setColorAct, getColorAct] = room.makeAction("playerColor") + const playerColors: Record = { + [selfId]: ownColor + } + getColorAct((name, peer) => playerColors[peer] = name) + + const [setReadyAct, getReadyAct] = room.makeAction("ready") + const readies: Record = { + [selfId]: false + } + getReadyAct((ready, peer) => readies[peer] = ready) + + const [_, getHostInfo] = room.makeAction("hostInfo") + getHostInfo((info, host) => { + hostId = host + for(let id in room.getPeers()) { + if(id in info.existingColors) { + playerColors[id] = info.existingColors[id] + } + if(id in info.existingReadies) { + readies[id] = info.existingReadies[id] + } + } + }) + + const [setReqCurState, getReqCurState] = room.makeAction("reqCurrState") + getReqCurState((_, peerId) => { + setColorAct(playerColors[selfId], [peerId]) + setReadyAct(readies[selfId], [peerId]) + }) + + room.onPeerJoin(pid => setReqCurState(null, pid)) + + await setReqCurState(null) + + return { + nameAndPass: nap, + + getPlayerIds(): string[] { + return [selfId, ...Object.keys(room.getPeers())] + }, + + getOwnerId(): string { + return hostId + }, + + getColor(): Color { + return playerColors[selfId] + }, + + async setColor(c: Color) { + playerColors[selfId] = c + await setColorAct(c) + }, + + getPlayerColors(): Record { + return playerColors + }, + + getReady(): boolean { + return readies[selfId] + }, + + async setReady(ready: boolean): Promise { + readies[selfId] = ready + await setReadyAct(ready) + }, + + getPlayerReadys(): string[] { + return Object.entries(readies).flatMap(([peerId, ready]) => ready ? [peerId] : []) + } + } +}