diff --git a/app/tests/firestore/web_client/page.tsx b/app/tests/firestore/web_client/page.tsx index cf16fa3..bee0fc3 100644 --- a/app/tests/firestore/web_client/page.tsx +++ b/app/tests/firestore/web_client/page.tsx @@ -16,16 +16,21 @@ */ import type { Metadata } from 'next' import CSRTestRunner from '@/components/app_tests/firestore/csr_test_runner'; +import { + buildSerializedFirestoreData, + SerializedFirestoreData +} from '@/lib/app_tests/firestore/test'; export const metadata: Metadata = { title: 'Firestore Web SDK CSR test' } -export default function Page() { +export default async function Page() { + const serializedFirestoreData : SerializedFirestoreData = await buildSerializedFirestoreData(); return ( <>

Firestore CSR Test results:

- + ); } diff --git a/app/tests/firestore/web_ssr/page.tsx b/app/tests/firestore/web_ssr/page.tsx index 06b27f3..63ceba9 100644 --- a/app/tests/firestore/web_ssr/page.tsx +++ b/app/tests/firestore/web_ssr/page.tsx @@ -26,7 +26,7 @@ export const metadata: Metadata = { } export default async function Page() { - const testResults: TestResults = await testFirestore(); + const testResults: TestResults = await testFirestore(/* isServer= */ true); return ( <>

Firestore SSR Test results:

diff --git a/package.json b/package.json index 1021633..3ae81b5 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "test": "playwright test" }, "dependencies": { - "firebase": "canary", + "firebase": "next", "next": "latest", "react": "latest", "react-dom": "latest" diff --git a/src/components/app_tests/firestore/csr_test_runner.tsx b/src/components/app_tests/firestore/csr_test_runner.tsx index 40ad5bf..f4a72d3 100644 --- a/src/components/app_tests/firestore/csr_test_runner.tsx +++ b/src/components/app_tests/firestore/csr_test_runner.tsx @@ -17,22 +17,27 @@ 'use client' import { useState, useEffect } from 'react' -import { testFirestore, initializeTestResults } from '@/lib/app_tests/firestore/test'; +import { + initializeTestResults, + testSerializedFirestoreData, + testFirestore } from '@/lib/app_tests/firestore/test'; import ResultsDisplay from './results_display'; -export default function CsrTestRunner() { +export default function CsrTestRunner(props) { const [testStatus, setTestStatus] = useState("running..."); const [testResults, setTestResults] = useState(initializeTestResults()); useEffect(() => { const asyncTest = async () => { - setTestResults(await testFirestore()); + let testResults = await testFirestore(/* isServer= */ false); + testResults = await testSerializedFirestoreData(testResults, props.serializedFirestoreData); + setTestResults(testResults); setTestStatus("Complete!"); } asyncTest().catch((e) => { console.error("Error encountered during testing: ", e); setTestStatus("Errored!"); }); - }, []); + }, [props.serializedFirestoreData]); return ( diff --git a/src/components/app_tests/firestore/results_display.tsx b/src/components/app_tests/firestore/results_display.tsx index b10c9b0..2b7f592 100644 --- a/src/components/app_tests/firestore/results_display.tsx +++ b/src/components/app_tests/firestore/results_display.tsx @@ -27,10 +27,28 @@ export default function ResultsDisplay({ statusString, testResults }) {

updateDocResult: {testResults.updateDocResult}

onSnapshotUpdateDocResult: {testResults.onSnapshotUpdateDocResult}

getDocResult: {testResults.getDocResult}

+

querySnapshotGetDocsResult: {testResults.querySnapshotGetDocsResult}

+

documentSnapshotBundleResult: {testResults.documentSnapshotBundleResult}

+

reconstitutedDocDataResult: {testResults.reconstitutedDocDataResult}

+

documentSnapshotOnSnapshotResumeResult: {testResults.documentSnapshotOnSnapshotResumeResult}

+

querySnapshotOnSnapshotResumeResult: {testResults.querySnapshotOnSnapshotResumeResult}

+

querySnapshotBundleResult: {testResults.querySnapshotBundleResult}

+

reconstitutedQueryDataResult: {testResults.reconstitutedQueryDataResult}

deleteDocResult: {testResults.deleteDocResult}

onSnapshotDeleteDocResult: {testResults.onSnapshotDeleteDocResult}

getDeletedDocResult: {testResults.getDeletedDocResult}

deleteAppResult: {testResults.deleteAppResult}

+ +

CSR-side deserialization tests

+

csrDocumentSnapshotResult: {testResults.csrDocumentSnapshotResult}

+

csrDocumentSnapshotOnResumeResult: {testResults.csrDocumentSnapshotOnResumeResult}

+

csrQuerySnapshotResult: {testResults.csrQuerySnapshotResult}

+

csrQuerySnapshotOnResumeResult: {testResults.csrQuerySnapshotOnResumeResult}

+

csrDeserializedBytesResult: {testResults.csrDeserializedBytesResult}

+

csrDeserializedGeoPointResult: {testResults.csrDeserializedGeoPointResult}

+

csrDeserializedTimestampResult: {testResults.csrDeserializedTimestampResult}

+

csrDeserializedVectorValueResult: {testResults.csrDeserializedVectorValueResult}

+

Back to test index diff --git a/src/lib/app_tests/firestore/test.ts b/src/lib/app_tests/firestore/test.ts index 1717a70..53a9314 100644 --- a/src/lib/app_tests/firestore/test.ts +++ b/src/lib/app_tests/firestore/test.ts @@ -16,11 +16,50 @@ */ import { deleteApp, initializeApp } from 'firebase/app'; -import { doc, deleteDoc, getDoc, getFirestore, onSnapshot, setDoc, updateDoc } from 'firebase/firestore'; +import { + Bytes, + collection, + DocumentSnapshot, + deleteDoc, + doc, + documentSnapshotFromJSON, + GeoPoint, + getDoc, + getDocs, + getFirestore, + onSnapshot, + onSnapshotResume, + QuerySnapshot, + query, + querySnapshotFromJSON, + setDoc, + Timestamp, + updateDoc, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + VectorValue, + vector +} from 'firebase/firestore'; import { firebaseConfig } from '@/lib/app_tests/firebase'; -import { OK, FAILED } from '@/lib/app_tests/util'; +import { OK, FAILED, OK_SKIPPED } from '@/lib/app_tests/util'; + +// Data used to create and validate Firestore data types for +// toJSON/fromJSON tests. +const BYTES_DATA : Uint8Array = new Uint8Array([0, 1, 2, 3, 4, 5]); +const GEOPOINT_LATITTUDE : number = 1; +const GEOPOINT_LONGITITUDE : number = 2; +const TIMESTAMP_SECONDS : number = 123; +const TIMESTAMP_NANOSECONDS : number= 456; +const VECTOR_NUM_ARRAY : number[]= [1, 2, 3]; + + +/** + * A structure that contains all of the results that playwright will ensure + * are set to OK. Note that TestResults needs to be a simple object (and + * not a class) so that it may be passed across the SSR / CSR divide + */ export type TestResults = { + // Tests that are done in both the SSR and CSR phase. initializeAppResult: string, initializeFirestoreResult: string, createDocInstanceResult: string, @@ -29,14 +68,37 @@ export type TestResults = { updateDocResult: string, onSnapshotUpdateDocResult: string, getDocResult: string, + querySnapshotGetDocsResult: string, + documentSnapshotBundleResult: string, + reconstitutedDocDataResult: string, + querySnapshotBundleResult: string, + reconstitutedQueryDataResult: string, + documentSnapshotOnSnapshotResumeResult: string, + querySnapshotOnSnapshotResumeResult: string, deleteDocResult: string, onSnapshotDeleteDocResult: string, getDeletedDocResult: string, - deleteAppResult: string + deleteAppResult: string, + + // Tests that are only specific to the deserialization of Firestore + // types within the CSR phase. + csrDocumentSnapshotResult: string, + csrDocumentSnapshotOnResumeResult: string, + csrQuerySnapshotResult: string + csrQuerySnapshotOnResumeResult: string, + csrDeserializedBytesResult: string, + csrDeserializedGeoPointResult: string, + csrDeserializedTimestampResult: string, + csrDeserializedVectorValueResult: string }; +/** + * Returns a {@link TestResults} initialized with a failure condition for + * all fields. + */ export function initializeTestResults(): TestResults { return { + // SSR & CSR tests. initializeAppResult: FAILED, initializeFirestoreResult: FAILED, createDocInstanceResult: FAILED, @@ -45,15 +107,248 @@ export function initializeTestResults(): TestResults { updateDocResult: FAILED, onSnapshotUpdateDocResult: FAILED, getDocResult: FAILED, + querySnapshotGetDocsResult: FAILED, + documentSnapshotBundleResult: FAILED, + reconstitutedDocDataResult: FAILED, + querySnapshotBundleResult: FAILED, + reconstitutedQueryDataResult: FAILED, + documentSnapshotOnSnapshotResumeResult: FAILED, + querySnapshotOnSnapshotResumeResult: FAILED, deleteDocResult: FAILED, onSnapshotDeleteDocResult: FAILED, getDeletedDocResult: FAILED, - deleteAppResult: FAILED + deleteAppResult: FAILED, + + // CSR only tests. + csrDocumentSnapshotResult: FAILED, + csrDocumentSnapshotOnResumeResult: FAILED, + csrQuerySnapshotResult: FAILED, + csrQuerySnapshotOnResumeResult: FAILED, + csrDeserializedBytesResult: FAILED, + csrDeserializedGeoPointResult: FAILED, + csrDeserializedTimestampResult: FAILED, + csrDeserializedVectorValueResult: FAILED }; } -export async function testFirestore(): Promise { +/** + * Used by the 'firestore/web_client/page.tsx' to pass serialized + * data from the SSR pahse to the CSR phase. + */ +export type SerializedFirestoreData = { + documentSnapshotJson: object | null, + querySnapshotJson: object | null, + bytesJson: object | null, + geoPointJson: object | null, + timestampJson: object | null, + vectorValueJson: object | null +} + +/** + * Util function that ensures the document in the Firestore service instance + * is of the same shape as this version of the tests expect. + */ +async function setExpectedSerializedDataInFirestore(firestore, path) { + const docRef = doc(firestore, path); + + await setDoc(docRef, { + aBoolean: true, + aName: "A name", + aNull: null, + anInteger: 1234 + }); +} + +/** + * Returns a populated {@link SerializedFirestoreData} with JSON serialized data. + * This data can be validated by invoking {@link testSerializedFirestoreData}. + * + * The intended flow is for the CSR tests to render a page with both SSR and CSR logic. + * The SSR logic builds out this serialized data which is then passed to the CSR + * phase via Next JS component parameters. The CSR component then invokes {@link + * testSerializedFirestoreData} to deserialized the data and test it to ensure it + * matches the expected values. + */ +export async function buildSerializedFirestoreData(): Promise { + const QUERY_PATH = '/nextJsTestStaticCollection_DoNotDelete'; + const DOCUMENT_PATH = QUERY_PATH + '/doc'; + const result: SerializedFirestoreData = { + documentSnapshotJson: null, + querySnapshotJson: null, + bytesJson: null, + geoPointJson: null, + timestampJson: null, + vectorValueJson: null + }; + + const firebaseApp = initializeApp(firebaseConfig); + const firestore = getFirestore(firebaseApp); + + await setExpectedSerializedDataInFirestore(firestore, DOCUMENT_PATH); + + const docRef = doc(firestore, DOCUMENT_PATH); + const docSnapshot = await getDoc(docRef); + if (docSnapshot !== null) { + result.documentSnapshotJson = docSnapshot.toJSON(); + } + + const queryRef = query(collection(firestore, QUERY_PATH)); + const querySnapshot = await getDocs(queryRef); + if (querySnapshot !== null) { + result.querySnapshotJson = querySnapshot.toJSON(); + } + + result.bytesJson = Bytes.fromUint8Array(BYTES_DATA).toJSON(); + result.geoPointJson = new GeoPoint(GEOPOINT_LATITTUDE, GEOPOINT_LONGITITUDE).toJSON(); + result.timestampJson = new Timestamp(TIMESTAMP_SECONDS, TIMESTAMP_NANOSECONDS).toJSON(); + result.vectorValueJson = vector(VECTOR_NUM_ARRAY).toJSON(); + + return result; +} + +/** + * Tests that the Firestore objects can be desieralized and that their values + * match the original values that they were serialized from. See + * {@link buildSerializedFirestoreData} for more information. + * + * @param testResults the state tests that may have already been executed. + * @param serializedFirestoreData an instance of the data that was JSON serialized + * in the SSR phase. + * @returns the TestResults object updated with the results of these tests. + */ +export async function testSerializedFirestoreData( + testResults: TestResults, + serializedFirestoreData: SerializedFirestoreData +): Promise { + const firebase = initializeApp(firebaseConfig); + const firestore = getFirestore(firebase); + + // DocumentSnapshotTests + if (serializedFirestoreData.documentSnapshotJson != null) { + const snapshot = documentSnapshotFromJSON(firestore, serializedFirestoreData.documentSnapshotJson); + const data = snapshot.data(); + if (validateDocumentData(data)) { + testResults.csrDocumentSnapshotResult = OK; + } + + // onResume Test + const bundleDocSnapshotPromise = new Promise((resolve, reject) => { + let completed: boolean = false; + setTimeout(() => { if (!completed) reject(); }, 2000); + const unsubscribe = onSnapshotResume( + firestore, + serializedFirestoreData.documentSnapshotJson!, + (docSnapshot: DocumentSnapshot + ) => { + if (docSnapshot.exists()) { + if (validateDocumentData(docSnapshot.data())) { + unsubscribe(); + testResults.csrDocumentSnapshotOnResumeResult = OK; + completed = true; + resolve(); + } + } + }); + }); + await bundleDocSnapshotPromise; + } + + // QuerySnapshotTests + if (serializedFirestoreData.querySnapshotJson != null) { + const snapshot = querySnapshotFromJSON(firestore, serializedFirestoreData.querySnapshotJson); + if (snapshot.docs.length === 1 && validateDocumentData(snapshot.docs[0].data())) { + testResults.csrQuerySnapshotResult = OK; + } + + // onResume test + const bundleQuerySnapshotPromise = new Promise((resolve, reject) => { + let completed: boolean = false; + setTimeout(() => { if (!completed) reject(); }, 2000); + const unsubscribe = onSnapshotResume( + firestore, + serializedFirestoreData.querySnapshotJson!, + (querySnapshot: QuerySnapshot + ) => { + if (querySnapshot.docs.length === 1 && validateDocumentData(querySnapshot.docs[0].data())) { + testResults.csrQuerySnapshotOnResumeResult = OK; + unsubscribe(); + completed = true; + resolve(); + } + }); + }); + await bundleQuerySnapshotPromise; + } + + // Other data type tests. + if(serializedFirestoreData.bytesJson !== null) { + const bytes = Bytes.fromJSON(serializedFirestoreData.bytesJson); + if(bytes.isEqual(Bytes.fromUint8Array(BYTES_DATA))) { + testResults.csrDeserializedBytesResult = OK; + } + } + + if(serializedFirestoreData.geoPointJson !== null) { + const geoPoint = GeoPoint.fromJSON(serializedFirestoreData.geoPointJson); + if(geoPoint.latitude === GEOPOINT_LATITTUDE && geoPoint.longitude === GEOPOINT_LONGITITUDE) { + testResults.csrDeserializedGeoPointResult = OK; + } + } + + if(serializedFirestoreData.timestampJson !== null) { + const timestamp = Timestamp.fromJSON(serializedFirestoreData.timestampJson); + if(timestamp.seconds === TIMESTAMP_SECONDS && timestamp.nanoseconds === TIMESTAMP_NANOSECONDS) { + testResults.csrDeserializedTimestampResult = OK; + } + } + + if(serializedFirestoreData.vectorValueJson !== null) { + const deserializedVectorValue = VectorValue.fromJSON(serializedFirestoreData.vectorValueJson); + const controlVectorValue = vector(VECTOR_NUM_ARRAY); + if(deserializedVectorValue.isEqual(controlVectorValue)) { + testResults.csrDeserializedVectorValueResult = OK; + } + } + + return testResults; +} + +/** + * Ensures the content of the document queried from Firestore matches the + * format the tests expect. + */ +export function validateDocumentData(documentData): boolean { + if (documentData !== undefined) { + if ( + documentData.aBoolean && documentData.aBoolean === true && + documentData.aName && documentData.aName === "A name" && + documentData.anInteger && documentData.anInteger === 1234) { + return true; + } + } + return false; +} + + +/** + * The standard playwright tests. + */ +export async function testFirestore(isServer: boolean = false): Promise { + const QUERY_PATH = '/nextJsTestDynamicCollection'; + const DOCUMENT_PATH = QUERY_PATH + '/trueDoc'; const result: TestResults = initializeTestResults(); + + if (isServer) { + result.csrDocumentSnapshotResult = OK_SKIPPED; + result.csrDocumentSnapshotOnResumeResult = OK_SKIPPED; + result.csrQuerySnapshotResult = OK_SKIPPED; + result.csrQuerySnapshotOnResumeResult = OK_SKIPPED; + result.csrDeserializedBytesResult = OK_SKIPPED; + result.csrDeserializedGeoPointResult = OK_SKIPPED; + result.csrDeserializedTimestampResult = OK_SKIPPED; + result.csrDeserializedVectorValueResult = OK_SKIPPED; + } + try { const firebaseApp = initializeApp(firebaseConfig); if (firebaseApp === null) { @@ -67,12 +362,14 @@ export async function testFirestore(): Promise { } result.initializeFirestoreResult = OK; - const document = doc(firestore, 'testCollection/trueDoc'); + // Create a doc test. + const document = doc(firestore, DOCUMENT_PATH); if (document === null) { return result; } result.createDocInstanceResult = OK; + // Set a doc test. const setDocPromise = new Promise((resolve, reject) => { let completed: boolean = false; setTimeout(() => { if (!completed) reject(); }, 2000); @@ -95,6 +392,7 @@ export async function testFirestore(): Promise { result.setDocResult = OK; await setDocPromise; + // Update a doc test. const updateDocPromise = new Promise((resolve, reject) => { let completed: boolean = false; setTimeout(() => { if (!completed) reject(); }, 2000); @@ -117,6 +415,7 @@ export async function testFirestore(): Promise { result.updateDocResult = OK; await updateDocPromise; + // Get a doc test. const docSnapshot = await getDoc(document); if (docSnapshot.exists()) { const docData = docSnapshot.data(); @@ -125,6 +424,87 @@ export async function testFirestore(): Promise { } } + // QuerySnapshot test. + const q = query(collection(firestore, QUERY_PATH)); + const querySnapshot = await getDocs(q); + if (querySnapshot.docs.length === 1) { + if (querySnapshot.docs[0].data().testbool === false) { + result.querySnapshotGetDocsResult = OK; + } + } + + // DocumentSnapshot bundle tests. + if (isServer) { + const docJson = docSnapshot.toJSON(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + if ((docJson as any).bundle !== undefined && (docJson as any).bundle != "NOT SUPPORTED") { + result.documentSnapshotBundleResult = OK; + } + + // Test deserializing the documentSnapshot. + const reconstitutedData = documentSnapshotFromJSON(firestore, docJson).data(); + if (reconstitutedData && reconstitutedData.testbool !== undefined && reconstitutedData.testbool === false) { + result.reconstitutedDocDataResult = OK; + } + + // Test onSnapshotResume listener. + const bundleDocSnapshotPromise = new Promise((resolve, reject) => { + let completed: boolean = false; + setTimeout(() => { if (!completed) reject(); }, 2000); + const unsubscribe = onSnapshotResume(firestore, docJson, (docSnapshot: DocumentSnapshot) => { + if (docSnapshot.exists()) { + const docData = docSnapshot.data(); + if (docData && docData.testbool !== undefined && docData.testbool === false) { + unsubscribe(); + result.documentSnapshotOnSnapshotResumeResult = OK; + completed = true; + resolve(); + } + } + }); + }); + await bundleDocSnapshotPromise; + } else { + result.documentSnapshotBundleResult = OK_SKIPPED; + result.documentSnapshotOnSnapshotResumeResult = OK_SKIPPED; + result.reconstitutedDocDataResult = OK_SKIPPED; + } + + // QuerySnapshot bundle tests. + if (isServer) { + const queryJson = querySnapshot.toJSON(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + if ((queryJson as any).bundle !== undefined && (queryJson as any).bundle != "NOT SUPPORTED") { + result.querySnapshotBundleResult = OK; + } + + // Test deserializing the documentSnapshot. + const reconstitutedData = querySnapshotFromJSON(firestore, queryJson); + if (querySnapshot.docs.length === 1 && reconstitutedData.docs[0].data().testbool === false) { + result.reconstitutedQueryDataResult = OK; + } + + // Test onSnapshotResume listener. + const bundleQuerySnapshotPromise = new Promise((resolve, reject) => { + let completed: boolean = false; + setTimeout(() => { if (!completed) reject(); }, 2000); + const unsubscribe = onSnapshotResume(firestore, queryJson, (querySnapshot: QuerySnapshot) => { + if (querySnapshot.docs.length === 1 && querySnapshot.docs[0].data().testbool === false) { + result.querySnapshotOnSnapshotResumeResult = OK; + unsubscribe(); + completed = true; + resolve(); + } + }); + }); + await bundleQuerySnapshotPromise; + } else { + result.querySnapshotBundleResult = OK_SKIPPED; + result.querySnapshotOnSnapshotResumeResult = OK_SKIPPED; + result.reconstitutedQueryDataResult = OK_SKIPPED; + } + + // Delete a doc test. const deleteDocPromise = new Promise((resolve, reject) => { let completed: boolean = false; setTimeout(() => { if (!completed) reject(); }, 2000); @@ -147,6 +527,7 @@ export async function testFirestore(): Promise { result.getDeletedDocResult = OK; } + // Cleanup. deleteApp(firebaseApp); result.deleteAppResult = OK; } catch (e) { diff --git a/tests/firestore.spec.ts b/tests/firestore.spec.ts index 9e1b204..633c49a 100644 --- a/tests/firestore.spec.ts +++ b/tests/firestore.spec.ts @@ -27,10 +27,27 @@ async function commonExpectations(page) { await expect(page.getByTitle('updateDocResult')).not.toContainText("FAILED"); await expect(page.getByTitle('onSnapshotUpdateDR')).not.toContainText("FAILED"); await expect(page.getByTitle('getDocResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('querySnapshotResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('documentSnapshotBundleResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('reconstitutedDocDataResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('querySnapshotBundleResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('reconstitutedQueryDataResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('documentSnapshotOnSnapshotResumeResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('querySnapshotOnSnapshotResumeResult')).not.toContainText("FAILED"); await expect(page.getByTitle('deleteDocResult')).not.toContainText("FAILED"); await expect(page.getByTitle('onSnapshotDeleteDR')).not.toContainText("FAILED"); await expect(page.getByTitle('getDeletedDocResult')).not.toContainText("FAILED"); await expect(page.getByTitle('deleteAppResult')).not.toContainText("FAILED"); + + // Client side tests + await expect(page.getByTitle('csrDocumentSnapshotResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrDocumentSnapshotOnResumeResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrQuerySnapshotResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrQuerySnapshotOnResumeResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrDeserializedBytesResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrDeserializedGeoPointResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrDeserializedTimestampResult')).not.toContainText("FAILED"); + await expect(page.getByTitle('csrDeserializedVectorValueResult')).not.toContainText("FAILED"); } test('firestore operations should pass - client', async ({ page, baseURL }) => { diff --git a/yarn.lock b/yarn.lock index d6c6313..c758219 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,396 +56,396 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@firebase/ai@1.4.0-canary.13e6cce88": - version "1.4.0-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/ai/-/ai-1.4.0-canary.13e6cce88.tgz#e78d4196aa809ad7e9988b7886062605853411bf" - integrity sha512-m4qsnurct3bpIV2VsyTQ63lQJ1ca8cLgd/8fvqoaR8TFzwDmRMLaW4pfXJzl3cNPUAQZXxBwMDN4i2b1atDxhg== - dependencies: - "@firebase/app-check-interop-types" "0.3.3-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" +"@firebase/ai@1.4.1-20250626140224": + version "1.4.1-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/ai/-/ai-1.4.1-20250626140224.tgz#77b4ef5db2ebc459ca7140d3585e6a372e57a9a0" + integrity sha512-2aPVCjSSdttyIfpB/SZjucG2p87Wqr89Kn5nzbQs2gwgxGwjfPGO046WRWxpwoksUFuCjSnxJ3f82e9AptAvMA== + dependencies: + "@firebase/app-check-interop-types" "0.3.3" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/analytics-compat@0.2.22-canary.13e6cce88": - version "0.2.22-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/analytics-compat/-/analytics-compat-0.2.22-canary.13e6cce88.tgz#f7f6e27178dff754445c5a996461c07062703cad" - integrity sha512-Ry5FqlLpHlGQjkaMz5oPvDCOBla6go/CuI7FOHim5FHPj3UBtPY6qBHhYhY0kUdyO8pnYyEIMuzpU7MFNSmU1A== +"@firebase/analytics-compat@0.2.23-20250626140224": + version "0.2.23-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/analytics-compat/-/analytics-compat-0.2.23-20250626140224.tgz#d669aede003edc8f036dcf264df444738b05a4ea" + integrity sha512-r5h8+0NkTYDiE/NjT36dXIqVW8CRtglkv3uRpMBqKnsMZUAX3KixMylGJz/6+75h2MRcH0AVAl6eTB7amlIAnQ== dependencies: - "@firebase/analytics" "0.10.16-canary.13e6cce88" - "@firebase/analytics-types" "0.8.3-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/analytics" "0.10.17-20250626140224" + "@firebase/analytics-types" "0.8.3" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/analytics-types@0.8.3-canary.13e6cce88": - version "0.8.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.8.3-canary.13e6cce88.tgz#b2c6d47e4f829d767878143af67b4a1835088d57" - integrity sha512-Leb8yPj7P0mFex1OWAu7pVvACIbD7RzahavOLeWj5W9MYAmAOpby4yCATeJ3zo0xjkYq8AEy6aPBGvLT8+ns0w== +"@firebase/analytics-types@0.8.3": + version "0.8.3" + resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.8.3.tgz#d08cd39a6209693ca2039ba7a81570dfa6c1518f" + integrity sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg== -"@firebase/analytics@0.10.16-canary.13e6cce88": - version "0.10.16-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.10.16-canary.13e6cce88.tgz#1da9a8fd802d8f9dec3f59a77f93ad6fcb19a457" - integrity sha512-+WJMYIo6gSdFkLnUi8aGo1cjmcs8oqRiTnuztI2KqSa+X+dLkpAL3cZR0xgKQ1NEgRDPaH30DI4vA71nVvNeXQ== +"@firebase/analytics@0.10.17-20250626140224": + version "0.10.17-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.10.17-20250626140224.tgz#7bcbbaa8571d24d72ffd53baad149e721a61492d" + integrity sha512-XR/eIUBu7+P+LmF2E18z8vjdNos2Af2olNKP3YArCTIjl7mjpY3WqGayofvSeTE/8/dUcIcqSgp2R3YcWe1JxQ== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/app-check-compat@0.3.25-canary.13e6cce88": - version "0.3.25-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-check-compat/-/app-check-compat-0.3.25-canary.13e6cce88.tgz#9cf3cb99e63bd4df4f9c411c6f2888655bfdb45d" - integrity sha512-B7p5f6PnGXkI5p75JndVZ348kXLAcRwg0+JM0ilDK/TpOVP+rvNkd+GWjTbQUyoTT0eTlZCk83QvgfEhkNzN/A== +"@firebase/app-check-compat@0.3.26-20250626140224": + version "0.3.26-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/app-check-compat/-/app-check-compat-0.3.26-20250626140224.tgz#55bc70887c788418958d68b0b1aef61db486eaa5" + integrity sha512-UQa+G+d5MTqimUUKyOFSW2nzDTeIqSuYyO8mO9e3SwAQYoBlW4/cNeO6ZU+IX3/kWE8Jl/02CL/BLqC5WuYFJg== dependencies: - "@firebase/app-check" "0.10.0-canary.13e6cce88" - "@firebase/app-check-types" "0.5.3-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/app-check" "0.10.1-20250626140224" + "@firebase/app-check-types" "0.5.3" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/app-check-interop-types@0.3.3-canary.13e6cce88": - version "0.3.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3-canary.13e6cce88.tgz#6939adf097d88bb8cbc199004eabfc8d928fa1c1" - integrity sha512-eAZ+f54nmauID3vMqB/zcrJmhq+UHF+a52i+u0X3DnGxrVwSz3Q5L/n2fT0WdY7CZD2FGeh3BbHQ8IAkfEsyPg== +"@firebase/app-check-interop-types@0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz#ed9c4a4f48d1395ef378f007476db3940aa5351a" + integrity sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A== -"@firebase/app-check-types@0.5.3-canary.13e6cce88": - version "0.5.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-check-types/-/app-check-types-0.5.3-canary.13e6cce88.tgz#676a32345f96cb0bacf166e4b8136338ee336f23" - integrity sha512-OZD4SWcnQZqFf0q8PQ51GMK6mm4K2sYpv4Q6bXQpe10paH6Bl3dEoGA5ys8Z8D2ndLUjsTQf4BaHy96Cdi36Dg== +"@firebase/app-check-types@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@firebase/app-check-types/-/app-check-types-0.5.3.tgz#38ba954acf4bffe451581a32fffa20337f11d8e5" + integrity sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng== -"@firebase/app-check@0.10.0-canary.13e6cce88": - version "0.10.0-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-check/-/app-check-0.10.0-canary.13e6cce88.tgz#c8787213937da1c660c0b9b4680c600cf5a321fb" - integrity sha512-C1AP5bw74QIgCY+fImFT4hAblKtXGG3qjwmgrjbsSqYfQmZH3uL4LmgdVQnH8e9Ui/3wXBM7av/qAHn4Xy/eyA== +"@firebase/app-check@0.10.1-20250626140224": + version "0.10.1-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/app-check/-/app-check-0.10.1-20250626140224.tgz#e39c18cbaa2fd8959935c19d7de48abf48e128fb" + integrity sha512-q16vMkjmuXZCsuC2lh+ZV5fWXfYMSRgQTlYpK1E2QW5Wzvkt6JKdd/uTWAZNbn4X7+CBdisauGN4p//6LMQpGQ== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/app-compat@0.4.1-canary.13e6cce88": - version "0.4.1-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-compat/-/app-compat-0.4.1-canary.13e6cce88.tgz#d8acb47955e8493a38ca1db284fedc1701b41f9b" - integrity sha512-k2euBEMmBVqpX8ym2Gp9zFjKx4+Peyf1sutpbWz3MzHzVorC8d1fbC9TVMWgaCPraIylMBZImUbrGnHtV0R1Sw== +"@firebase/app-compat@0.4.2-20250626140224": + version "0.4.2-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/app-compat/-/app-compat-0.4.2-20250626140224.tgz#bc86a070713a34e930b3ffdb65a9f5aeaafcc1d7" + integrity sha512-wSluoQRMbbN3q+iWpZ+5YQEDQhUt9dE8gRk7ycnex/h+04YiezqXJGseQO0VGCjQYMUU3Dcpz2TjMt0eB77FrQ== dependencies: - "@firebase/app" "0.13.1-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/app" "0.13.2-20250626140224" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/app-types@0.9.3-canary.13e6cce88": - version "0.9.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.9.3-canary.13e6cce88.tgz#851a1253d785827176bd8e1ac93af97653ca4936" - integrity sha512-xWRx9ZLMZWNfgLDYKqGIaHCaBJZBUNOQZ74OrjYs1zoOY1v3Vz63RDJW5aXD2P26Dy4Fno64Z7VnBZOr6uxvSw== +"@firebase/app-types@0.9.3": + version "0.9.3" + resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.9.3.tgz#8408219eae9b1fb74f86c24e7150a148460414ad" + integrity sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw== -"@firebase/app@0.13.1-canary.13e6cce88": - version "0.13.1-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.13.1-canary.13e6cce88.tgz#2de8a758c4dc32edd79487440ff62b5f9cb2396f" - integrity sha512-vhG9TMPlcy48NyBqwVISNDamGwE4CqhVBkaUyRjwobbghPDQI5QNrmzd9kvKhImovhWnxtIGXeCWYXU/dWzRmA== +"@firebase/app@0.13.2-20250626140224": + version "0.13.2-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.13.2-20250626140224.tgz#0149d1fffa0e15e806b5adb501400a31fd622799" + integrity sha512-ZQyPo2YQ1afazStbUDFtuJZ9fylSG7AcctYl7Lzy0e5lQf5br/onjRPBBxl7ldAhUtqbx+Gf/5a+8KaLZYhVXA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" idb "7.1.1" tslib "^2.1.0" -"@firebase/auth-compat@0.5.27-canary.13e6cce88": - version "0.5.27-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/auth-compat/-/auth-compat-0.5.27-canary.13e6cce88.tgz#bcb23d5e29ef0fcef174dcff1558cace781524a4" - integrity sha512-b7Ya0Slr7cDaSK4vn42o3lv/fB9dj4cIvkDMIjpsJvK/+jEl/MpswKlfCAZynv0Uq4Og//Zd05hvhYL7L4rotA== +"@firebase/auth-compat@0.5.28-20250626140224": + version "0.5.28-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/auth-compat/-/auth-compat-0.5.28-20250626140224.tgz#d6076fd67026ac7763c7ea0558baac33f8dc4133" + integrity sha512-JFMT862+hHgNj/lfkqRlrMSOI+TZ95w2R6xh1PxEalEkw2Z+FG4io258ltDy+2ESVwE2dQASW+MVB8Dhblm3DA== dependencies: - "@firebase/auth" "1.10.7-canary.13e6cce88" - "@firebase/auth-types" "0.13.0-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/auth" "1.10.8-20250626140224" + "@firebase/auth-types" "0.13.0" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/auth-interop-types@0.2.4-canary.13e6cce88": - version "0.2.4-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.2.4-canary.13e6cce88.tgz#ebe3a7b4355a32640873b38a2d907b1ef1aa2198" - integrity sha512-/6IQnRbAeqTQjQjq/u4HdgSr5UwffUgwk4rMJ3aLm4267o5Q1/Xx/Z/hWLuB6z8V6Mc9XZEb9ErzFdeETnjlQg== +"@firebase/auth-interop-types@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz#176a08686b0685596ff03d7879b7e4115af53de0" + integrity sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA== -"@firebase/auth-types@0.13.0-canary.13e6cce88": - version "0.13.0-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.13.0-canary.13e6cce88.tgz#e1adfa0345b6617329732f4b9711685277802c1f" - integrity sha512-HwF32h/tkXzV2bhb+zLK73d+KOHNhmpDh2t8HXDXqkYi0tFQKBoZmqXTAMrRgATrn+0+it8s0xq76z6W2egGmQ== +"@firebase/auth-types@0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.13.0.tgz#ae6e0015e3bd4bfe18edd0942b48a0a118a098d9" + integrity sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg== -"@firebase/auth@1.10.7-canary.13e6cce88": - version "1.10.7-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-1.10.7-canary.13e6cce88.tgz#7bf64b9256953c94ca53eb6aa8f4df8e2600142e" - integrity sha512-1LdAwIk4r4mvvqiVyn/YBUw7sUFuliTFkEfQoY2sYl4DrzqCnA3I441pS5lHuRrxCaVwC4MZQX242gr0+VF1OQ== +"@firebase/auth@1.10.8-20250626140224": + version "1.10.8-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-1.10.8-20250626140224.tgz#ed605ad0a1bea3880f8769cd4a294b4565028356" + integrity sha512-nzk93MniaNEd6HMKwbMfnP+HJBH377Dls4TRxAnX257lUn7/K0LWobI3Zrq/1KXbHBoxP6Ytyan8nEUNs2AgvA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/component@0.6.17-canary.13e6cce88": - version "0.6.17-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.6.17-canary.13e6cce88.tgz#70acc9950b6d265e4cc48f2ffab897f5b0f244fd" - integrity sha512-qnZlTeW6inlEKsEjCj0AyXTYgquvMRYNMlbRtPFfeK9OOUbSwul+2Whv4CPeAK0uSejCR9i3OiH5gCuqVx34TA== +"@firebase/component@0.6.18-20250626140224": + version "0.6.18-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.6.18-20250626140224.tgz#c0acaa6515112a7bf52bdfb6b6cd43a171745386" + integrity sha512-wudNx85jCoSvgn3/FC0D5ma7NhDSxcKvt3Psqr4hqigxA4cYwT/cFKqZfGOUyvg9raUECe5gNCDet64njRrwQw== dependencies: - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/data-connect@0.3.9-canary.13e6cce88": - version "0.3.9-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/data-connect/-/data-connect-0.3.9-canary.13e6cce88.tgz#0272d764d60631c008e2624dfa032e40b4405ef9" - integrity sha512-s+Hj32F9u6MPVKe3NF+1sIexMBZXQ2YneTBJBIzd9hkk4WkehyeO7IQMJ6xmFnBRn0jNh/HvWqG0j6jDTqQAFw== +"@firebase/data-connect@0.3.10-20250626140224": + version "0.3.10-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/data-connect/-/data-connect-0.3.10-20250626140224.tgz#d0697fcce6b89587ce2d5f1e2cbfa822789daef6" + integrity sha512-dnYgZZA00SKZq90xq7XeT5p2Z3t9st/r0G6keg7zFixpktb7OhQEiZv7iBHF3e3IwjnSXB7KYhI7ENpc5lgXCg== dependencies: - "@firebase/auth-interop-types" "0.2.4-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/auth-interop-types" "0.2.4" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/database-compat@2.0.10-canary.13e6cce88": - version "2.0.10-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-2.0.10-canary.13e6cce88.tgz#7ee2b1e66a98514d8251df85c1e288d908288f8e" - integrity sha512-XmQRjG4dZ3/FH5tP/QuujOluV7D+fQY+8Notjcbg5j3B+oHOLC7lfvoyFtFYLDEHkXxXHnlOnSbp9druWEaz0A== +"@firebase/database-compat@2.0.11-20250626140224": + version "2.0.11-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-2.0.11-20250626140224.tgz#83261cca173d4f0f24940b902f582fb78261ccbb" + integrity sha512-P+Cl9QJMkHC57r1/GlbT6TQcKZOKC8ANC0a4v/jDGFrLoDUtGWO5kaZkE7sl9gjD57wxd2nTgu7heyxd4ZmqWA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/database" "1.0.19-canary.13e6cce88" - "@firebase/database-types" "1.0.14-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/database" "1.0.20-20250626140224" + "@firebase/database-types" "1.0.15-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/database-types@1.0.14-canary.13e6cce88": - version "1.0.14-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-1.0.14-canary.13e6cce88.tgz#87a16ce0f26a97a176dac33e8ca3b10aac814d1f" - integrity sha512-zfaF21vOVQMbKUUafbB0e3A7L9XYq3WKmE9BQIiBmeEpg2IykMnmuOWlgfQA/G5TT2agFYMJShM+Mqm1TkGf+A== +"@firebase/database-types@1.0.15-20250626140224": + version "1.0.15-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-1.0.15-20250626140224.tgz#3384fed2b15a52906023290e15d900c6432bf04b" + integrity sha512-ISjn11IoOwcNzUbJnQc2YKmu/4ORNzFeypUp3SENae8OyLjqCa2RPVaUw5k6mIaZ22THXUX329JqN6ZKjO1pHA== dependencies: - "@firebase/app-types" "0.9.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/app-types" "0.9.3" + "@firebase/util" "1.12.1-20250626140224" -"@firebase/database@1.0.19-canary.13e6cce88": - version "1.0.19-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/database/-/database-1.0.19-canary.13e6cce88.tgz#d4e14af9195ed9e67b51934ceba261bc578eba1d" - integrity sha512-9VXO78Cfb5z80zHylKhjiBlqjEzpCZDIF9yluCKcGL3vH2+nd6xXwWXWg23FMwq7nDnpij9lNUxGrxYsFFaF1g== +"@firebase/database@1.0.20-20250626140224": + version "1.0.20-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/database/-/database-1.0.20-20250626140224.tgz#deef51463be508a64efdef85aed85497052f0585" + integrity sha512-/CEIb021XwpcCvZeshXBgdJJln0uRypqHbq9GIAfOKw+NDfQQBW+1yLzc+I7ACirLmsLKSILocBF6hG0uk6bCg== dependencies: - "@firebase/app-check-interop-types" "0.3.3-canary.13e6cce88" - "@firebase/auth-interop-types" "0.2.4-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/app-check-interop-types" "0.3.3" + "@firebase/auth-interop-types" "0.2.4" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" faye-websocket "0.11.4" tslib "^2.1.0" -"@firebase/firestore-compat@0.3.52-canary.13e6cce88": - version "0.3.52-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/firestore-compat/-/firestore-compat-0.3.52-canary.13e6cce88.tgz#ca15baba9660c10998f120db596b45d14013bd30" - integrity sha512-jnhYsecbdbNikOSeyPLo8Vk6wwohCL/GU1ZBEH13fzcnlm5oORWOCM4Sof7oQZeOEydLMVv2/EHb0xFXsZEFpA== +"@firebase/firestore-compat@0.3.53-20250626140224": + version "0.3.53-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/firestore-compat/-/firestore-compat-0.3.53-20250626140224.tgz#82dd6a40e19044217c837d9d1fc4ebc202104d9a" + integrity sha512-4qZGct+CXFTaIbrIMZf85/+h070VThxArQbeKi/0d23wdy1kzhkwf2UVVQ9rcxy09UY0jR6rcXtpRSB7uQau+w== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/firestore" "4.7.17-canary.13e6cce88" - "@firebase/firestore-types" "3.0.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/firestore" "4.8.0-20250626140224" + "@firebase/firestore-types" "3.0.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/firestore-types@3.0.3-canary.13e6cce88": - version "3.0.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-3.0.3-canary.13e6cce88.tgz#2207d874011643dc34b69c92b60aa1d7cdbde857" - integrity sha512-4nna4/Ty4ylURRd4qOuO+3of4PMlHnUHzkRGsP4eF4rLp3XSU1N3legMGgc5j6BJkDrS3H6NkOTMk3Neu+H0hg== - -"@firebase/firestore@4.7.17-canary.13e6cce88": - version "4.7.17-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-4.7.17-canary.13e6cce88.tgz#4193ac3b0f9b23bbe693e4c7c35f8394e1454382" - integrity sha512-Nj0PvW5gbWCadqVwepFdCOZSHG0C72pHE6IvlF/1J10jAjcBgx0NSaSsdMBSMtDi1RFl6Ilyrn0wOu4jTaS35Q== - dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" - "@firebase/webchannel-wrapper" "1.0.3-canary.13e6cce88" +"@firebase/firestore-types@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-3.0.3.tgz#7d0c3dd8850c0193d8f5ee0cc8f11961407742c1" + integrity sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q== + +"@firebase/firestore@4.8.0-20250626140224": + version "4.8.0-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-4.8.0-20250626140224.tgz#76b152b0258780cf108d635cc0ad03d6986d2c2c" + integrity sha512-X3sN0nKfDmTHUhPwWxVUHYw3JPZt7LTjLuYRgw+D9bfAZTI5Q+9UGCWM5K73zMACxyxsjs3sWOIyW0i+qT3F2Q== + dependencies: + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" + "@firebase/webchannel-wrapper" "1.0.3" "@grpc/grpc-js" "~1.9.0" "@grpc/proto-loader" "^0.7.8" tslib "^2.1.0" -"@firebase/functions-compat@0.3.25-canary.13e6cce88": - version "0.3.25-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/functions-compat/-/functions-compat-0.3.25-canary.13e6cce88.tgz#4cc35fb5339ab19f1e3450178610c48426850a0b" - integrity sha512-u9OUqZEu4el4ZckGo7WlSJNfDx+r/3ckc4Bw6fT5Dz5ggXnEV7cowt/fPmNE/tDeo+6Cl5buujZUjDDrWC01oQ== +"@firebase/functions-compat@0.3.26-20250626140224": + version "0.3.26-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/functions-compat/-/functions-compat-0.3.26-20250626140224.tgz#6b04a4f507c30a0d1b1497b0e17c5016caa9b237" + integrity sha512-G5jRQd8o9cJu+OgKMTSGFsxDMaMV9b6JAdf/5GdRz5v4yT1stoVv5CGp7QR0u/WjRXdkxWFeU0UsgMb4YbvuXA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/functions" "0.12.8-canary.13e6cce88" - "@firebase/functions-types" "0.6.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/functions" "0.12.9-20250626140224" + "@firebase/functions-types" "0.6.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/functions-types@0.6.3-canary.13e6cce88": - version "0.6.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.6.3-canary.13e6cce88.tgz#d70e14366704da9fab3e88d172e121473c946112" - integrity sha512-HTVqL8VTjrmkV/U8qKN0IAhN9a5f32BnYPwWBHbhyfZT6BFulMc0W05rUzEYiKCKAK8hOV3izkPmlorBvaeBNw== - -"@firebase/functions@0.12.8-canary.13e6cce88": - version "0.12.8-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.12.8-canary.13e6cce88.tgz#e925ee1ed1e31628d86c841ebef457452786b164" - integrity sha512-KhD5VuCFatJPUY+xfmjIYpKH7Q6Kp8bfUaZI1KUc8qsoLVuAr+mNHmYnZ6PZzexLMKsYbd3JI+nwEMNhf9cmUw== - dependencies: - "@firebase/app-check-interop-types" "0.3.3-canary.13e6cce88" - "@firebase/auth-interop-types" "0.2.4-canary.13e6cce88" - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/messaging-interop-types" "0.2.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" +"@firebase/functions-types@0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.6.3.tgz#f5faf770248b13f45d256f614230da6a11bfb654" + integrity sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg== + +"@firebase/functions@0.12.9-20250626140224": + version "0.12.9-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.12.9-20250626140224.tgz#c3336ebdd2cc005e7a4da6b339d67599069501bc" + integrity sha512-kc4D4XpV3+BguJAxfkkxQ/aJbX2Gxud3naiZDCU+h4FmUzVOv0HuIlsDELyJOKQCHRVFCDUaLGS45x+4dAu5yQ== + dependencies: + "@firebase/app-check-interop-types" "0.3.3" + "@firebase/auth-interop-types" "0.2.4" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/messaging-interop-types" "0.2.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/installations-compat@0.2.17-canary.13e6cce88": - version "0.2.17-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/installations-compat/-/installations-compat-0.2.17-canary.13e6cce88.tgz#fe53d6b880e56161ca0d06c97defffb9ec585e42" - integrity sha512-PnzaelgG/cS3fRQQypMyBpPywUaxBJWV0jyanky8Z1M6zrGVWVO5W2PP3UyX7jNNjG399A2bjoe1KX9rMAkjIg== +"@firebase/installations-compat@0.2.18-20250626140224": + version "0.2.18-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/installations-compat/-/installations-compat-0.2.18-20250626140224.tgz#a328bea2801cf30a074ad30ffba4381d5d5ce32a" + integrity sha512-fZ2vaWQLzYfq0EBoXHvTkAYhoEnZK8QlF6KLAaIxgzhbuvYza4UY7DaCNxJGMwDXqGFJTVja8w6V3UgtSYT6Ig== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/installations-types" "0.5.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/installations-types" "0.5.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/installations-types@0.5.3-canary.13e6cce88": - version "0.5.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.5.3-canary.13e6cce88.tgz#52ece87885cf3b84c4cfda1122284f84a0020829" - integrity sha512-19sn7pgH+HAslArrUO80w+h+LiDbjcdkC7qrjs3fllasAaLqLW3D3hEKWLUaMgbFDyZsvQvQDkBXqJOKtbF7cA== +"@firebase/installations-types@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.5.3.tgz#cac8a14dd49f09174da9df8ae453f9b359c3ef2f" + integrity sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA== -"@firebase/installations@0.6.17-canary.13e6cce88": - version "0.6.17-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.6.17-canary.13e6cce88.tgz#2b9d9c48c332f7b26aedbd4750fc8e74694cd025" - integrity sha512-SM4277bksPVLTWePaiQ5prI/8feQzPMjrPYReJdZOqGQICPOqPVaGkpnIQcwt9xozw1kMNtVoapTz5AdfkYMtA== +"@firebase/installations@0.6.18-20250626140224": + version "0.6.18-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.6.18-20250626140224.tgz#3e5e08199399eba35ab3987f5c40a1be3627aa41" + integrity sha512-lIPaK+Q9R/dqyhg0cArT9gjOSMtH95BOtjq4ZG/GxYE2DZBlVzA58goZBaxhqfLGHPpiP50cD1M609kcsGjOig== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/util" "1.12.1-20250626140224" idb "7.1.1" tslib "^2.1.0" -"@firebase/logger@0.4.4-canary.13e6cce88": - version "0.4.4-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.4.4-canary.13e6cce88.tgz#c28be59b5546d29c00f23be67d1fd09dad132f87" - integrity sha512-jKVy6eul8JK+HIfhNJ6rxeXWL7NufikkUGI1nMOIUQl6AALppVxQLxB7VeXRRo8ToI1iE4C6fSk7wuWjqrcFMg== +"@firebase/logger@0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.4.4.tgz#29e8379d20fd1149349a195ee6deee4573a86f48" + integrity sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g== dependencies: tslib "^2.1.0" -"@firebase/messaging-compat@0.2.21-canary.13e6cce88": - version "0.2.21-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/messaging-compat/-/messaging-compat-0.2.21-canary.13e6cce88.tgz#4162734219e0d65653275136077947be36eec65f" - integrity sha512-wG6DmreujTRG1HuFADulPL6vnzc9G1W3Hf1yyZU1+wvWlwsvqDgWm33HFpEq9uLs2W/PLx/RiXmN+ZVfPGhgHA== +"@firebase/messaging-compat@0.2.22-20250626140224": + version "0.2.22-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/messaging-compat/-/messaging-compat-0.2.22-20250626140224.tgz#4e02b69517065b8f6780f6fe4be3f67861b67d72" + integrity sha512-ApLLoGIPfWdkDa6918xgX9bw4YnNIq1UJq6U3RKF9+vdbIsdRXJpoHEc6UPzzGOldqOL6D9lvVN9yOihEmGxIQ== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/messaging" "0.12.21-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/messaging" "0.12.22-20250626140224" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/messaging-interop-types@0.2.3-canary.13e6cce88": - version "0.2.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3-canary.13e6cce88.tgz#d34569b175f2067539591cf986d8b3808ec25e10" - integrity sha512-TG82A7+871Uf/oDW9SAC0r+p43UtWwzqInzihGyiL5dd3KiTk5MwxbHhELrNodxSrpW1k50qnUjupbGb+aqcng== +"@firebase/messaging-interop-types@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz#e647c9cd1beecfe6a6e82018a6eec37555e4da3e" + integrity sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q== -"@firebase/messaging@0.12.21-canary.13e6cce88": - version "0.12.21-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.12.21-canary.13e6cce88.tgz#abc4855109dc65d42660f9e165664340fbb0e1b2" - integrity sha512-j/ZkotseyojMUvjykuzlstcPj8eLYReEr0K2BRVJSu3gPiulTYTOE81uRhDRdFTy/4mc32rJEhmOGF0wfu+Ysg== +"@firebase/messaging@0.12.22-20250626140224": + version "0.12.22-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.12.22-20250626140224.tgz#45604d49ea99557fb73e5b0cb74eb5ec7e13e53a" + integrity sha512-X3IcLQJVSfptWjWBAkxz8FFOuflsmcCh61GPJ7hoLac+Z6VPuTTUh5VVJ3AHG7bSz92FnD7rEvDviVcFN7xa5Q== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/messaging-interop-types" "0.2.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/messaging-interop-types" "0.2.3" + "@firebase/util" "1.12.1-20250626140224" idb "7.1.1" tslib "^2.1.0" -"@firebase/performance-compat@0.2.19-canary.13e6cce88": - version "0.2.19-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/performance-compat/-/performance-compat-0.2.19-canary.13e6cce88.tgz#e570baf64713449e0bb2005f964d02bf4314570f" - integrity sha512-jUwlR5zW+gJTxJTFVzcNBV2U+/tkVkpwuF80A8k93IsvsSc433a0n4YIFrJmjAt1YbvNOXpI5bXdLief5wqq4w== +"@firebase/performance-compat@0.2.20-20250626140224": + version "0.2.20-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/performance-compat/-/performance-compat-0.2.20-20250626140224.tgz#9051b720a3923575e2d888c4c39b3cc75acab30f" + integrity sha512-bMl1UPsRl812ewDymd5gGLCoYNK+1YI8f4e+xFwxkrOnEyk2EURm6qhOcZ71yMeT2rp1LWGgEj23n6I7evd7Zg== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/performance" "0.7.6-canary.13e6cce88" - "@firebase/performance-types" "0.2.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/performance" "0.7.7-20250626140224" + "@firebase/performance-types" "0.2.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/performance-types@0.2.3-canary.13e6cce88": - version "0.2.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.2.3-canary.13e6cce88.tgz#898e8fa64a4227c26dd75776b33c116408f7827f" - integrity sha512-V70tS5UGcPIEodwf11R3mso0XFI3iHjFaJj45Ei7B9MifA9MlZpdss20sgtdStOvqf8GCfSBFrhDzsN9BEABJQ== +"@firebase/performance-types@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.2.3.tgz#5ce64e90fa20ab5561f8b62a305010cf9fab86fb" + integrity sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ== -"@firebase/performance@0.7.6-canary.13e6cce88": - version "0.7.6-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.7.6-canary.13e6cce88.tgz#0ed889497e652bd62d7fff0311a3be8b523a6430" - integrity sha512-gtuxl9u8A3Q0lxTtn2GemtW61qXumUCPXUxO8q5FWprKHyL5NwM6Gq10DXhoZ3e7hmqVSfvze7LumcUYPk9X3A== +"@firebase/performance@0.7.7-20250626140224": + version "0.7.7-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.7.7-20250626140224.tgz#1a270be0627ef9cfb195c41de1a7cf7fb46dd30c" + integrity sha512-UC+VCNkii0hGfu15LBTo3Llr/9uS+WC0N04qVRaCCSZgr/WKINUw//spLEBjO5fG5cQG6hhZ30OQCGGsIgqWdQ== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" web-vitals "^4.2.4" -"@firebase/remote-config-compat@0.2.17-canary.13e6cce88": - version "0.2.17-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/remote-config-compat/-/remote-config-compat-0.2.17-canary.13e6cce88.tgz#027f602aa2b20306d469dd6ca9db052a2e6d8eb4" - integrity sha512-7AWRVMhUazQja7tJrvKQ7YE6lvwxnN5rr2HO22j+GJvHZ6lliUxGWOjU+cP6mYJ3bODTPzfiJVosNrsLodWH1w== +"@firebase/remote-config-compat@0.2.18-20250626140224": + version "0.2.18-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/remote-config-compat/-/remote-config-compat-0.2.18-20250626140224.tgz#6fd9321f385503f92fd8233eab6f1439f0803c1c" + integrity sha512-grUtYoQzG0asHW6J/z1C+/vFUMLph7zAGbtOB2TaMA4THeJ+zTKnBckB5p/aodgjP72eLFx8C7LkXCVHsLjvLA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/remote-config" "0.6.4-canary.13e6cce88" - "@firebase/remote-config-types" "0.4.0-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/remote-config" "0.6.5-20250626140224" + "@firebase/remote-config-types" "0.4.0" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/remote-config-types@0.4.0-canary.13e6cce88": - version "0.4.0-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.4.0-canary.13e6cce88.tgz#a984469291427b622d3d746962b01be32d19ac75" - integrity sha512-17o4bypxPK9+mthM0qH12YbEUYguSzSR3jxy0T6LlJRZxZbcgBAkp4t3wHTQjyXuB8HYCHof5Ee6k+8lm0l8EQ== - -"@firebase/remote-config@0.6.4-canary.13e6cce88": - version "0.6.4-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.6.4-canary.13e6cce88.tgz#16ae7a39f62ab7c1b1fee03515ec01185b93150e" - integrity sha512-b5C6ZNxgq8xol90sh2jaHzWOPNKYgugWrk7eDloa409hlIggtv0YShiGba5Px3Mr8rbUSEuYFAplQEdNGgfdbg== - dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/logger" "0.4.4-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" +"@firebase/remote-config-types@0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz#91b9a836d5ca30ced68c1516163b281fbb544537" + integrity sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg== + +"@firebase/remote-config@0.6.5-20250626140224": + version "0.6.5-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.6.5-20250626140224.tgz#b5439f0de02b01621cadb118c305401f44ed6883" + integrity sha512-i1kUysQ+Qz15H9zY1RFCYff0oKwICP/mb8IlMIgPDcU5L+LWx1pLyWZP2xEccwwhS/Ent9HIRcKFcy3lzp2tfg== + dependencies: + "@firebase/component" "0.6.18-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/logger" "0.4.4" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/storage-compat@0.3.23-canary.13e6cce88": - version "0.3.23-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/storage-compat/-/storage-compat-0.3.23-canary.13e6cce88.tgz#d0c8b13f46d1ba8563118f093b96405ac4a6c547" - integrity sha512-FJ/gzA1kXVwZ5ascnse/rNZK8Qes2DDfpBe7HbCR+FM4pP7Gj5jxVYnMepzzk3UbHl04/7XPybF9zzBAl/I5Eg== +"@firebase/storage-compat@0.3.24-20250626140224": + version "0.3.24-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/storage-compat/-/storage-compat-0.3.24-20250626140224.tgz#451128b83b21e7ccb6e0ff3c68279ed1c1457f49" + integrity sha512-+qbb4HboXeMzhHm/uLK34zil6U/E3pqHjK7/WkpzVUalnmOVS4oI5jf1vy+2D95cmAYHgjx0N3vGLK53IckhfQ== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/storage" "0.13.13-canary.13e6cce88" - "@firebase/storage-types" "0.8.3-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/storage" "0.13.14-20250626140224" + "@firebase/storage-types" "0.8.3" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/storage-types@0.8.3-canary.13e6cce88": - version "0.8.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.8.3-canary.13e6cce88.tgz#da6a64f72986918d43aea5e62926dd03b80fd83c" - integrity sha512-3xDCXsE1AQkFHTWLX1qcOhm2udsmAiFMg82a9/Y5HEoyQ9b+QBsP8X2Bw9GcTwvDpxdGviM0lf6O+UveVPV/lA== +"@firebase/storage-types@0.8.3": + version "0.8.3" + resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.8.3.tgz#2531ef593a3452fc12c59117195d6485c6632d3d" + integrity sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg== -"@firebase/storage@0.13.13-canary.13e6cce88": - version "0.13.13-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.13.13-canary.13e6cce88.tgz#0a4bc0f58e9f7dbc81e7d75a73c659f98ec6113f" - integrity sha512-Ahf2I3OH+azOWb7aBjNB4+MfQjSZppQbjOUQScGamwj3prf22g1finswPmruHw4jyHqaj+1CPfcduBCru+UV7g== +"@firebase/storage@0.13.14-20250626140224": + version "0.13.14-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.13.14-20250626140224.tgz#db15bdd0e745f4a402f97778745b0a26876e668c" + integrity sha512-W0VXfpsaNBCmHWgq+gFtTx4iEyAanVWwmGW+gWTukyDxCKNVkswUBL0VqohyuJoJ7FT7Iey+/qD+Ip7eJeKtAA== dependencies: - "@firebase/component" "0.6.17-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" + "@firebase/component" "0.6.18-20250626140224" + "@firebase/util" "1.12.1-20250626140224" tslib "^2.1.0" -"@firebase/util@1.12.0-canary.13e6cce88": - version "1.12.0-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/util/-/util-1.12.0-canary.13e6cce88.tgz#0d15ee9efca7b6de91ed360b240b5acd650d188b" - integrity sha512-5a5kBMtsYYVJqpI//uVnUbAmYiKWopuXG6TwHm3dvsw738OO9t2zKdIbgJXMjchkGyzVvT2FjL4WkjgPjhTdNw== +"@firebase/util@1.12.1-20250626140224": + version "1.12.1-20250626140224" + resolved "https://registry.yarnpkg.com/@firebase/util/-/util-1.12.1-20250626140224.tgz#627da1d292f8519f02d1eef5cc88390532381459" + integrity sha512-z1aKgggow1xk/MScVpLdKTnb1XoZMsa2PdfcseWITH3PvhN/QK7/mhLpPzyap8HR2NWQhH1QlbnSj1Ee/2r1kw== dependencies: tslib "^2.1.0" -"@firebase/webchannel-wrapper@1.0.3-canary.13e6cce88": - version "1.0.3-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3-canary.13e6cce88.tgz#f812f304e39055677f3a33f7e70c34c316ffa563" - integrity sha512-QNGHeNVIUnkJboo2BEBn3QkytLwEZdSXb2F99jbdzGHathBgOa9ke0xpSSCx662vYixLyzTVU9qhiXDRtO85ug== +"@firebase/webchannel-wrapper@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz#a73bab8eb491d7b8b7be2f0e6c310647835afe83" + integrity sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ== "@grpc/grpc-js@~1.9.0": version "1.9.15" @@ -777,9 +777,9 @@ integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== "@rushstack/eslint-patch@^1.3.3": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz#75dce8e972f90bba488e2b0cc677fb233aa357ab" - integrity sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ== + version "1.12.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.12.0.tgz#326a7b46f6d4cfa54ae25bb888551697873069b4" + integrity sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw== "@swc/counter@0.1.3": version "0.1.3" @@ -813,9 +813,9 @@ undici-types "~5.26.4" "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "24.0.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.3.tgz#f935910f3eece3a3a2f8be86b96ba833dc286cab" - integrity sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg== + version "24.0.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.7.tgz#ee580f7850c7eabaeef61ef96b8d8c04fdf94f53" + integrity sha512-YIEUUr4yf8q8oQoXPpSlnvKNVKDQlPMWrmOcgzoduo7kvA2UF0/BwJ/eMKFTiTtkNL17I0M6Xe2tvwFU7be6iw== dependencies: undici-types "~7.8.0" @@ -827,77 +827,77 @@ csstype "^3.0.2" "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz#56cf35b89383eaf2bdcf602f5bbdac6dbb11e51b" - integrity sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ== + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.0.tgz#515170100ff867445fe0a17ce05c14fc5fd9ca63" + integrity sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.34.1" - "@typescript-eslint/type-utils" "8.34.1" - "@typescript-eslint/utils" "8.34.1" - "@typescript-eslint/visitor-keys" "8.34.1" + "@typescript-eslint/scope-manager" "8.35.0" + "@typescript-eslint/type-utils" "8.35.0" + "@typescript-eslint/utils" "8.35.0" + "@typescript-eslint/visitor-keys" "8.35.0" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.34.1.tgz#f102357ab3a02d5b8aa789655905662cc5093067" - integrity sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA== - dependencies: - "@typescript-eslint/scope-manager" "8.34.1" - "@typescript-eslint/types" "8.34.1" - "@typescript-eslint/typescript-estree" "8.34.1" - "@typescript-eslint/visitor-keys" "8.34.1" + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.35.0.tgz#20a0e17778a329a6072722f5ac418d4376b767d2" + integrity sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA== + dependencies: + "@typescript-eslint/scope-manager" "8.35.0" + "@typescript-eslint/types" "8.35.0" + "@typescript-eslint/typescript-estree" "8.35.0" + "@typescript-eslint/visitor-keys" "8.35.0" debug "^4.3.4" -"@typescript-eslint/project-service@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.34.1.tgz#20501f8b87202c45f5e70a5b24dcdcb8fe12d460" - integrity sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA== +"@typescript-eslint/project-service@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.35.0.tgz#00bd77e6845fbdb5684c6ab2d8a400a58dcfb07b" + integrity sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.34.1" - "@typescript-eslint/types" "^8.34.1" + "@typescript-eslint/tsconfig-utils" "^8.35.0" + "@typescript-eslint/types" "^8.35.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz#727ea43441f4d23d5c73d34195427d85042e5117" - integrity sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA== +"@typescript-eslint/scope-manager@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.35.0.tgz#8ccb2ab63383544fab98fc4b542d8d141259ff4f" + integrity sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA== dependencies: - "@typescript-eslint/types" "8.34.1" - "@typescript-eslint/visitor-keys" "8.34.1" + "@typescript-eslint/types" "8.35.0" + "@typescript-eslint/visitor-keys" "8.35.0" -"@typescript-eslint/tsconfig-utils@8.34.1", "@typescript-eslint/tsconfig-utils@^8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz#d6abb1b1e9f1f1c83ac92051c8fbf2dbc4dc9f5e" - integrity sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg== +"@typescript-eslint/tsconfig-utils@8.35.0", "@typescript-eslint/tsconfig-utils@^8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.0.tgz#6e05aeb999999e31d562ceb4fe144f3cbfbd670e" + integrity sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA== -"@typescript-eslint/type-utils@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz#df860d8edefbfe142473ea4defb7408edb0c379e" - integrity sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g== +"@typescript-eslint/type-utils@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.35.0.tgz#0201eae9d83ffcc3451ef8c94f53ecfbf2319ecc" + integrity sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA== dependencies: - "@typescript-eslint/typescript-estree" "8.34.1" - "@typescript-eslint/utils" "8.34.1" + "@typescript-eslint/typescript-estree" "8.35.0" + "@typescript-eslint/utils" "8.35.0" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.34.1", "@typescript-eslint/types@^8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.34.1.tgz#565a46a251580dae674dac5aafa8eb14b8322a35" - integrity sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA== +"@typescript-eslint/types@8.35.0", "@typescript-eslint/types@^8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.35.0.tgz#e60d062907930e30008d796de5c4170f02618a93" + integrity sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ== -"@typescript-eslint/typescript-estree@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz#befdb042a6bc44fdad27429b2d3b679c80daad71" - integrity sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA== +"@typescript-eslint/typescript-estree@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.0.tgz#86141e6c55b75bc1eaecc0781bd39704de14e52a" + integrity sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w== dependencies: - "@typescript-eslint/project-service" "8.34.1" - "@typescript-eslint/tsconfig-utils" "8.34.1" - "@typescript-eslint/types" "8.34.1" - "@typescript-eslint/visitor-keys" "8.34.1" + "@typescript-eslint/project-service" "8.35.0" + "@typescript-eslint/tsconfig-utils" "8.35.0" + "@typescript-eslint/types" "8.35.0" + "@typescript-eslint/visitor-keys" "8.35.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -905,22 +905,22 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.34.1.tgz#f98c9b0c5cae407e34f5131cac0f3a74347a398e" - integrity sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ== +"@typescript-eslint/utils@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.35.0.tgz#aaf0afab5ab51ea2f1897002907eacd9834606d5" + integrity sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.34.1" - "@typescript-eslint/types" "8.34.1" - "@typescript-eslint/typescript-estree" "8.34.1" + "@typescript-eslint/scope-manager" "8.35.0" + "@typescript-eslint/types" "8.35.0" + "@typescript-eslint/typescript-estree" "8.35.0" -"@typescript-eslint/visitor-keys@8.34.1": - version "8.34.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz#28a1987ea3542ccafb92aa792726a304b39531cf" - integrity sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw== +"@typescript-eslint/visitor-keys@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.0.tgz#93e905e7f1e94d26a79771d1b1eb0024cb159dbf" + integrity sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g== dependencies: - "@typescript-eslint/types" "8.34.1" + "@typescript-eslint/types" "8.35.0" eslint-visitor-keys "^4.2.1" "@ungap/structured-clone@^1.2.0": @@ -928,102 +928,102 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@unrs/resolver-binding-android-arm-eabi@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.0.tgz#e91317973356eb845c9186db5f9ec43e8d0002eb" - integrity sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg== - -"@unrs/resolver-binding-android-arm64@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.0.tgz#fbdd79b2a8e478e02e1c0751dfbc100017522161" - integrity sha512-sG1NHtgXtX8owEkJ11yn34vt0Xqzi3k9TJ8zppDmyG8GZV4kVWw44FHwKwHeEFl07uKPeC4ZoyuQaGh5ruJYPA== - -"@unrs/resolver-binding-darwin-arm64@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.0.tgz#24bb42710227ae2f4fea191151f3acc6a75b50d6" - integrity sha512-nJ9z47kfFnCxN1z/oYZS7HSNsFh43y2asePzTEZpEvK7kGyuShSl3RRXnm/1QaqFL+iP+BjMwuB+DYUymOkA5A== - -"@unrs/resolver-binding-darwin-x64@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.0.tgz#4a205940ec311ac8396c3f25043644b78cc98a20" - integrity sha512-TK+UA1TTa0qS53rjWn7cVlEKVGz2B6JYe0C++TdQjvWYIyx83ruwh0wd4LRxYBM5HeuAzXcylA9BH2trARXJTw== - -"@unrs/resolver-binding-freebsd-x64@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.0.tgz#ed82e000f7248011696ecc8894f574caa197b0be" - integrity sha512-6uZwzMRFcD7CcCd0vz3Hp+9qIL2jseE/bx3ZjaLwn8t714nYGwiE84WpaMCYjU+IQET8Vu/+BNAGtYD7BG/0yA== - -"@unrs/resolver-binding-linux-arm-gnueabihf@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.0.tgz#534a8b32118590f7fb9edd21c6576243a89a8aad" - integrity sha512-bPUBksQfrgcfv2+mm+AZinaKq8LCFvt5PThYqRotqSuuZK1TVKkhbVMS/jvSRfYl7jr3AoZLYbDkItxgqMKRkg== - -"@unrs/resolver-binding-linux-arm-musleabihf@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.0.tgz#b31718752e77cecbbcf7ba1e01dea97c1a5ee7e0" - integrity sha512-uT6E7UBIrTdCsFQ+y0tQd3g5oudmrS/hds5pbU3h4s2t/1vsGWbbSKhBSCD9mcqaqkBwoqlECpUrRJCmldl8PA== - -"@unrs/resolver-binding-linux-arm64-gnu@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.0.tgz#0f11ba195020cfa869533fb74733d68162349d14" - integrity sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA== - -"@unrs/resolver-binding-linux-arm64-musl@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.0.tgz#8b6bc086cf9efaa22e8f2fef381786d6636b8e19" - integrity sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ== - -"@unrs/resolver-binding-linux-ppc64-gnu@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.0.tgz#5cd15899af31c2bbf90bfca5f798f64a16770e23" - integrity sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ== - -"@unrs/resolver-binding-linux-riscv64-gnu@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.0.tgz#4f2c75af52437eb10b48ea5b72750fb65fb174be" - integrity sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w== - -"@unrs/resolver-binding-linux-riscv64-musl@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.0.tgz#6a87e82e0dd39d34ff37ddba6accf73cdb396e86" - integrity sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw== - -"@unrs/resolver-binding-linux-s390x-gnu@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.0.tgz#6524cc3c01309022de86c4a7317fe7d9f9fb855c" - integrity sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA== - -"@unrs/resolver-binding-linux-x64-gnu@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.0.tgz#85fb8a45dccf3823cd73ea4b61b2c3f2e8ab6653" - integrity sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA== - -"@unrs/resolver-binding-linux-x64-musl@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.0.tgz#235e539da5872df51c03e0e050a1c715e25044ca" - integrity sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg== - -"@unrs/resolver-binding-wasm32-wasi@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.0.tgz#1bc614ce2ba61330c16bffa1e50f41d95d25c0a6" - integrity sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ== +"@unrs/resolver-binding-android-arm-eabi@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.2.tgz#6cb01dde20bef06397ffd4924f502596cb458851" + integrity sha512-tS+lqTU3N0kkthU+rYp0spAYq15DU8ld9kXkaKg9sbQqJNF+WPMuNHZQGCgdxrUOEO0j22RKMwRVhF1HTl+X8A== + +"@unrs/resolver-binding-android-arm64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.2.tgz#1672b533f01f98119095860683496def93929a2e" + integrity sha512-MffGiZULa/KmkNjHeuuflLVqfhqLv1vZLm8lWIyeADvlElJ/GLSOkoUX+5jf4/EGtfwrNFcEaB8BRas03KT0/Q== + +"@unrs/resolver-binding-darwin-arm64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.2.tgz#dad66a21553b1ba4088c6eb922332846550bd9b2" + integrity sha512-dzJYK5rohS1sYl1DHdJ3mwfwClJj5BClQnQSyAgEfggbUwA9RlROQSSbKBLqrGfsiC/VyrDPtbO8hh56fnkbsQ== + +"@unrs/resolver-binding-darwin-x64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.2.tgz#bfaedca218078862f3d536d44269fed94a6158e2" + integrity sha512-gaIMWK+CWtXcg9gUyznkdV54LzQ90S3X3dn8zlh+QR5Xy7Y+Efqw4Rs4im61K1juy4YNb67vmJsCDAGOnIeffQ== + +"@unrs/resolver-binding-freebsd-x64@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.2.tgz#bdab0e754c45831522b16df0b6fe4b0ffde22628" + integrity sha512-S7QpkMbVoVJb0xwHFwujnwCAEDe/596xqY603rpi/ioTn9VDgBHnCCxh+UFrr5yxuMH+dliHfjwCZJXOPJGPnw== + +"@unrs/resolver-binding-linux-arm-gnueabihf@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.2.tgz#2bac9c19599888d4ba4787b437b0273ac7a7a9f2" + integrity sha512-+XPUMCuCCI80I46nCDFbGum0ZODP5NWGiwS3Pj8fOgsG5/ctz+/zzuBlq/WmGa+EjWZdue6CF0aWWNv84sE1uw== + +"@unrs/resolver-binding-linux-arm-musleabihf@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.2.tgz#49d27d5d63e5f26cf7b93a0731334b302b9b7fec" + integrity sha512-sqvUyAd1JUpwbz33Ce2tuTLJKM+ucSsYpPGl2vuFwZnEIg0CmdxiZ01MHQ3j6ExuRqEDUCy8yvkDKvjYFPb8Zg== + +"@unrs/resolver-binding-linux-arm64-gnu@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.2.tgz#95ba5d1654a04b1049d944871e165d786e8da68f" + integrity sha512-UYA0MA8ajkEDCFRQdng/FVx3F6szBvk3EPnkTTQuuO9lV1kPGuTB+V9TmbDxy5ikaEgyWKxa4CI3ySjklZ9lFA== + +"@unrs/resolver-binding-linux-arm64-musl@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.2.tgz#23f90a48b1d343189b1c20c89b694140e2d5a210" + integrity sha512-P/CO3ODU9YJIHFqAkHbquKtFst0COxdphc8TKGL5yCX75GOiVpGqd1d15ahpqu8xXVsqP4MGFP2C3LRZnnL5MA== + +"@unrs/resolver-binding-linux-ppc64-gnu@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.2.tgz#076f2c2e95dbcd4824cc9929bc504151b402ac11" + integrity sha512-uKStFlOELBxBum2s1hODPtgJhY4NxYJE9pAeyBgNEzHgTqTiVBPjfTlPFJkfxyTjQEuxZbbJlJnMCrRgD7ubzw== + +"@unrs/resolver-binding-linux-riscv64-gnu@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.2.tgz#f7de54d45df430c74bbd12794946a55805bed6dd" + integrity sha512-LkbNnZlhINfY9gK30AHs26IIVEZ9PEl9qOScYdmY2o81imJYI4IMnJiW0vJVtXaDHvBvxeAgEy5CflwJFIl3tQ== + +"@unrs/resolver-binding-linux-riscv64-musl@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.2.tgz#ad1fcdcf5f112d7432fcfe38269a084bdccad266" + integrity sha512-vI+e6FzLyZHSLFNomPi+nT+qUWN4YSj8pFtQZSFTtmgFoxqB6NyjxSjAxEC1m93qn6hUXhIsh8WMp+fGgxCoRg== + +"@unrs/resolver-binding-linux-s390x-gnu@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.2.tgz#d914a4f12b9048e1a4de0040f64d73274104e301" + integrity sha512-sSO4AlAYhSM2RAzBsRpahcJB1msc6uYLAtP6pesPbZtptF8OU/CbCPhSRW6cnYOGuVmEmWVW5xVboAqCnWTeHQ== + +"@unrs/resolver-binding-linux-x64-gnu@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.2.tgz#d8f8cddc42ae267ef45ed4b61ff72b9e22aa3b82" + integrity sha512-jkSkwch0uPFva20Mdu8orbQjv2A3G88NExTN2oPTI1AJ+7mZfYW3cDCTyoH6OnctBKbBVeJCEqh0U02lTkqD5w== + +"@unrs/resolver-binding-linux-x64-musl@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.2.tgz#7bfce67acb51b3f4a7cff8383f46600f7b055a96" + integrity sha512-Uk64NoiTpQbkpl+bXsbeyOPRpUoMdcUqa+hDC1KhMW7aN1lfW8PBlBH4mJ3n3Y47dYE8qi0XTxy1mBACruYBaw== + +"@unrs/resolver-binding-wasm32-wasi@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.2.tgz#b133c9b6941aba54eea007ca2f27ff6ce917ae55" + integrity sha512-EpBGwkcjDicjR/ybC0g8wO5adPNdVuMrNalVgYcWi+gYtC1XYNuxe3rufcO7dA76OHGeVabcO6cSkPJKVcbCXQ== dependencies: "@napi-rs/wasm-runtime" "^0.2.11" -"@unrs/resolver-binding-win32-arm64-msvc@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.0.tgz#0d8704275a9f2634d81b35d8a00a2f4bd8dec7fa" - integrity sha512-rknkrTRuvujprrbPmGeHi8wYWxmNVlBoNW8+4XF2hXUnASOjmuC9FNF1tGbDiRQWn264q9U/oGtixyO3BT8adQ== +"@unrs/resolver-binding-win32-arm64-msvc@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.2.tgz#5f95f590f06c1e9ba15b24292c956c21a6294b30" + integrity sha512-EdFbGn7o1SxGmN6aZw9wAkehZJetFPao0VGZ9OMBwKx6TkvDuj6cNeLimF/Psi6ts9lMOe+Dt6z19fZQ9Ye2fw== -"@unrs/resolver-binding-win32-ia32-msvc@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.0.tgz#46909cbeb9a38b3f31a64833fe03aa1aebb8da2b" - integrity sha512-Ceymm+iBl+bgAICtgiHyMLz6hjxmLJKqBim8tDzpX61wpZOx2bPK6Gjuor7I2RiUynVjvvkoRIkrPyMwzBzF3A== +"@unrs/resolver-binding-win32-ia32-msvc@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.2.tgz#aac6595c6de6b26e5314372ab977b0f6a869c903" + integrity sha512-JY9hi1p7AG+5c/dMU8o2kWemM8I6VZxfGwn1GCtf3c5i+IKcMo2NQ8OjZ4Z3/itvY/Si3K10jOBQn7qsD/whUA== -"@unrs/resolver-binding-win32-x64-msvc@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.0.tgz#708b957d5d66543c45240b4c6b45ee63ed59b6b7" - integrity sha512-k59o9ZyeyS0hAlcaKFezYSH2agQeRFEB7KoQLXl3Nb3rgkqT1NY9Vwy+SqODiLmYnEjxWJVRE/yq2jFVqdIxZw== +"@unrs/resolver-binding-win32-x64-msvc@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.2.tgz#f755c5229f1401bbff7307d037c6e38fa169ad1d" + integrity sha512-ryoo+EB19lMxAd80ln9BVf8pdOAxLb97amrQ3SFN9OCRn/5M5wvwDgAe4i8ZjhpbiHoDeP8yavcTEnpKBo7lZg== acorn-jsx@^5.3.2: version "5.3.2" @@ -1085,7 +1085,7 @@ array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: call-bound "^1.0.3" is-array-buffer "^3.0.5" -array-includes@^3.1.6, array-includes@^3.1.8: +array-includes@^3.1.6, array-includes@^3.1.8, array-includes@^3.1.9: version "3.1.9" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== @@ -1111,7 +1111,7 @@ array.prototype.findlast@^1.2.5: es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" -array.prototype.findlastindex@^1.2.5: +array.prototype.findlastindex@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== @@ -1124,7 +1124,7 @@ array.prototype.findlastindex@^1.2.5: es-object-atoms "^1.1.1" es-shim-unscopables "^1.1.0" -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== @@ -1261,9 +1261,9 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== caniuse-lite@^1.0.30001579: - version "1.0.30001723" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz#c4f3174f02089720736e1887eab345e09bb10944" - integrity sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw== + version "1.0.30001726" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz#a15bd87d5a4bf01f6b6f70ae7c97fdfd28b5ae47" + integrity sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw== chalk@^4.0.0: version "4.1.2" @@ -1619,36 +1619,36 @@ eslint-import-resolver-typescript@^3.5.2: tinyglobby "^0.2.13" unrs-resolver "^1.6.2" -eslint-module-utils@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" - integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== +eslint-module-utils@^2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== dependencies: debug "^3.2.7" eslint-plugin-import@^2.28.1: - version "2.31.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" - integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + version "2.32.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" + integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== dependencies: "@rtsao/scc" "^1.1.0" - array-includes "^3.1.8" - array.prototype.findlastindex "^1.2.5" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" + array-includes "^3.1.9" + array.prototype.findlastindex "^1.2.6" + array.prototype.flat "^1.3.3" + array.prototype.flatmap "^1.3.3" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.12.0" + eslint-module-utils "^2.12.1" hasown "^2.0.2" - is-core-module "^2.15.1" + is-core-module "^2.16.1" is-glob "^4.0.3" minimatch "^3.1.2" object.fromentries "^2.0.8" object.groupby "^1.0.3" - object.values "^1.2.0" + object.values "^1.2.1" semver "^6.3.1" - string.prototype.trimend "^1.0.8" + string.prototype.trimend "^1.0.9" tsconfig-paths "^3.15.0" eslint-plugin-jsx-a11y@^6.7.1: @@ -1863,39 +1863,39 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -firebase@canary: - version "11.9.1-canary.13e6cce88" - resolved "https://registry.yarnpkg.com/firebase/-/firebase-11.9.1-canary.13e6cce88.tgz#d5c2abe3c7f9a870c4cbfaa04b8d557a40b437b0" - integrity sha512-ksbCm9Jgdp/TOvydLXZr0MHuvCTn1TSbTZy3vN65CLtVKAF0Avh2rOgCzO4E5C4RnTMG8aLPBrKwdqGKr1aU7w== - dependencies: - "@firebase/ai" "1.4.0-canary.13e6cce88" - "@firebase/analytics" "0.10.16-canary.13e6cce88" - "@firebase/analytics-compat" "0.2.22-canary.13e6cce88" - "@firebase/app" "0.13.1-canary.13e6cce88" - "@firebase/app-check" "0.10.0-canary.13e6cce88" - "@firebase/app-check-compat" "0.3.25-canary.13e6cce88" - "@firebase/app-compat" "0.4.1-canary.13e6cce88" - "@firebase/app-types" "0.9.3-canary.13e6cce88" - "@firebase/auth" "1.10.7-canary.13e6cce88" - "@firebase/auth-compat" "0.5.27-canary.13e6cce88" - "@firebase/data-connect" "0.3.9-canary.13e6cce88" - "@firebase/database" "1.0.19-canary.13e6cce88" - "@firebase/database-compat" "2.0.10-canary.13e6cce88" - "@firebase/firestore" "4.7.17-canary.13e6cce88" - "@firebase/firestore-compat" "0.3.52-canary.13e6cce88" - "@firebase/functions" "0.12.8-canary.13e6cce88" - "@firebase/functions-compat" "0.3.25-canary.13e6cce88" - "@firebase/installations" "0.6.17-canary.13e6cce88" - "@firebase/installations-compat" "0.2.17-canary.13e6cce88" - "@firebase/messaging" "0.12.21-canary.13e6cce88" - "@firebase/messaging-compat" "0.2.21-canary.13e6cce88" - "@firebase/performance" "0.7.6-canary.13e6cce88" - "@firebase/performance-compat" "0.2.19-canary.13e6cce88" - "@firebase/remote-config" "0.6.4-canary.13e6cce88" - "@firebase/remote-config-compat" "0.2.17-canary.13e6cce88" - "@firebase/storage" "0.13.13-canary.13e6cce88" - "@firebase/storage-compat" "0.3.23-canary.13e6cce88" - "@firebase/util" "1.12.0-canary.13e6cce88" +firebase@next: + version "11.10.0-20250626140224" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-11.10.0-20250626140224.tgz#f854b24a358b7edae50fff6ae55de97ce46580d2" + integrity sha512-lyOmQeLaC2jy+rh0rL7ite6Iaz59OoSA1wKCbWCVOu4ih6RrM0/9f7i0TCNNj/esFIYMs1gm0URd40p6XjWNQQ== + dependencies: + "@firebase/ai" "1.4.1-20250626140224" + "@firebase/analytics" "0.10.17-20250626140224" + "@firebase/analytics-compat" "0.2.23-20250626140224" + "@firebase/app" "0.13.2-20250626140224" + "@firebase/app-check" "0.10.1-20250626140224" + "@firebase/app-check-compat" "0.3.26-20250626140224" + "@firebase/app-compat" "0.4.2-20250626140224" + "@firebase/app-types" "0.9.3" + "@firebase/auth" "1.10.8-20250626140224" + "@firebase/auth-compat" "0.5.28-20250626140224" + "@firebase/data-connect" "0.3.10-20250626140224" + "@firebase/database" "1.0.20-20250626140224" + "@firebase/database-compat" "2.0.11-20250626140224" + "@firebase/firestore" "4.8.0-20250626140224" + "@firebase/firestore-compat" "0.3.53-20250626140224" + "@firebase/functions" "0.12.9-20250626140224" + "@firebase/functions-compat" "0.3.26-20250626140224" + "@firebase/installations" "0.6.18-20250626140224" + "@firebase/installations-compat" "0.2.18-20250626140224" + "@firebase/messaging" "0.12.22-20250626140224" + "@firebase/messaging-compat" "0.2.22-20250626140224" + "@firebase/performance" "0.7.7-20250626140224" + "@firebase/performance-compat" "0.2.20-20250626140224" + "@firebase/remote-config" "0.6.5-20250626140224" + "@firebase/remote-config-compat" "0.2.18-20250626140224" + "@firebase/storage" "0.13.14-20250626140224" + "@firebase/storage-compat" "0.3.24-20250626140224" + "@firebase/util" "1.12.1-20250626140224" flat-cache@^3.0.4: version "3.2.0" @@ -2215,7 +2215,7 @@ is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: +is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.16.1: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -2555,10 +2555,10 @@ nanoid@^3.3.6: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== -napi-postinstall@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.2.4.tgz#419697d0288cb524623e422f919624f22a5e4028" - integrity sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg== +napi-postinstall@^0.2.4: + version "0.2.5" + resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.2.5.tgz#57d8a142f854e5a510c7b71ca101e89c11eddf35" + integrity sha512-kmsgUvCRIJohHjbZ3V8avP0I1Pekw329MVAMDzVxsrkjgdnqiwvMX5XwR+hWV66vsAtZ+iM+fVnq8RTQawUmCQ== natural-compare@^1.4.0: version "1.4.0" @@ -2644,7 +2644,7 @@ object.groupby@^1.0.3: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1: +object.values@^1.1.6, object.values@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== @@ -3175,7 +3175,7 @@ string.prototype.trim@^1.2.10: es-object-atoms "^1.0.0" has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: +string.prototype.trimend@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== @@ -3360,31 +3360,31 @@ undici-types@~7.8.0: integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== unrs-resolver@^1.6.2: - version "1.9.0" - resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.9.0.tgz#22877e2e0f1ba3f848f75f7be5ecb81b634066dc" - integrity sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg== + version "1.9.2" + resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.9.2.tgz#1a7c73335a5e510643664d7bb4bb6f5c28782e36" + integrity sha512-VUyWiTNQD7itdiMuJy+EuLEErLj3uwX/EpHQF8EOf33Dq3Ju6VW1GXm+swk6+1h7a49uv9fKZ+dft9jU7esdLA== dependencies: - napi-postinstall "^0.2.2" + napi-postinstall "^0.2.4" optionalDependencies: - "@unrs/resolver-binding-android-arm-eabi" "1.9.0" - "@unrs/resolver-binding-android-arm64" "1.9.0" - "@unrs/resolver-binding-darwin-arm64" "1.9.0" - "@unrs/resolver-binding-darwin-x64" "1.9.0" - "@unrs/resolver-binding-freebsd-x64" "1.9.0" - "@unrs/resolver-binding-linux-arm-gnueabihf" "1.9.0" - "@unrs/resolver-binding-linux-arm-musleabihf" "1.9.0" - "@unrs/resolver-binding-linux-arm64-gnu" "1.9.0" - "@unrs/resolver-binding-linux-arm64-musl" "1.9.0" - "@unrs/resolver-binding-linux-ppc64-gnu" "1.9.0" - "@unrs/resolver-binding-linux-riscv64-gnu" "1.9.0" - "@unrs/resolver-binding-linux-riscv64-musl" "1.9.0" - "@unrs/resolver-binding-linux-s390x-gnu" "1.9.0" - "@unrs/resolver-binding-linux-x64-gnu" "1.9.0" - "@unrs/resolver-binding-linux-x64-musl" "1.9.0" - "@unrs/resolver-binding-wasm32-wasi" "1.9.0" - "@unrs/resolver-binding-win32-arm64-msvc" "1.9.0" - "@unrs/resolver-binding-win32-ia32-msvc" "1.9.0" - "@unrs/resolver-binding-win32-x64-msvc" "1.9.0" + "@unrs/resolver-binding-android-arm-eabi" "1.9.2" + "@unrs/resolver-binding-android-arm64" "1.9.2" + "@unrs/resolver-binding-darwin-arm64" "1.9.2" + "@unrs/resolver-binding-darwin-x64" "1.9.2" + "@unrs/resolver-binding-freebsd-x64" "1.9.2" + "@unrs/resolver-binding-linux-arm-gnueabihf" "1.9.2" + "@unrs/resolver-binding-linux-arm-musleabihf" "1.9.2" + "@unrs/resolver-binding-linux-arm64-gnu" "1.9.2" + "@unrs/resolver-binding-linux-arm64-musl" "1.9.2" + "@unrs/resolver-binding-linux-ppc64-gnu" "1.9.2" + "@unrs/resolver-binding-linux-riscv64-gnu" "1.9.2" + "@unrs/resolver-binding-linux-riscv64-musl" "1.9.2" + "@unrs/resolver-binding-linux-s390x-gnu" "1.9.2" + "@unrs/resolver-binding-linux-x64-gnu" "1.9.2" + "@unrs/resolver-binding-linux-x64-musl" "1.9.2" + "@unrs/resolver-binding-wasm32-wasi" "1.9.2" + "@unrs/resolver-binding-win32-arm64-msvc" "1.9.2" + "@unrs/resolver-binding-win32-ia32-msvc" "1.9.2" + "@unrs/resolver-binding-win32-x64-msvc" "1.9.2" uri-js@^4.2.2: version "4.4.1"