react-native-nitro-storage 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +334 -34
- package/android/CMakeLists.txt +2 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +26 -2
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +4 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +90 -18
- package/cpp/bindings/HybridStorage.cpp +214 -23
- package/cpp/bindings/HybridStorage.hpp +31 -3
- package/cpp/core/NativeStorageAdapter.hpp +4 -0
- package/ios/IOSStorageAdapterCpp.hpp +17 -0
- package/ios/IOSStorageAdapterCpp.mm +140 -10
- package/lib/commonjs/index.js +555 -288
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +750 -309
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/internal.js +25 -0
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/commonjs/storage-hooks.js +36 -0
- package/lib/commonjs/storage-hooks.js.map +1 -0
- package/lib/module/index.js +537 -287
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +732 -308
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/internal.js +24 -0
- package/lib/module/internal.js.map +1 -1
- package/lib/module/storage-hooks.js +30 -0
- package/lib/module/storage-hooks.js.map +1 -0
- package/lib/typescript/Storage.nitro.d.ts +4 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +41 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +45 -4
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts +1 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/lib/typescript/storage-hooks.d.ts +10 -0
- package/lib/typescript/storage-hooks.d.ts.map +1 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +4 -0
- package/package.json +5 -3
- package/src/Storage.nitro.ts +4 -0
- package/src/index.ts +704 -324
- package/src/index.web.ts +929 -346
- package/src/internal.ts +28 -0
- package/src/storage-hooks.ts +48 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useSyncExternalStore","StorageScope","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","prefixKey","isNamespaced","AccessControl","BiometricLevel","migrateFromMMKV","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getScopedListeners","get","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","storageKey","setItem","getItem","remove","removeItem","i","startsWith","keys","index","getBatch","map","addOnChange","_scope","_callback","getAllKeys","k","setSecureAccessControl","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","namespacedKeys","filter","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","valueOrFn","currentValue","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","keyPrefix","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SACEC,qBAAqB,EAErBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,EAChBC,8BAA8B,EAC9BC,gCAAgC,EAChCC,cAAc,EACdC,SAAS,EACTC,YAAY,QACP,YAAY;AAEnB,SAASX,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SAASU,eAAe,QAAQ,aAAa;AAgE7C,SAASC,UAAUA,CAAIC,IAAoB,EAA0B;EACnE,OAAOA,IAAI;AACb;AAEA,SAASC,SAASA,CAChBC,SAA+B,EACF;EAC7B,OAAO,OAAOA,SAAS,KAAK,UAAU;AACxC;AAEA,SAASC,SAASA,CAAsBC,MAAoB,EAAO;EACjE,OAAOC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC;AAC5B;AAgBA,MAAMG,oBAAoB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACzD,MAAMC,YAAY,GAChB,OAAOC,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AAC9B,CAAC;AAiCP,MAAMI,WAAW,GAAG,IAAIP,GAAG,CAAkB,CAAC;AAC9C,MAAMQ,eAAoC,GAAG,IAAIR,GAAG,CAAC,CAAC;AACtD,MAAMS,iBAAiB,GAAG,IAAIT,GAAG,CAAsC,CACrE,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACtB,YAAY,CAACiC,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMY,cAAc,GAAG,IAAIZ,GAAG,CAC5B,CACE,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACtB,YAAY,CAACiC,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CAEpC,CAAC;AACD,MAAMa,gBAAgB,GAAG,IAAIb,GAAG,CAA8B,CAC5D,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAII,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACpC,YAAY,CAACiC,MAAM,EAAE,IAAIG,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMC,wBAAwB,GAAG,IAAID,GAAG,CAAiB,CAAC;AAC1D,MAAME,mBAAmB,GAAG,IAAIhB,GAAG,CAA6B,CAAC;AACjE,IAAIiB,oBAAoB,GAAG,KAAK;AAChC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,oBAAoB,GAAG,QAAQ;AACrC,IAAIC,kCAAkC,GAAG,KAAK;AAC9C,IAAIC,8BAA8B,GAAG,KAAK;AAC1C,IAAIC,eAAmD;AACvD,MAAMC,eAAe,GAAG,IAAIvB,GAAG,CAG7B,CAAC;AAEH,SAASwB,YAAYA,CACnBC,SAAiB,EACjBC,KAAmB,EACnBC,UAAkB,EAClBC,SAAS,GAAG,CAAC,EACP;EACN,MAAMC,QAAQ,GAAGN,eAAe,CAACO,GAAG,CAACL,SAAS,CAAC;EAC/C,IAAI,CAACI,QAAQ,EAAE;IACbN,eAAe,CAACQ,GAAG,CAACN,SAAS,EAAE;MAC7BO,KAAK,EAAE,CAAC;MACRC,eAAe,EAAEN,UAAU;MAC3BO,aAAa,EAAEP;IACjB,CAAC,CAAC;EACJ,CAAC,MAAM;IACLE,QAAQ,CAACG,KAAK,IAAI,CAAC;IACnBH,QAAQ,CAACI,eAAe,IAAIN,UAAU;IACtCE,QAAQ,CAACK,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACP,QAAQ,CAACK,aAAa,EAAEP,UAAU,CAAC;EACvE;EACAL,eAAe,GAAG;IAAEG,SAAS;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAU,CAAC,CAAC;AAChE;AAEA,SAASS,gBAAgBA,CACvBZ,SAAiB,EACjBC,KAAmB,EACnBY,EAAW,EACXV,SAAS,GAAG,CAAC,EACV;EACH,MAAMW,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACxB,IAAI;IACF,OAAOH,EAAE,CAAC,CAAC;EACb,CAAC,SAAS;IACRd,YAAY,CAACC,SAAS,EAAEC,KAAK,EAAEc,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,EAAEX,SAAS,CAAC;EAC/D;AACF;AAEA,SAASc,kCAAkCA,CAAA,EAA4B;EACrE,OAAO;IACLC,OAAO,EAAGC,GAAG,IAAKC,UAAU,CAACC,YAAY,EAAEH,OAAO,CAACC,GAAG,CAAC,IAAI,IAAI;IAC/DG,OAAO,EAAEA,CAACH,GAAG,EAAEI,KAAK,KAAKH,UAAU,CAACC,YAAY,EAAEC,OAAO,CAACH,GAAG,EAAEI,KAAK,CAAC;IACrEC,UAAU,EAAGL,GAAG,IAAKC,UAAU,CAACC,YAAY,EAAEG,UAAU,CAACL,GAAG,CAAC;IAC7DM,KAAK,EAAEA,CAAA,KAAML,UAAU,CAACC,YAAY,EAAEI,KAAK,CAAC,CAAC;IAC7CC,UAAU,EAAEA,CAAA,KAAM;MAChB,MAAMC,OAAO,GAAGP,UAAU,CAACC,YAAY;MACvC,IAAI,CAACM,OAAO,EAAE,OAAO,EAAE;MACvB,MAAMtD,IAAc,GAAG,EAAE;MACzB,KAAK,IAAIuD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,OAAO,CAACE,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;QACtD,MAAMT,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAACS,KAAK,CAAC;QAC9B,IAAIT,GAAG,EAAE;UACP9C,IAAI,CAACyD,IAAI,CAACX,GAAG,CAAC;QAChB;MACF;MACA,OAAO9C,IAAI;IACb;EACF,CAAC;AACH;AAEA,IAAI0D,uBAA4D,GAC9Dd,kCAAkC,CAAC,CAAC;AAEtC,SAASe,iBAAiBA,CAAC/B,KAAa,EAAkC;EACxE,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;IAC/B,OAAOmC,UAAU,CAACC,YAAY;EAChC;EACA,IAAIpB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjC,IAAI,CAAC6C,uBAAuB,EAAE;MAC5B,OAAOE,SAAS;IAClB;IACA,OAAO;MACLX,OAAO,EAAEA,CAACH,GAAG,EAAEI,KAAK,KAAKQ,uBAAuB,EAAET,OAAO,CAACH,GAAG,EAAEI,KAAK,CAAC;MACrEL,OAAO,EAAGC,GAAG,IAAKY,uBAAuB,EAAEb,OAAO,CAACC,GAAG,CAAC,IAAI,IAAI;MAC/DK,UAAU,EAAGL,GAAG,IAAKY,uBAAuB,EAAEP,UAAU,CAACL,GAAG,CAAC;MAC7DM,KAAK,EAAEA,CAAA,KAAMM,uBAAuB,EAAEN,KAAK,CAAC,CAAC;MAC7CN,GAAG,EAAGS,KAAK,IAAKG,uBAAuB,EAAEL,UAAU,CAAC,CAAC,CAACE,KAAK,CAAC,IAAI,IAAI;MACpE,IAAIC,MAAMA,CAAA,EAAG;QACX,OAAOE,uBAAuB,EAAEL,UAAU,CAAC,CAAC,CAACG,MAAM,IAAI,CAAC;MAC1D;IACF,CAAC;EACH;EACA,OAAOI,SAAS;AAClB;AAEA,SAASC,kBAAkBA,CAACf,GAAW,EAAU;EAC/C,OAAO,GAAG1B,iBAAiB,GAAG0B,GAAG,EAAE;AACrC;AAEA,SAASgB,oBAAoBA,CAAChB,GAAW,EAAU;EACjD,OAAOA,GAAG,CAACiB,KAAK,CAAC3C,iBAAiB,CAACoC,MAAM,CAAC;AAC5C;AAEA,SAASQ,qBAAqBA,CAAClB,GAAW,EAAU;EAClD,OAAO,GAAGzB,oBAAoB,GAAGyB,GAAG,EAAE;AACxC;AAEA,SAASmB,uBAAuBA,CAACnB,GAAW,EAAU;EACpD,OAAOA,GAAG,CAACiB,KAAK,CAAC1C,oBAAoB,CAACmC,MAAM,CAAC;AAC/C;AAEA,SAASU,mBAAmBA,CAACtC,KAAqB,EAAe;EAC/D,OAAOb,gBAAgB,CAACiB,GAAG,CAACJ,KAAK,CAAC;AACpC;AAEA,SAASuC,uBAAuBA,CAACvC,KAAqB,EAAQ;EAC5D,IAAIX,wBAAwB,CAACmD,GAAG,CAACxC,KAAK,CAAC,EAAE;IACvC;EACF;EAEA,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;EACxC,MAAMyC,QAAQ,GAAGH,mBAAmB,CAACtC,KAAK,CAAC;EAC3CyC,QAAQ,CAACjB,KAAK,CAAC,CAAC;EAChB,IAAIE,OAAO,EAAE;IACX,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,OAAO,CAACE,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;MACtD,MAAMT,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAACS,KAAK,CAAC;MAC9B,IAAI,CAACT,GAAG,EAAE;QACR;MACF;MACA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;QAC/B,IACE,CAACkC,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC,CAAC0B,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAgD,QAAQ,CAACE,GAAG,CAACzB,GAAG,CAAC;QACnB;QACA;MACF;MAEA,IAAIA,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,EAAE;QACrCiD,QAAQ,CAACE,GAAG,CAACT,oBAAoB,CAAChB,GAAG,CAAC,CAAC;QACvC;MACF;MACA,IAAIA,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EAAE;QACxCgD,QAAQ,CAACE,GAAG,CAACN,uBAAuB,CAACnB,GAAG,CAAC,CAAC;MAC5C;IACF;EACF;EACA7B,wBAAwB,CAACsD,GAAG,CAAC3C,KAAK,CAAC;AACrC;AAEA,SAAS4C,sBAAsBA,CAAC5C,KAAqB,EAAe;EAClEuC,uBAAuB,CAACvC,KAAK,CAAC;EAC9B,OAAOsC,mBAAmB,CAACtC,KAAK,CAAC;AACnC;AAEA,SAAS6C,qBAAqBA,CAACC,KAAmB,EAAQ;EACxD,MAAM5B,GAAG,GAAG4B,KAAK,CAAC5B,GAAG;EACrB,IAAIA,GAAG,KAAK,IAAI,EAAE;IAChB6B,kBAAkB,CAAC/F,YAAY,CAACgC,IAAI,CAAC;IACrC+D,kBAAkB,CAAC/F,YAAY,CAACiC,MAAM,CAAC;IACvC2D,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAACwC,KAAK,CAAC,CAAC;IACjDoB,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACuC,KAAK,CAAC,CAAC;IACnDwB,kBAAkB,CAACC,kBAAkB,CAACjG,YAAY,CAACgC,IAAI,CAAC,CAAC;IACzDgE,kBAAkB,CAACC,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,CAAC;IAC3D;EACF;EAEA,IAAIiC,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,EAAE;IACrC,MAAM0D,QAAQ,GAAGhB,oBAAoB,CAAChB,GAAG,CAAC;IAC1C,IAAI4B,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;MAC3BP,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAACF,QAAQ,CAAC;MAC5DG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAElB,SAAS,CAAC;IACzD,CAAC,MAAM;MACLY,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACO,QAAQ,CAAC;MACzDG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAEJ,KAAK,CAACK,QAAQ,CAAC;IAC9D;IACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiE,QAAQ,CAAC;IACrE;EACF;EAEA,IAAIhC,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EAAE;IACxC,MAAMyD,QAAQ,GAAGb,uBAAuB,CAACnB,GAAG,CAAC;IAC7C,IAAI4B,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;MAC3B,IACEpB,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CgB,kBAAkB,CAACiB,QAAQ,CAC7B,CAAC,KAAK,IAAI,EACV;QACAN,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAACF,QAAQ,CAAC;MAC9D;MACAG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAElB,SAAS,CAAC;IACzD,CAAC,MAAM;MACLY,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACO,QAAQ,CAAC;MACzDG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAEJ,KAAK,CAACK,QAAQ,CAAC;IAC9D;IACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiE,QAAQ,CAAC;IACrE;EACF;EAEA,IAAIJ,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;IAC3BP,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAACoE,MAAM,CAAClC,GAAG,CAAC;IACrDmC,aAAa,CAACrG,YAAY,CAACgC,IAAI,EAAEkC,GAAG,EAAEc,SAAS,CAAC;EAClD,CAAC,MAAM;IACLY,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAAC2D,GAAG,CAACzB,GAAG,CAAC;IAClDmC,aAAa,CAACrG,YAAY,CAACgC,IAAI,EAAEkC,GAAG,EAAE4B,KAAK,CAACK,QAAQ,CAAC;EACvD;EACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACgC,IAAI,CAAC,EAAEkC,GAAG,CAAC;AAChE;AAEA,SAASqC,iCAAiCA,CAAA,EAAS;EACjD,IAAI5D,8BAA8B,EAAE;IAClC;EACF;EACA,IACE,OAAO6D,MAAM,KAAK,WAAW,IAC7B,OAAOA,MAAM,CAACC,gBAAgB,KAAK,UAAU,EAC7C;IACA;EACF;EACAD,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEZ,qBAAqB,CAAC;EACzDlD,8BAA8B,GAAG,IAAI;AACvC;AAEA,SAASsD,kBAAkBA,CAACjD,KAAqB,EAAuB;EACtE,OAAOjB,iBAAiB,CAACqB,GAAG,CAACJ,KAAK,CAAC;AACrC;AAEA,SAAS0D,gBAAgBA,CACvB1D,KAAqB,EACY;EACjC,OAAOd,cAAc,CAACkB,GAAG,CAACJ,KAAK,CAAC;AAClC;AAEA,SAASqD,aAAaA,CACpBrD,KAAqB,EACrBkB,GAAW,EACXI,KAAyB,EACnB;EACNoC,gBAAgB,CAAC1D,KAAK,CAAC,CAACK,GAAG,CAACa,GAAG,EAAEI,KAAK,CAAC;AACzC;AAEA,SAASqC,kBAAkBA,CACzB3D,KAAqB,EACrBkB,GAAW,EACS;EACpB,OAAOwC,gBAAgB,CAAC1D,KAAK,CAAC,CAACI,GAAG,CAACc,GAAG,CAAC;AACzC;AAEA,SAAS0C,iBAAiBA,CAAC5D,KAAqB,EAAEkB,GAAW,EAAW;EACtE,OAAOwC,gBAAgB,CAAC1D,KAAK,CAAC,CAACwC,GAAG,CAACtB,GAAG,CAAC;AACzC;AAEA,SAAS6B,kBAAkBA,CAAC/C,KAAqB,EAAQ;EACvD0D,gBAAgB,CAAC1D,KAAK,CAAC,CAACwB,KAAK,CAAC,CAAC;AACjC;AAEA,SAAS8B,kBAAkBA,CAACO,QAA6B,EAAE3C,GAAW,EAAQ;EAC5E2C,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC,EAAE4C,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;AACtD;AAEA,SAASf,kBAAkBA,CAACa,QAA6B,EAAQ;EAC/DA,QAAQ,CAACC,OAAO,CAAEE,SAAS,IAAK;IAC9BA,SAAS,CAACF,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,SAASE,cAAcA,CACrBJ,QAA6B,EAC7B3C,GAAW,EACX6C,QAAoB,EACR;EACZ,IAAIC,SAAS,GAAGH,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC;EACjC,IAAI,CAAC8C,SAAS,EAAE;IACdA,SAAS,GAAG,IAAI5E,GAAG,CAAC,CAAC;IACrByE,QAAQ,CAACxD,GAAG,CAACa,GAAG,EAAE8C,SAAS,CAAC;EAC9B;EACAA,SAAS,CAACrB,GAAG,CAACoB,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACX,MAAMG,eAAe,GAAGL,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC;IACzC,IAAI,CAACgD,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACd,MAAM,CAACW,QAAQ,CAAC;IAChC,IAAIG,eAAe,CAACC,IAAI,KAAK,CAAC,EAAE;MAC9BN,QAAQ,CAACT,MAAM,CAAClC,GAAG,CAAC;IACtB;EACF,CAAC;AACH;AAEA,SAASkD,sBAAsBA,CAAClD,GAAW,EAAsB;EAC/D,OAAO5B,mBAAmB,CAACc,GAAG,CAACc,GAAG,CAAC,EAAEI,KAAK;AAC5C;AAEA,SAAS+C,qBAAqBA,CAACnD,GAAW,EAAW;EACnD,OAAO5B,mBAAmB,CAACkD,GAAG,CAACtB,GAAG,CAAC;AACrC;AAEA,SAASoD,uBAAuBA,CAACpD,GAAW,EAAQ;EAClD5B,mBAAmB,CAAC8D,MAAM,CAAClC,GAAG,CAAC;AACjC;AAEA,SAASqD,iBAAiBA,CAAA,EAAS;EACjChF,oBAAoB,GAAG,KAAK;EAE5B,IAAID,mBAAmB,CAAC6E,IAAI,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMK,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACpF,mBAAmB,CAACqF,MAAM,CAAC,CAAC,CAAC;EACvDrF,mBAAmB,CAACkC,KAAK,CAAC,CAAC;EAE3B,MAAMoD,gBAAgB,GAAG,IAAItG,GAAG,CAG9B,CAAC;EACH,MAAMuG,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACV,OAAO,CAAC,CAAC;IAAE5C,GAAG;IAAEI,KAAK;IAAEwD;EAAc,CAAC,KAAK;IAChD,IAAIxD,KAAK,KAAKU,SAAS,EAAE;MACvB6C,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,MAAM6D,qBAAqB,GAAGD,aAAa,IAAI7H,aAAa,CAAC+H,YAAY;MACzE,MAAMC,aAAa,GAAGL,gBAAgB,CAACxE,GAAG,CAAC2E,qBAAqB,CAAC;MACjE,MAAMG,KAAK,GAAGD,aAAa,IAAI;QAAE7G,IAAI,EAAE,EAAE;QAAEuG,MAAM,EAAE;MAAG,CAAC;MACvDO,KAAK,CAAC9G,IAAI,CAACyD,IAAI,CAACX,GAAG,CAAC;MACpBgE,KAAK,CAACP,MAAM,CAAC9C,IAAI,CAACP,KAAK,CAAC;MACxB,IAAI,CAAC2D,aAAa,EAAE;QAClBL,gBAAgB,CAACvE,GAAG,CAAC0E,qBAAqB,EAAEG,KAAK,CAAC;MACpD;IACF;EACF,CAAC,CAAC;EAEFN,gBAAgB,CAACd,OAAO,CAAC,CAACoB,KAAK,EAAEJ,aAAa,KAAK;IACjDK,UAAU,CAACC,sBAAsB,CAACN,aAAa,CAAC;IAChDK,UAAU,CAACE,QAAQ,CAACH,KAAK,CAAC9G,IAAI,EAAE8G,KAAK,CAACP,MAAM,EAAE3H,YAAY,CAACiC,MAAM,CAAC;EACpE,CAAC,CAAC;EACF,IAAI4F,YAAY,CAACjD,MAAM,GAAG,CAAC,EAAE;IAC3BuD,UAAU,CAACG,WAAW,CAACT,YAAY,EAAE7H,YAAY,CAACiC,MAAM,CAAC;EAC3D;AACF;AAEA,SAASsG,mBAAmBA,CAC1BrE,GAAW,EACXI,KAAyB,EACzBwD,aAA6B,EACvB;EACN,MAAMU,YAAgC,GAAG;IAAEtE,GAAG;IAAEI;EAAM,CAAC;EACvD,IAAIwD,aAAa,KAAK9C,SAAS,EAAE;IAC/BwD,YAAY,CAACV,aAAa,GAAGA,aAAa;EAC5C;EACAxF,mBAAmB,CAACe,GAAG,CAACa,GAAG,EAAEsE,YAAY,CAAC;EAC1C,IAAIjG,oBAAoB,EAAE;IACxB;EACF;EACAA,oBAAoB,GAAG,IAAI;EAC3BhB,YAAY,CAACgG,iBAAiB,CAAC;AACjC;AAEA,MAAMY,UAAmB,GAAG;EAC1BM,IAAI,EAAE,SAAS;EACfC,MAAM,EAAGC,KAAK,IAAKA,KAAK,KAAKR,UAAU;EACvCS,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBvF,GAAG,EAAEA,CAACa,GAAW,EAAEI,KAAa,EAAEtB,KAAa,KAAK;IAClD,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,MAAMmE,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;IAC/DQ,OAAO,CAACL,OAAO,CAACwE,UAAU,EAAEvE,KAAK,CAAC;IAClC,IAAItB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAAC2C,GAAG,CAACzB,GAAG,CAAC;MACtCoC,kBAAkB,CAACL,kBAAkB,CAACjD,KAAK,CAAC,EAAEkB,GAAG,CAAC;IACpD;EACF,CAAC;EACDd,GAAG,EAAEA,CAACc,GAAW,EAAElB,KAAa,KAAK;IACnC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,MAAM6F,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;IAC/D,OAAOQ,OAAO,EAAET,OAAO,CAAC4E,UAAU,CAAC,IAAI7D,SAAS;EAClD,CAAC;EACD8D,MAAM,EAAEA,CAAC5E,GAAW,EAAElB,KAAa,KAAK;IACtC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCyC,OAAO,CAACH,UAAU,CAACU,kBAAkB,CAACf,GAAG,CAAC,CAAC;MAC3CQ,OAAO,CAACH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;IAChD,CAAC,MAAM;MACLQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC;IACzB;IACA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACoD,MAAM,CAAClC,GAAG,CAAC;MACzCoC,kBAAkB,CAACL,kBAAkB,CAACjD,KAAK,CAAC,EAAEkB,GAAG,CAAC;IACpD;EACF,CAAC;EACDM,KAAK,EAAGxB,KAAa,IAAK;IACxB,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,MAAM4F,YAAsB,GAAG,EAAE;MACjC,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;QACvC,MAAM7E,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;QAC1B,IACE7E,GAAG,EAAEwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC0B,GAAG,EAAEwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAoF,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;QACxB;MACF;MACA2D,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC;IACxD,CAAC,MAAM,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;MACtC,MAAM6F,YAAsB,GAAG,EAAE;MACjC,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;QACvC,MAAM7E,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;QAC1B,IACE7E,GAAG,IACH,CAACA,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC,CAAC0B,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAoF,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;QACxB;MACF;MACA2D,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC;IACxD,CAAC,MAAM;MACLQ,OAAO,CAACF,KAAK,CAAC,CAAC;IACjB;IACA,IAAIxB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACwB,KAAK,CAAC,CAAC;MACrCwB,kBAAkB,CAACC,kBAAkB,CAACjD,KAAK,CAAC,CAAC;IAC/C;EACF,CAAC;EACDqF,QAAQ,EAAEA,CAACjH,IAAc,EAAEuG,MAAgB,EAAE3E,KAAa,KAAK;IAC7D,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IAEAtD,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK;MAC3B,MAAML,KAAK,GAAGqD,MAAM,CAAChD,KAAK,CAAC;MAC3B,IAAIL,KAAK,KAAKU,SAAS,EAAE;QACvB;MACF;MACA,MAAM6D,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;MAC/DQ,OAAO,CAACL,OAAO,CAACwE,UAAU,EAAEvE,KAAK,CAAC;IACpC,CAAC,CAAC;IACF,IAAItB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;MAC9C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKuB,QAAQ,CAACE,GAAG,CAACzB,GAAG,CAAC,CAAC;MACxC,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjD,KAAK,CAAC;MAC3C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACD8E,QAAQ,EAAEA,CAAC5H,IAAc,EAAE4B,KAAa,KAAK;IAC3C,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,OAAO5B,IAAI,CAAC6H,GAAG,CAAE/E,GAAG,IAAK;MACvB,MAAM2E,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;MAC/D,OAAOQ,OAAO,EAAET,OAAO,CAAC4E,UAAU,CAAC,IAAI7D,SAAS;IAClD,CAAC,CAAC;EACJ,CAAC;EACDsD,WAAW,EAAEA,CAAClH,IAAc,EAAE4B,KAAa,KAAK;IAC9C,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IAEA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCb,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpBQ,OAAO,CAACH,UAAU,CAACU,kBAAkB,CAACf,GAAG,CAAC,CAAC;QAC3CQ,OAAO,CAACH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;MAChD,CAAC,CAAC;IACJ,CAAC,MAAM;MACL9C,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpBQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC;MACzB,CAAC,CAAC;IACJ;IAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;MAC9C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKuB,QAAQ,CAACW,MAAM,CAAClC,GAAG,CAAC,CAAC;MAC3C,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjD,KAAK,CAAC;MAC3C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACDgF,cAAc,EAAEA,CAACC,MAAc,EAAEnG,KAAa,KAAK;IACjD,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE;IACF;IAEA,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;IAC9C,MAAM5B,IAAI,GAAGqG,KAAK,CAACC,IAAI,CAACjC,QAAQ,CAAC,CAAC2D,MAAM,CAAElF,GAAG,IAAKA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CAAC,CAAC;IACzE,IAAI/H,IAAI,CAACwD,MAAM,KAAK,CAAC,EAAE;MACrB;IACF;IAEAuD,UAAU,CAACG,WAAW,CAAClH,IAAI,EAAE4B,KAAK,CAAC;EACrC,CAAC;EACDqG,WAAW,EAAEA,CACXC,MAAc,EACdC,SAA2D,KACxD;IACH,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC;EACD/D,GAAG,EAAEA,CAACtB,GAAW,EAAElB,KAAa,KAAK;IACnC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAIA,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,OACEyC,OAAO,EAAET,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,IAClDQ,OAAO,EAAET,OAAO,CAACmB,qBAAqB,CAAClB,GAAG,CAAC,CAAC,KAAK,IAAI;IAEzD;IACA,OAAOQ,OAAO,EAAET,OAAO,CAACC,GAAG,CAAC,KAAK,IAAI;EACvC,CAAC;EACDO,UAAU,EAAGzB,KAAa,IAAK;IAC7B,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOwF,KAAK,CAACC,IAAI,CAAC9B,sBAAsB,CAAC5C,KAAK,CAAC,CAAC;EAClD,CAAC;EACDwG,eAAe,EAAEA,CAACL,MAAc,EAAEnG,KAAa,KAAK;IAClD,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOwF,KAAK,CAACC,IAAI,CAAC9B,sBAAsB,CAAC5C,KAAK,CAAC,CAAC,CAACoG,MAAM,CAAElF,GAAG,IAC1DA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CACvB,CAAC;EACH,CAAC;EACDhC,IAAI,EAAGnE,KAAa,IAAK;IACvB,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACmE,IAAI;IAC3C;IACA,OAAO,CAAC;EACV,CAAC;EACDiB,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChCqB,oBAAoB,EAAGC,QAAiB,IAAK,CAAC,CAAC;EAC/CC,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChCC,kBAAkB,EAAEA,CAAC1F,GAAW,EAAEI,KAAa,KAAK;IAClD6D,UAAU,CAAC0B,2BAA2B,CACpC3F,GAAG,EACHI,KAAK,EACLpE,cAAc,CAAC4J,YACjB,CAAC;EACH,CAAC;EACDD,2BAA2B,EAAEA,CAAC3F,GAAW,EAAEI,KAAa,EAAEyF,MAAc,KAAK;IAC3E,IACE,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,IACP,CAACtH,kCAAkC,EACnC;MACAA,kCAAkC,GAAG,IAAI;MACzCuH,OAAO,CAACC,IAAI,CACV,+EACF,CAAC;IACH;IACAnF,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEoC,OAAO,CAC7Ce,qBAAqB,CAAClB,GAAG,CAAC,EAC1BI,KACF,CAAC;IACDsB,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACzB,GAAG,CAAC;IACpDoC,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiC,GAAG,CAAC;EAClE,CAAC;EACDiG,kBAAkB,EAAGjG,GAAW,IAAK;IACnC,OACEa,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CmB,qBAAqB,CAAClB,GAAG,CAC3B,CAAC,IAAIc,SAAS;EAElB,CAAC;EACDoF,qBAAqB,EAAGlG,GAAW,IAAK;IACtC,MAAMQ,OAAO,GAAGK,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC;IACtDyC,OAAO,EAAEH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;IAC/C,IAAIQ,OAAO,EAAET,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;MACtD0B,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAAClC,GAAG,CAAC;IACzD;IACAoC,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiC,GAAG,CAAC;EAClE,CAAC;EACDmG,kBAAkB,EAAGnG,GAAW,IAAK;IACnC,OACEa,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CmB,qBAAqB,CAAClB,GAAG,CAC3B,CAAC,KAAK,IAAI;EAEd,CAAC;EACDoG,oBAAoB,EAAEA,CAAA,KAAM;IAC1B,MAAM5F,OAAO,GAAGK,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC;IACtD,IAAI,CAACyC,OAAO,EAAE;IACd,MAAM6F,YAAsB,GAAG,EAAE;IACjC,MAAMC,QAAkB,GAAG,EAAE;IAC7B,KAAK,IAAIzB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;MACvC,MAAM0B,CAAC,GAAG/F,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;MACxB,IAAI0B,CAAC,EAAE/E,UAAU,CAACjD,oBAAoB,CAAC,EAAE;QACvC+H,QAAQ,CAAC3F,IAAI,CAAC4F,CAAC,CAAC;QAChBF,YAAY,CAAC1F,IAAI,CAACQ,uBAAuB,CAACoF,CAAC,CAAC,CAAC;MAC/C;IACF;IACAD,QAAQ,CAAC1D,OAAO,CAAE2D,CAAC,IAAK/F,OAAO,CAACH,UAAU,CAACkG,CAAC,CAAC,CAAC;IAC9C,MAAMhF,QAAQ,GAAGG,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC;IAC5DsI,YAAY,CAACzD,OAAO,CAAE5C,GAAG,IAAK;MAC5B,IAAIQ,OAAO,CAACT,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;QACrDuB,QAAQ,CAACW,MAAM,CAAClC,GAAG,CAAC;MACtB;IACF,CAAC,CAAC;IACF,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC;IACzDsI,YAAY,CAACzD,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;EACnE;AACF,CAAC;AAED,SAASwG,WAAWA,CAACxG,GAAW,EAAElB,KAAmB,EAAsB;EACzE1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC,MAAMrG,KAAK,GAAGzC,WAAW,CAACuB,GAAG,CAACc,GAAG,CAAC;IAClC,OAAO,OAAOI,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGU,SAAS;EACtD;EAEA,IAAIhC,KAAK,KAAKhD,YAAY,CAACiC,MAAM,IAAIoF,qBAAqB,CAACnD,GAAG,CAAC,EAAE;IAC/D,OAAOkD,sBAAsB,CAAClD,GAAG,CAAC;EACpC;EAEA,OAAOiE,UAAU,CAAC/E,GAAG,CAACc,GAAG,EAAElB,KAAK,CAAC;AACnC;AAEA,SAAS4H,WAAWA,CAAC1G,GAAW,EAAEI,KAAa,EAAEtB,KAAmB,EAAQ;EAC1E1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC9I,WAAW,CAACwB,GAAG,CAACa,GAAG,EAAEI,KAAK,CAAC;IAC3BgC,kBAAkB,CAACxE,eAAe,EAAEoC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjCsF,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACpD,GAAG,CAAC;EAC9B;EAEAiE,UAAU,CAAC9E,GAAG,CAACa,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;EACjCqD,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEI,KAAK,CAAC;AAClC;AAEA,SAASuG,cAAcA,CAAC3G,GAAW,EAAElB,KAAmB,EAAQ;EAC9D1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC9I,WAAW,CAACuE,MAAM,CAAClC,GAAG,CAAC;IACvBoC,kBAAkB,CAACxE,eAAe,EAAEoC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjCsF,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACpD,GAAG,CAAC;EAC9B;EAEAiE,UAAU,CAACW,MAAM,CAAC5E,GAAG,EAAElB,KAAK,CAAC;EAC7BqD,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC;AACtC;AAEA,SAAS8F,oBAAoBA,CAAC9H,KAAmB,EAAU;EACzD,MAAM+H,GAAG,GAAGL,WAAW,CAACvK,qBAAqB,EAAE6C,KAAK,CAAC;EACrD,IAAI+H,GAAG,KAAK/F,SAAS,EAAE;IACrB,OAAO,CAAC;EACV;EAEA,MAAMgG,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACH,GAAG,EAAE,EAAE,CAAC;EACvC,OAAOE,MAAM,CAACE,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;AAC3D;AAEA,SAASI,qBAAqBA,CAACpI,KAAmB,EAAEqI,OAAe,EAAQ;EACzET,WAAW,CAACzK,qBAAqB,EAAEmL,MAAM,CAACD,OAAO,CAAC,EAAErI,KAAK,CAAC;AAC5D;AAEA,OAAO,MAAM0B,OAAO,GAAG;EACrBF,KAAK,EAAGxB,KAAmB,IAAK;IAC9BW,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;MAC7C,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC9I,WAAW,CAAC2C,KAAK,CAAC,CAAC;QACnBwB,kBAAkB,CAAClE,eAAe,CAAC;QACnC;MACF;MAEA,IAAIkB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjCsF,iBAAiB,CAAC,CAAC;QACnBjF,mBAAmB,CAACkC,KAAK,CAAC,CAAC;MAC7B;MAEAuB,kBAAkB,CAAC/C,KAAK,CAAC;MACzBmF,UAAU,CAAC3D,KAAK,CAACxB,KAAK,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EACDuI,QAAQ,EAAEA,CAAA,KAAM;IACd5H,gBAAgB,CACd,kBAAkB,EAClB3D,YAAY,CAAC2K,MAAM,EACnB,MAAM;MACJjG,OAAO,CAACF,KAAK,CAACxE,YAAY,CAAC2K,MAAM,CAAC;MAClCjG,OAAO,CAACF,KAAK,CAACxE,YAAY,CAACgC,IAAI,CAAC;MAChC0C,OAAO,CAACF,KAAK,CAACxE,YAAY,CAACiC,MAAM,CAAC;IACpC,CAAC,EACD,CACF,CAAC;EACH,CAAC;EACDuJ,cAAc,EAAEA,CAACC,SAAiB,EAAEzI,KAAmB,KAAK;IAC1DW,gBAAgB,CAAC,wBAAwB,EAAEX,KAAK,EAAE,MAAM;MACtD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC,KAAK,MAAMzG,GAAG,IAAIrC,WAAW,CAACT,IAAI,CAAC,CAAC,EAAE;UACpC,IAAIT,YAAY,CAACuD,GAAG,EAAEuH,SAAS,CAAC,EAAE;YAChC5J,WAAW,CAACuE,MAAM,CAAClC,GAAG,CAAC;UACzB;QACF;QACA8B,kBAAkB,CAAClE,eAAe,CAAC;QACnC;MACF;MAEA,MAAM4J,SAAS,GAAGhL,SAAS,CAAC+K,SAAS,EAAE,EAAE,CAAC;MAC1C,IAAIzI,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjCsF,iBAAiB,CAAC,CAAC;MACrB;MACAxB,kBAAkB,CAAC/C,KAAK,CAAC;MACzBmF,UAAU,CAACe,cAAc,CAACwC,SAAS,EAAE1I,KAAK,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC;EACD2I,cAAc,EAAEA,CAAA,KAAM;IACpBhI,gBAAgB,CAAC,wBAAwB,EAAE3D,YAAY,CAACiC,MAAM,EAAE,MAAM;MACpEkG,UAAU,CAACmC,oBAAoB,CAAC,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EACD9E,GAAG,EAAEA,CAACtB,GAAW,EAAElB,KAAmB,KAAc;IAClD,OAAOW,gBAAgB,CAAC,aAAa,EAAEX,KAAK,EAAE,MAAM;MAClD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAO9I,WAAW,CAAC2D,GAAG,CAACtB,GAAG,CAAC;MAC9D,OAAOiE,UAAU,CAAC3C,GAAG,CAACtB,GAAG,EAAElB,KAAK,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EACDyB,UAAU,EAAGzB,KAAmB,IAAe;IAC7C,OAAOW,gBAAgB,CAAC,oBAAoB,EAAEX,KAAK,EAAE,MAAM;MACzD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAOlD,KAAK,CAACC,IAAI,CAAC7F,WAAW,CAACT,IAAI,CAAC,CAAC,CAAC;MACxE,OAAO+G,UAAU,CAAC1D,UAAU,CAACzB,KAAK,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC;EACDwG,eAAe,EAAEA,CAACL,MAAc,EAAEnG,KAAmB,KAAe;IAClE,OAAOW,gBAAgB,CAAC,yBAAyB,EAAEX,KAAK,EAAE,MAAM;MAC9D1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC,OAAOlD,KAAK,CAACC,IAAI,CAAC7F,WAAW,CAACT,IAAI,CAAC,CAAC,CAAC,CAACgI,MAAM,CAAElF,GAAG,IAC/CA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CACvB,CAAC;MACH;MACA,OAAOhB,UAAU,CAACqB,eAAe,CAACL,MAAM,EAAEnG,KAAK,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC;EACD4I,WAAW,EAAEA,CACXzC,MAAc,EACdnG,KAAmB,KACQ;IAC3B,OAAOW,gBAAgB,CAAC,qBAAqB,EAAEX,KAAK,EAAE,MAAM;MAC1D,MAAM6I,MAA8B,GAAG,CAAC,CAAC;MACzC,MAAMzK,IAAI,GAAGsD,OAAO,CAAC8E,eAAe,CAACL,MAAM,EAAEnG,KAAK,CAAC;MACnD,IAAI5B,IAAI,CAACwD,MAAM,KAAK,CAAC,EAAE;QACrB,OAAOiH,MAAM;MACf;MAEA,IAAI7I,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjCvJ,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;UACpB,MAAMI,KAAK,GAAGzC,WAAW,CAACuB,GAAG,CAACc,GAAG,CAAC;UAClC,IAAI,OAAOI,KAAK,KAAK,QAAQ,EAAE;YAC7BuH,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;UACrB;QACF,CAAC,CAAC;QACF,OAAOuH,MAAM;MACf;MAEA,MAAMlE,MAAM,GAAGQ,UAAU,CAACa,QAAQ,CAAC5H,IAAI,EAAE4B,KAAK,CAAC;MAC/C5B,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK;QAC3B,MAAML,KAAK,GAAGqD,MAAM,CAAChD,KAAK,CAAC;QAC3B,IAAIL,KAAK,KAAKU,SAAS,EAAE;UACvB6G,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;QACrB;MACF,CAAC,CAAC;MACF,OAAOuH,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDC,MAAM,EAAG9I,KAAmB,IAA6B;IACvD,OAAOW,gBAAgB,CAAC,gBAAgB,EAAEX,KAAK,EAAE,MAAM;MACrD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,MAAM6I,MAA8B,GAAG,CAAC,CAAC;MACzC,IAAI7I,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC9I,WAAW,CAACiF,OAAO,CAAC,CAACxC,KAAK,EAAEJ,GAAG,KAAK;UAClC,IAAI,OAAOI,KAAK,KAAK,QAAQ,EAAEuH,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;QACpD,CAAC,CAAC;QACF,OAAOuH,MAAM;MACf;MACA,MAAMzK,IAAI,GAAG+G,UAAU,CAAC1D,UAAU,CAACzB,KAAK,CAAC;MACzC5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpB,MAAM6H,GAAG,GAAG5D,UAAU,CAAC/E,GAAG,CAACc,GAAG,EAAElB,KAAK,CAAC;QACtC,IAAI+I,GAAG,KAAK/G,SAAS,EAAE6G,MAAM,CAAC3H,GAAG,CAAC,GAAG6H,GAAG;MAC1C,CAAC,CAAC;MACF,OAAOF,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACD1E,IAAI,EAAGnE,KAAmB,IAAa;IACrC,OAAOW,gBAAgB,CAAC,cAAc,EAAEX,KAAK,EAAE,MAAM;MACnD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAO9I,WAAW,CAACsF,IAAI;MAC1D,OAAOgB,UAAU,CAAChB,IAAI,CAACnE,KAAK,CAAC;IAC/B,CAAC,CAAC;EACJ,CAAC;EACDgJ,gBAAgB,EAAGjC,MAAqB,IAAK;IAC3CjH,YAAY,CAAC,0BAA0B,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EAClE,CAAC;EACDwH,oBAAoB,EAAGC,QAAiB,IAAK;IAC3C5G,YAAY,CAAC,8BAA8B,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EACtE,CAAC;EACDsF,iBAAiB,EAAEA,CAAA,KAAM;IACvB5D,gBAAgB,CAAC,2BAA2B,EAAE3D,YAAY,CAACiC,MAAM,EAAE,MAAM;MACvEsF,iBAAiB,CAAC,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EACDoC,sBAAsB,EAAGsC,MAAc,IAAK;IAC1CnJ,YAAY,CAAC,gCAAgC,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EACxE,CAAC;EACDiK,kBAAkB,EAAGC,QAAiC,IAAK;IACzDvJ,eAAe,GAAGuJ,QAAQ;EAC5B,CAAC;EACDC,kBAAkB,EAAEA,CAAA,KAA4C;IAC9D,MAAMC,QAA8C,GAAG,CAAC,CAAC;IACzDxJ,eAAe,CAACiE,OAAO,CAAC,CAACxC,KAAK,EAAEJ,GAAG,KAAK;MACtCmI,QAAQ,CAACnI,GAAG,CAAC,GAAG;QACdZ,KAAK,EAAEgB,KAAK,CAAChB,KAAK;QAClBC,eAAe,EAAEe,KAAK,CAACf,eAAe;QACtC+I,aAAa,EACXhI,KAAK,CAAChB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGgB,KAAK,CAACf,eAAe,GAAGe,KAAK,CAAChB,KAAK;QAC7DE,aAAa,EAAEc,KAAK,CAACd;MACvB,CAAC;IACH,CAAC,CAAC;IACF,OAAO6I,QAAQ;EACjB,CAAC;EACDE,YAAY,EAAEA,CAAA,KAAM;IAClB1J,eAAe,CAAC2B,KAAK,CAAC,CAAC;EACzB;AACF,CAAC;AAED,OAAO,SAASgI,0BAA0BA,CACxCC,OAAiC,EAC3B;EACN3H,uBAAuB,GAAG2H,OAAO,IAAIzI,kCAAkC,CAAC,CAAC;EACzE3B,wBAAwB,CAAC+D,MAAM,CAACpG,YAAY,CAACiC,MAAM,CAAC;EACpD8D,kBAAkB,CAAC/F,YAAY,CAACiC,MAAM,CAAC;AACzC;AAEA,OAAO,SAASyK,0BAA0BA,CAAA,EAE5B;EACZ,OAAO5H,uBAAuB;AAChC;AA+CA,SAAS6H,kBAAkBA,CAAC7L,IAAsB,EAAW;EAC3D,OACEA,IAAI,CAAC8L,cAAc,KAAK,KAAK,IAC7B9L,IAAI,CAAC+L,cAAc,KAAK,KAAK,IAC7B/L,IAAI,CAACgM,YAAY,KAAK,IAAI,IAC1BhM,IAAI,CAACiM,oBAAoB,KAAK/H,SAAS;AAE3C;AAEA,SAASgI,wBAAwBA,CAAClM,IAAsB,EAAW;EACjE,OACEA,IAAI,CAAC8L,cAAc,KAAK,KAAK,IAC7B9L,IAAI,CAAC+L,cAAc,KAAK,KAAK,IAC7B/L,IAAI,CAACgM,YAAY,KAAK,IAAI;AAE9B;AAEA,SAASG,gBAAgBA,CAAI3I,KAAQ,EAAU;EAC7C,OAAO/D,8BAA8B,CAAC+D,KAAK,CAAC;AAC9C;AAEA,SAAS4I,kBAAkBA,CAAI5I,KAAa,EAAK;EAC/C,OAAO9D,gCAAgC,CAAC8D,KAAK,CAAC;AAChD;AAEA,OAAO,SAAS6I,iBAAiBA,CAC/BC,MAA4B,EACZ;EAChB,MAAMvE,UAAU,GAAGnI,SAAS,CAAC0M,MAAM,CAAC3B,SAAS,EAAE2B,MAAM,CAAClJ,GAAG,CAAC;EAC1D,MAAMmJ,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAIJ,gBAAgB;EACtD,MAAMK,WAAW,GAAGF,MAAM,CAACE,WAAW,IAAIJ,kBAAkB;EAC5D,MAAMK,QAAQ,GAAGH,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAAC2K,MAAM;EACrD,MAAM6C,sBAAsB,GAC1BJ,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAC/BmL,MAAM,CAACK,cAAc,KACrBL,MAAM,CAACM,SAAS,KAAK,IAAI,GACtBxN,cAAc,CAAC4J,YAAY,GAC3B5J,cAAc,CAACyN,IAAI,CAAC,GACxBzN,cAAc,CAACyN,IAAI;EACzB,MAAMC,WAAW,GAAGJ,sBAAsB,KAAKtN,cAAc,CAACyN,IAAI;EAClE,MAAME,mBAAmB,GAAGT,MAAM,CAACtF,aAAa;EAChD,MAAMgG,QAAQ,GAAGV,MAAM,CAACU,QAAQ;EAChC,MAAMC,iBAAiB,GAAGX,MAAM,CAACW,iBAAiB;EAClD,MAAMC,UAAU,GAAGZ,MAAM,CAACY,UAAU;EACpC,MAAMC,SAAS,GAAGb,MAAM,CAACa,SAAS;EAClC,MAAMC,eAAe,GAAGF,UAAU,EAAEG,KAAK;EACzC,MAAMC,gBAAgB,GACpBJ,UAAU,IAAIT,QAAQ,GAAG,IAAIjM,GAAG,CAAiB,CAAC,GAAG,IAAI;EAC3D,MAAM+M,SAAS,GAAG,CAACd,QAAQ,IAAIH,MAAM,CAACiB,SAAS,KAAK,IAAI;EACxD,MAAMC,oBAAoB,GACxBlB,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,IACpCmL,MAAM,CAACkB,oBAAoB,KAAK,IAAI,IACpC,CAACV,WAAW;EACd,MAAMW,YAAY,GAAGnB,MAAM,CAACmB,YAAiB;EAC7C,MAAMC,cAAqC,GACzCpB,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACgC,IAAI,GAC9BhC,YAAY,CAACgC,IAAI,GACjBoL,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAClCjC,YAAY,CAACiC,MAAM,GACnB,IAAI;EAEZ,IAAI+L,UAAU,IAAIA,UAAU,CAACG,KAAK,IAAI,CAAC,EAAE;IACvC,MAAM,IAAIM,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EAEA,MAAMzH,SAAS,GAAG,IAAI5E,GAAG,CAAa,CAAC;EACvC,IAAIsM,WAAgC,GAAG,IAAI;EAC3C,IAAIC,OAAgB,GAAG3J,SAAS;EAChC,IAAI4J,SAAwB;EAC5B,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,aAAwC,GAAG9J,SAAS;EAExD,MAAM+J,qBAAqB,GAAGA,CAAA,KAAM;IAClCJ,OAAO,GAAG3J,SAAS;IACnB4J,SAAS,GAAG5J,SAAS;IACrB6J,YAAY,GAAG,KAAK;IACpBC,aAAa,GAAG9J,SAAS;EAC3B,CAAC;EAED,MAAMgK,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAIN,WAAW,EAAE;MACf;IACF;IAEA,MAAM3H,QAAQ,GAAGA,CAAA,KAAM;MACrBgI,qBAAqB,CAAC,CAAC;MACvB/H,SAAS,CAACF,OAAO,CAAEmI,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI1B,QAAQ,EAAE;MACZmB,WAAW,GAAGzH,cAAc,CAACnF,eAAe,EAAE+G,UAAU,EAAE9B,QAAQ,CAAC;MACnE;IACF;IAEAR,iCAAiC,CAAC,CAAC;IACnCmI,WAAW,GAAGzH,cAAc,CAC1BhB,kBAAkB,CAACuI,cAAe,CAAC,EACnC3F,UAAU,EACV9B,QACF,CAAC;EACH,CAAC;EAED,MAAMmI,aAAa,GAAGA,CAAA,KAAe;IACnC,IAAI3B,QAAQ,EAAE;MACZ,IAAIa,gBAAgB,EAAE;QACpB,MAAMe,SAAS,GAAGf,gBAAgB,CAAChL,GAAG,CAACyF,UAAU,CAAC;QAClD,IAAIsG,SAAS,KAAKnK,SAAS,IAAImK,SAAS,IAAIrL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACtDqK,gBAAgB,CAAChI,MAAM,CAACyC,UAAU,CAAC;UACnChH,WAAW,CAACuE,MAAM,CAACyC,UAAU,CAAC;UAC9BvC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;UAC/CoF,SAAS,GAAGpF,UAAU,CAAC;UACvB,OAAO7D,SAAS;QAClB;MACF;MACA,OAAOnD,WAAW,CAACuB,GAAG,CAACyF,UAAU,CAAC;IACpC;IAEA,IACE2F,cAAc,KAAKxO,YAAY,CAACiC,MAAM,IACtC,CAAC2L,WAAW,IACZvG,qBAAqB,CAACwB,UAAU,CAAC,EACjC;MACA,OAAOzB,sBAAsB,CAACyB,UAAU,CAAC;IAC3C;IAEA,IAAIwF,SAAS,EAAE;MACb,IAAIzH,iBAAiB,CAAC4H,cAAc,EAAG3F,UAAU,CAAC,EAAE;QAClD,OAAOlC,kBAAkB,CAAC6H,cAAc,EAAG3F,UAAU,CAAC;MACxD;IACF;IAEA,IAAI+E,WAAW,EAAE;MACf,OAAOzF,UAAU,CAACgC,kBAAkB,CAACtB,UAAU,CAAC;IAClD;IAEA,MAAMkC,GAAG,GAAG5C,UAAU,CAAC/E,GAAG,CAACyF,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;IACpDqD,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAEkC,GAAG,CAAC;IAC/C,OAAOA,GAAG;EACZ,CAAC;EAED,MAAMqE,cAAc,GAAIC,QAAgB,IAAW;IACjD,IAAIzB,WAAW,EAAE;MACfzF,UAAU,CAAC0B,2BAA2B,CACpChB,UAAU,EACVwG,QAAQ,EACR7B,sBACF,CAAC;MACD;IACF;IAEAnH,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAEwG,QAAQ,CAAC;IAEpD,IAAIf,oBAAoB,EAAE;MACxB/F,mBAAmB,CACjBM,UAAU,EACVwG,QAAQ,EACRxB,mBAAmB,IAAI5N,aAAa,CAAC+H,YACvC,CAAC;MACD;IACF;IAEA,IAAIwG,cAAc,KAAKxO,YAAY,CAACiC,MAAM,EAAE;MAC1CqF,uBAAuB,CAACuB,UAAU,CAAC;IACrC;IAEAV,UAAU,CAAC9E,GAAG,CAACwF,UAAU,EAAEwG,QAAQ,EAAEjC,MAAM,CAACpK,KAAK,CAAC;EACpD,CAAC;EAED,MAAMsM,eAAe,GAAGA,CAAA,KAAY;IAClC,IAAI1B,WAAW,EAAE;MACfzF,UAAU,CAACiC,qBAAqB,CAACvB,UAAU,CAAC;MAC5C;IACF;IAEAxC,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAE7D,SAAS,CAAC;IAErD,IAAIsJ,oBAAoB,EAAE;MACxB/F,mBAAmB,CACjBM,UAAU,EACV7D,SAAS,EACT6I,mBAAmB,IAAI5N,aAAa,CAAC+H,YACvC,CAAC;MACD;IACF;IAEA,IAAIwG,cAAc,KAAKxO,YAAY,CAACiC,MAAM,EAAE;MAC1CqF,uBAAuB,CAACuB,UAAU,CAAC;IACrC;IAEAV,UAAU,CAACW,MAAM,CAACD,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;EAC7C,CAAC;EAED,MAAMuM,2BAA2B,GAAIjL,KAAQ,IAAW;IACtD,IAAIiJ,QAAQ,EAAE;MACZ,IAAIa,gBAAgB,EAAE;QACpBA,gBAAgB,CAAC/K,GAAG,CAACwF,UAAU,EAAE/E,IAAI,CAACC,GAAG,CAAC,CAAC,IAAImK,eAAe,IAAI,CAAC,CAAC,CAAC;MACvE;MACArM,WAAW,CAACwB,GAAG,CAACwF,UAAU,EAAEvE,KAAK,CAAC;MAClCgC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;MAC/C;IACF;IAEA,MAAM2G,UAAU,GAAGnC,SAAS,CAAC/I,KAAK,CAAC;IACnC,IAAI0J,UAAU,EAAE;MACd,MAAMyB,QAAwB,GAAG;QAC/BC,sBAAsB,EAAE,IAAI;QAC5BP,SAAS,EAAErL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGiK,UAAU,CAACG,KAAK;QACxCwB,OAAO,EAAEH;MACX,CAAC;MACDJ,cAAc,CAACQ,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;MACxC;IACF;IAEAL,cAAc,CAACI,UAAU,CAAC;EAC5B,CAAC;EAED,MAAMM,mBAAmB,GAAIC,YAAqB,IAAQ;IACxD,IAAIhC,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAACgC,YAAY,CAAC;IACxC;IAEA,OAAOxB,YAAY;EACrB,CAAC;EAED,MAAMyB,oBAAoB,GAAGA,CAC3BC,SAAkB,EAClBC,cAAuB,KACjB;IACN,IAAI,CAACpC,QAAQ,IAAIA,QAAQ,CAACmC,SAAS,CAAC,EAAE;MACpC,OAAOA,SAAS;IAClB;IAEA,MAAME,QAAQ,GAAGL,mBAAmB,CAACG,SAAS,CAAC;IAC/C,IAAInC,QAAQ,IAAI,CAACA,QAAQ,CAACqC,QAAQ,CAAC,EAAE;MACnC,OAAO5B,YAAY;IACrB;IACA,IAAI2B,cAAc,EAAE;MAClBX,2BAA2B,CAACY,QAAQ,CAAC;IACvC;IACA,OAAOA,QAAQ;EACjB,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAS;IAC3B,MAAMrF,GAAG,GAAGmE,aAAa,CAAC,CAAC;IAE3B,IAAI,CAACd,gBAAgB,IAAIrD,GAAG,KAAK4D,OAAO,IAAIE,YAAY,EAAE;MACxD,IAAI,CAACb,UAAU,IAAIc,aAAa,KAAK,IAAI,EAAE;QACzC,OAAOF,SAAS;MAClB;MAEA,IAAI,OAAOE,aAAa,KAAK,QAAQ,EAAE;QACrC,IAAIA,aAAa,GAAGhL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UAC9B,OAAO6K,SAAS;QAClB;QAEAU,eAAe,CAAC,CAAC;QACjBP,qBAAqB,CAAC,CAAC;QACvBd,SAAS,GAAGpF,UAAU,CAAC;QACvB+F,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;QACrDM,YAAY,GAAG,IAAI;QACnB,OAAOD,SAAS;MAClB;IACF;IAEAD,OAAO,GAAG5D,GAAG;IAEb,IAAIA,GAAG,KAAK/F,SAAS,EAAE;MACrB8J,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;MACrDM,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIrB,QAAQ,EAAE;MACZuB,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACjF,GAAG,EAAE,IAAI,CAAC;MAC3C8D,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAI,OAAO7D,GAAG,KAAK,QAAQ,EAAE;MAC3B+D,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;MACrDM,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIyB,iBAAiB,GAAGtF,GAAG;IAE3B,IAAIiD,UAAU,EAAE;MACd,IAAIsC,iBAAgC,GAAG,IAAI;MAC3C,IAAI;QACF,MAAMtF,MAAM,GAAG4E,IAAI,CAACW,KAAK,CAACxF,GAAG,CAAY;QACzC,IAAI3K,gBAAgB,CAAC4K,MAAM,CAAC,EAAE;UAC5BsF,iBAAiB,GAAGtF,MAAM,CAACmE,SAAS;UACpC,IAAInE,MAAM,CAACmE,SAAS,IAAIrL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YAClCuL,eAAe,CAAC,CAAC;YACjBP,qBAAqB,CAAC,CAAC;YACvBd,SAAS,GAAGpF,UAAU,CAAC;YACvB+F,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;YACrDM,YAAY,GAAG,IAAI;YACnB,OAAOD,SAAS;UAClB;UAEAyB,iBAAiB,GAAGrF,MAAM,CAAC2E,OAAO;QACpC;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEFb,aAAa,GAAGwB,iBAAiB;IACnC,CAAC,MAAM;MACLxB,aAAa,GAAG9J,SAAS;IAC3B;IAEA4J,SAAS,GAAGoB,oBAAoB,CAAC1C,WAAW,CAAC+C,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACtExB,YAAY,GAAG,IAAI;IACnB,OAAOD,SAAS;EAClB,CAAC;EAED,MAAM4B,iBAAiB,GAAGA,CAAA,KAAsB;IAC9C,MAAMzF,GAAG,GAAGmE,aAAa,CAAC,CAAC;IAC3B,OAAOzO,cAAc,CAACsK,GAAG,CAAC;EAC5B,CAAC;EAED,MAAM3H,GAAG,GAAGA,CAAA,KACVO,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAMoN,WAAW,CAAC,CAAC,CAAC;EAEjE,MAAMK,cAAc,GAAGA,CAAA,KACrB9M,gBAAgB,CAAC,qBAAqB,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,OAAO;IAC3DsB,KAAK,EAAE8L,WAAW,CAAC,CAAC;IACpB/E,OAAO,EAAEmF,iBAAiB,CAAC;EAC7B,CAAC,CAAC,CAAC;EAEL,MAAMnN,GAAG,GAAIrC,SAA+B,IAAW;IACrD2C,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;MAC/C,MAAMmD,QAAQ,GAAGpF,SAAS,CAACC,SAAS,CAAC,GACjCA,SAAS,CAACoP,WAAW,CAAC,CAAC,CAAC,GACxBpP,SAAS;MAEb+N,qBAAqB,CAAC,CAAC;MAEvB,IAAIjB,QAAQ,IAAI,CAACA,QAAQ,CAAC3H,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAIsI,KAAK,CACb,8BAA8B5F,UAAU,eAAe7I,YAAY,CAACoN,MAAM,CAACpK,KAAK,CAAC,IACnF,CAAC;MACH;MAEAuM,2BAA2B,CAACpJ,QAAQ,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAED,MAAMuK,YAAY,GAAGA,CACnBrF,OAAuB,EACvBrK,SAA+B,KAE/B2C,gBAAgB,CAAC,mBAAmB,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;IACxD,MAAM2N,cAAc,GAAGH,iBAAiB,CAAC,CAAC;IAC1C,IAAIG,cAAc,KAAKtF,OAAO,EAAE;MAC9B,OAAO,KAAK;IACd;IACAhI,GAAG,CAACrC,SAAS,CAAC;IACd,OAAO,IAAI;EACb,CAAC,CAAC;EAEJ,MAAM4P,UAAU,GAAGA,CAAA,KAAY;IAC7BjN,gBAAgB,CAAC,aAAa,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;MAClD+L,qBAAqB,CAAC,CAAC;MAEvB,IAAIxB,QAAQ,EAAE;QACZ,IAAIa,gBAAgB,EAAE;UACpBA,gBAAgB,CAAChI,MAAM,CAACyC,UAAU,CAAC;QACrC;QACAhH,WAAW,CAACuE,MAAM,CAACyC,UAAU,CAAC;QAC9BvC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;QAC/C;MACF;MAEAyG,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMuB,OAAO,GAAGA,CAAA,KACdlN,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;IAC/C,IAAIuK,QAAQ,EAAE,OAAO1L,WAAW,CAAC2D,GAAG,CAACqD,UAAU,CAAC;IAChD,IAAI+E,WAAW,EAAE,OAAOzF,UAAU,CAACkC,kBAAkB,CAACxB,UAAU,CAAC;IACjE,OAAOV,UAAU,CAAC3C,GAAG,CAACqD,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;EACjD,CAAC,CAAC;EAEJ,MAAM8N,SAAS,GAAI7B,QAAoB,IAAmB;IACxDD,kBAAkB,CAAC,CAAC;IACpBhI,SAAS,CAACrB,GAAG,CAACsJ,QAAQ,CAAC;IACvB,OAAO,MAAM;MACXjI,SAAS,CAACZ,MAAM,CAAC6I,QAAQ,CAAC;MAC1B,IAAIjI,SAAS,CAACG,IAAI,KAAK,CAAC,IAAIuH,WAAW,EAAE;QACvCA,WAAW,CAAC,CAAC;QACbA,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;EACH,CAAC;EAED,MAAMqC,WAAmC,GAAG;IAC1C3N,GAAG;IACHqN,cAAc;IACdpN,GAAG;IACHqN,YAAY;IACZtK,MAAM,EAAEwK,UAAU;IAClBpL,GAAG,EAAEqL,OAAO;IACZC,SAAS;IACTzD,SAAS;IACTC,WAAW;IACX0D,iBAAiB,EAAEA,CAAA,KAAM;MACvBjC,qBAAqB,CAAC,CAAC;MACvB/H,SAAS,CAACF,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD8F,cAAc,EAAEiB,QAAQ,KAAK9I,SAAS;IACtC4H,cAAc,EAAEoB,UAAU,KAAKhJ,SAAS;IACxCiM,iBAAiB,EAAE5C,SAAS;IAC5BvB,YAAY,EAAEc,WAAW;IACzBsD,aAAa,EAAE3C,YAAY;IAC3B,IAAIV,mBAAmB,KAAK7I,SAAS,GACjC;MAAE+H,oBAAoB,EAAEc;IAAoB,CAAC,GAC7C,CAAC,CAAC,CAAC;IACP7K,KAAK,EAAEoK,MAAM,CAACpK,KAAK;IACnBkB,GAAG,EAAE2E;EACP,CAAC;EAED,OAAOkI,WAAW;AACpB;AAEA,SAASI,UAAU,EAAEC,kBAAkB,EAAEC,aAAa,QAAQ,iBAAiB;AAoB/E,OAAO,SAASrI,QAAQA,CACtBsI,KAAwC,EACxCtO,KAAmB,EACR;EACX,OAAOW,gBAAgB,CACrB,WAAW,EACXX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CAACiR,KAAK,EAAEtO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC,OAAO2G,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACsC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAMmO,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAE1Q,IAAI,IACvCkC,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GACzB+K,wBAAwB,CAAClM,IAAI,CAAC,GAC9B6L,kBAAkB,CAAC7L,IAAI,CAC7B,CAAC;IACD,IAAI,CAACyQ,eAAe,EAAE;MACpB,OAAOD,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACsC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAMqO,SAAS,GAAG,IAAIhK,KAAK,CAAqB6J,KAAK,CAAC1M,MAAM,CAAC;IAC7D,MAAM8M,WAAqB,GAAG,EAAE;IAChC,MAAMC,UAAoB,GAAG,EAAE;IAE/BL,KAAK,CAACxK,OAAO,CAAC,CAAChG,IAAI,EAAE6D,KAAK,KAAK;MAC7B,IAAI3B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjC,IAAIoF,qBAAqB,CAACvG,IAAI,CAACoD,GAAG,CAAC,EAAE;UACnCuN,SAAS,CAAC9M,KAAK,CAAC,GAAGyC,sBAAsB,CAACtG,IAAI,CAACoD,GAAG,CAAC;UACnD;QACF;MACF;MAEA,IAAIpD,IAAI,CAACmQ,iBAAiB,KAAK,IAAI,EAAE;QACnC,IAAIrK,iBAAiB,CAAC5D,KAAK,EAAElC,IAAI,CAACoD,GAAG,CAAC,EAAE;UACtCuN,SAAS,CAAC9M,KAAK,CAAC,GAAGgC,kBAAkB,CAAC3D,KAAK,EAAElC,IAAI,CAACoD,GAAG,CAAC;UACtD;QACF;MACF;MAEAwN,WAAW,CAAC7M,IAAI,CAAC/D,IAAI,CAACoD,GAAG,CAAC;MAC1ByN,UAAU,CAAC9M,IAAI,CAACF,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI+M,WAAW,CAAC9M,MAAM,GAAG,CAAC,EAAE;MAC1B,MAAMgN,aAAa,GAAGzJ,UAAU,CAACa,QAAQ,CAAC0I,WAAW,EAAE1O,KAAK,CAAC;MAC7D4O,aAAa,CAAC9K,OAAO,CAAC,CAACxC,KAAK,EAAEK,KAAK,KAAK;QACtC,MAAMT,GAAG,GAAGwN,WAAW,CAAC/M,KAAK,CAAC;QAC9B,MAAMkN,WAAW,GAAGF,UAAU,CAAChN,KAAK,CAAC;QACrC,IAAIT,GAAG,KAAKc,SAAS,IAAI6M,WAAW,KAAK7M,SAAS,EAAE;UAClD;QACF;QACAyM,SAAS,CAACI,WAAW,CAAC,GAAGvN,KAAK;QAC9B+B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEI,KAAK,CAAC;MAClC,CAAC,CAAC;IACJ;IAEA,OAAOgN,KAAK,CAACrI,GAAG,CAAC,CAACnI,IAAI,EAAE6D,KAAK,KAAK;MAChC,MAAMoG,GAAG,GAAG0G,SAAS,CAAC9M,KAAK,CAAC;MAC5B,IAAIoG,GAAG,KAAK/F,SAAS,EAAE;QACrB,OAAOnE,UAAU,CAACC,IAA4B,CAAC,CAACoQ,aAAa;MAC/D;MACA,OAAOpQ,IAAI,CAACwM,WAAW,CAACvC,GAAG,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,EACDuG,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAASyD,QAAQA,CACtBiJ,KAAwC,EACxCtO,KAAmB,EACb;EACNW,gBAAgB,CACd,WAAW,EACXX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CACdiR,KAAK,CAACrI,GAAG,CAAE6I,UAAU,IAAKA,UAAU,CAAChR,IAAI,CAAC,EAC1CkC,KACF,CAAC;IAED,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC2G,KAAK,CAACxK,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD;MAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,IAAItB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,MAAM8P,aAAa,GAAGT,KAAK,CAACrI,GAAG,CAAC,CAAC;QAAEnI,IAAI;QAAEwD;MAAM,CAAC,MAAM;QACpDxD,IAAI;QACJwD,KAAK;QACL0N,QAAQ,EAAEnR,UAAU,CAACC,IAAI;MAC3B,CAAC,CAAC,CAAC;MACH,MAAMmR,qBAAqB,GAAGF,aAAa,CAACP,KAAK,CAAC,CAAC;QAAEQ;MAAS,CAAC,KAC7DhF,wBAAwB,CAACgF,QAAQ,CACnC,CAAC;MACD,IAAI,CAACC,qBAAqB,EAAE;QAC1BX,KAAK,CAACxK,OAAO,CAAC,CAAC;UAAEhG,IAAI;UAAEwD;QAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;QACnD;MACF;MAEAiD,iBAAiB,CAAC,CAAC;MACnB,MAAM2K,sBAAsB,GAAG,IAAI5Q,GAAG,CAGpC,CAAC;MAEHyQ,aAAa,CAACjL,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD,KAAK;QAAE0N;MAAS,CAAC,KAAK;QACnD,MAAMlK,aAAa,GACjBkK,QAAQ,CAACjF,oBAAoB,IAAI9M,aAAa,CAAC+H,YAAY;QAC7D,MAAMC,aAAa,GAAGiK,sBAAsB,CAAC9O,GAAG,CAAC0E,aAAa,CAAC;QAC/D,MAAMI,KAAK,GAAGD,aAAa,IAAI;UAAE7G,IAAI,EAAE,EAAE;UAAEuG,MAAM,EAAE;QAAG,CAAC;QACvDO,KAAK,CAAC9G,IAAI,CAACyD,IAAI,CAAC/D,IAAI,CAACoD,GAAG,CAAC;QACzBgE,KAAK,CAACP,MAAM,CAAC9C,IAAI,CAAC/D,IAAI,CAACuM,SAAS,CAAC/I,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC2D,aAAa,EAAE;UAClBiK,sBAAsB,CAAC7O,GAAG,CAACyE,aAAa,EAAEI,KAAK,CAAC;QAClD;MACF,CAAC,CAAC;MAEFgK,sBAAsB,CAACpL,OAAO,CAAC,CAACoB,KAAK,EAAEJ,aAAa,KAAK;QACvDK,UAAU,CAACC,sBAAsB,CAACN,aAAa,CAAC;QAChDK,UAAU,CAACE,QAAQ,CAACH,KAAK,CAAC9G,IAAI,EAAE8G,KAAK,CAACP,MAAM,EAAE3E,KAAK,CAAC;QACpDkF,KAAK,CAAC9G,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAC5B0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEgE,KAAK,CAACP,MAAM,CAAChD,KAAK,CAAC,CAC/C,CAAC;MACH,CAAC,CAAC;MACF;IACF;IAEA,MAAM4M,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;MAAE1Q;IAAK,CAAC,KAC3C6L,kBAAkB,CAAC9L,UAAU,CAACC,IAAI,CAAC,CACrC,CAAC;IACD,IAAI,CAACyQ,eAAe,EAAE;MACpBD,KAAK,CAACxK,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD;MAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,MAAMlD,IAAI,GAAGkQ,KAAK,CAACrI,GAAG,CAAEkJ,KAAK,IAAKA,KAAK,CAACrR,IAAI,CAACoD,GAAG,CAAC;IACjD,MAAMyD,MAAM,GAAG2J,KAAK,CAACrI,GAAG,CAAEkJ,KAAK,IAAKA,KAAK,CAACrR,IAAI,CAACuM,SAAS,CAAC8E,KAAK,CAAC7N,KAAK,CAAC,CAAC;IACtE6D,UAAU,CAACE,QAAQ,CAACjH,IAAI,EAAEuG,MAAM,EAAE3E,KAAK,CAAC;IACxC5B,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEyD,MAAM,CAAChD,KAAK,CAAC,CAAC,CAAC;EACxE,CAAC,EACD2M,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAAS0D,WAAWA,CACzBgJ,KAAiC,EACjCtO,KAAmB,EACb;EACNW,gBAAgB,CACd,cAAc,EACdX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CAACiR,KAAK,EAAEtO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC2G,KAAK,CAACxK,OAAO,CAAEhG,IAAI,IAAKA,IAAI,CAACsF,MAAM,CAAC,CAAC,CAAC;MACtC;IACF;IAEA,MAAMhF,IAAI,GAAGkQ,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACoD,GAAG,CAAC;IAC1C,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCsF,iBAAiB,CAAC,CAAC;IACrB;IACAY,UAAU,CAACG,WAAW,CAAClH,IAAI,EAAE4B,KAAK,CAAC;IACnC5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKmC,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC,CAAC;EAC7D,CAAC,EACDsM,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAASwN,iBAAiBA,CAAC/G,OAAe,EAAEgH,SAAoB,EAAQ;EAC7E,IAAI,CAACpH,MAAM,CAACqH,SAAS,CAACjH,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE;IAC9C,MAAM,IAAIoD,KAAK,CAAC,+CAA+C,CAAC;EAClE;EAEA,IAAIpN,oBAAoB,CAACmE,GAAG,CAAC6F,OAAO,CAAC,EAAE;IACrC,MAAM,IAAIoD,KAAK,CAAC,qBAAqBpD,OAAO,yBAAyB,CAAC;EACxE;EAEAhK,oBAAoB,CAACgC,GAAG,CAACgI,OAAO,EAAEgH,SAAS,CAAC;AAC9C;AAEA,OAAO,SAASE,eAAeA,CAC7BvP,KAAmB,GAAGhD,YAAY,CAACgC,IAAI,EAC/B;EACR,OAAO2B,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;IACpD1C,gBAAgB,CAAC0C,KAAK,CAAC;IACvB,MAAM2N,cAAc,GAAG7F,oBAAoB,CAAC9H,KAAK,CAAC;IAClD,MAAMwP,QAAQ,GAAG/K,KAAK,CAACC,IAAI,CAACrG,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CACrDgI,MAAM,CAAEiC,OAAO,IAAKA,OAAO,GAAGsF,cAAc,CAAC,CAC7C8B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;IAExB,IAAIC,cAAc,GAAGjC,cAAc;IACnC,MAAMkC,OAAyB,GAAG;MAChC7P,KAAK;MACL8P,MAAM,EAAG5O,GAAG,IAAKwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC;MACxC+P,MAAM,EAAEA,CAAC7O,GAAG,EAAEI,KAAK,KAAKsG,WAAW,CAAC1G,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;MACtDgQ,SAAS,EAAG9O,GAAG,IAAK2G,cAAc,CAAC3G,GAAG,EAAElB,KAAK;IAC/C,CAAC;IAEDwP,QAAQ,CAAC1L,OAAO,CAAEuE,OAAO,IAAK;MAC5B,MAAMgH,SAAS,GAAGhR,oBAAoB,CAAC+B,GAAG,CAACiI,OAAO,CAAC;MACnD,IAAI,CAACgH,SAAS,EAAE;QACd;MACF;MACAA,SAAS,CAACQ,OAAO,CAAC;MAClBzH,qBAAqB,CAACpI,KAAK,EAAEqI,OAAO,CAAC;MACrCuH,cAAc,GAAGvH,OAAO;IAC1B,CAAC,CAAC;IAEF,OAAOuH,cAAc;EACvB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASK,cAAcA,CAC5BjQ,KAAmB,EACnBkQ,WAA+C,EAC5C;EACH,OAAOvP,gBAAgB,CAAC,iBAAiB,EAAEX,KAAK,EAAE,MAAM;IACtD1C,gBAAgB,CAAC0C,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCsF,iBAAiB,CAAC,CAAC;IACrB;IAEA,MAAM4L,QAAQ,GAAG,IAAI7R,GAAG,CAA6B,CAAC;IAEtD,MAAM8R,gBAAgB,GAAIlP,GAAW,IAAK;MACxC,IAAIiP,QAAQ,CAAC3N,GAAG,CAACtB,GAAG,CAAC,EAAE;QACrB;MACF;MACAiP,QAAQ,CAAC9P,GAAG,CAACa,GAAG,EAAEwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAMqQ,EAAsB,GAAG;MAC7BrQ,KAAK;MACL8P,MAAM,EAAG5O,GAAG,IAAKwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC;MACxC+P,MAAM,EAAEA,CAAC7O,GAAG,EAAEI,KAAK,KAAK;QACtB8O,gBAAgB,CAAClP,GAAG,CAAC;QACrB0G,WAAW,CAAC1G,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;MAChC,CAAC;MACDgQ,SAAS,EAAG9O,GAAG,IAAK;QAClBkP,gBAAgB,CAAClP,GAAG,CAAC;QACrB2G,cAAc,CAAC3G,GAAG,EAAElB,KAAK,CAAC;MAC5B,CAAC;MACDiB,OAAO,EAAGnD,IAAI,IAAK;QACjBT,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/B,OAAOlC,IAAI,CAACsC,GAAG,CAAC,CAAC;MACnB,CAAC;MACDiB,OAAO,EAAEA,CAACvD,IAAI,EAAEwD,KAAK,KAAK;QACxBjE,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/BoQ,gBAAgB,CAACtS,IAAI,CAACoD,GAAG,CAAC;QAC1BpD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC;MACjB,CAAC;MACDC,UAAU,EAAGzD,IAAI,IAAK;QACpBT,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/BoQ,gBAAgB,CAACtS,IAAI,CAACoD,GAAG,CAAC;QAC1BpD,IAAI,CAACsF,MAAM,CAAC,CAAC;MACf;IACF,CAAC;IAED,IAAI;MACF,OAAO8M,WAAW,CAACG,EAAE,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAMC,eAAe,GAAG9L,KAAK,CAACC,IAAI,CAACyL,QAAQ,CAACK,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAChE,IAAIzQ,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC4I,eAAe,CAACzM,OAAO,CAAC,CAAC,CAAC5C,GAAG,EAAEwP,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAK1O,SAAS,EAAE;YAC/B6F,cAAc,CAAC3G,GAAG,EAAElB,KAAK,CAAC;UAC5B,CAAC,MAAM;YACL4H,WAAW,CAAC1G,GAAG,EAAEwP,aAAa,EAAE1Q,KAAK,CAAC;UACxC;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM2Q,SAAmB,GAAG,EAAE;QAC9B,MAAMC,WAAqB,GAAG,EAAE;QAChC,MAAM/L,YAAsB,GAAG,EAAE;QAEjC0L,eAAe,CAACzM,OAAO,CAAC,CAAC,CAAC5C,GAAG,EAAEwP,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAK1O,SAAS,EAAE;YAC/B6C,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;UACxB,CAAC,MAAM;YACLyP,SAAS,CAAC9O,IAAI,CAACX,GAAG,CAAC;YACnB0P,WAAW,CAAC/O,IAAI,CAAC6O,aAAa,CAAC;UACjC;QACF,CAAC,CAAC;QAEF,IAAI1Q,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;UACjCsF,iBAAiB,CAAC,CAAC;QACrB;QACA,IAAIoM,SAAS,CAAC/O,MAAM,GAAG,CAAC,EAAE;UACxBuD,UAAU,CAACE,QAAQ,CAACsL,SAAS,EAAEC,WAAW,EAAE5Q,KAAK,CAAC;UAClD2Q,SAAS,CAAC7M,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAC3B0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAE0P,WAAW,CAACjP,KAAK,CAAC,CAC9C,CAAC;QACH;QACA,IAAIkD,YAAY,CAACjD,MAAM,GAAG,CAAC,EAAE;UAC3BuD,UAAU,CAACG,WAAW,CAACT,YAAY,EAAE7E,KAAK,CAAC;UAC3C6E,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKmC,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC,CAAC;QACrE;MACF;MACA,MAAMsO,KAAK;IACb;EACF,CAAC,CAAC;AACJ;AAYA,OAAO,SAASO,uBAAuBA,CACrCzG,MAAkC,EAClC0G,OAAgC,EACA;EAChC,MAAMC,EAAE,GAAGD,OAAO,EAAErI,SAAS,IAAI,MAAM;EACvC,MAAMI,MAA+C,GAAG,CAAC,CAAC;EAE1D,KAAK,MAAM3H,GAAG,IAAIjD,SAAS,CAACmM,MAAM,CAAC,EAAE;IACnC,MAAM4G,UAAU,GAAG5G,MAAM,CAAClJ,GAAG,CAAC;IAC9B,MAAM+P,gBAAgB,GACpBD,UAAU,CAAC7F,KAAK,KAAKnJ,SAAS,GAAG;MAAEmJ,KAAK,EAAE6F,UAAU,CAAC7F;IAAM,CAAC,GAAGnJ,SAAS;IAC1E6G,MAAM,CAAC3H,GAAG,CAAC,GAAGiJ,iBAAiB,CAAS;MACtCjJ,GAAG;MACHlB,KAAK,EAAEhD,YAAY,CAACiC,MAAM;MAC1BsM,YAAY,EAAE,EAAE;MAChB9C,SAAS,EAAEsI,EAAE;MACb,IAAIC,UAAU,CAACtG,SAAS,KAAK1I,SAAS,GAClC;QAAE0I,SAAS,EAAEsG,UAAU,CAACtG;MAAU,CAAC,GACnC,CAAC,CAAC,CAAC;MACP,IAAIsG,UAAU,CAACvG,cAAc,KAAKzI,SAAS,GACvC;QAAEyI,cAAc,EAAEuG,UAAU,CAACvG;MAAe,CAAC,GAC7C,CAAC,CAAC,CAAC;MACP,IAAIuG,UAAU,CAAClM,aAAa,KAAK9C,SAAS,GACtC;QAAE8C,aAAa,EAAEkM,UAAU,CAAClM;MAAc,CAAC,GAC3C,CAAC,CAAC,CAAC;MACP,IAAImM,gBAAgB,KAAKjP,SAAS,GAC9B;QAAEgJ,UAAU,EAAEiG;MAAiB,CAAC,GAChC,CAAC,CAAC;IACR,CAAC,CAAC;EACJ;EAEA,OAAOpI,MAAM;AACf","ignoreList":[]}
|
package/lib/module/internal.js
CHANGED
|
@@ -5,6 +5,7 @@ export const MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
|
|
|
5
5
|
export const NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
|
|
6
6
|
const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
|
|
7
7
|
const NAMESPACE_SEPARATOR = ":";
|
|
8
|
+
const VERSION_TOKEN_PREFIX = "__nitro_storage_version__:";
|
|
8
9
|
export function isStoredEnvelope(value) {
|
|
9
10
|
if (typeof value !== "object" || value === null) {
|
|
10
11
|
return false;
|
|
@@ -97,4 +98,27 @@ export function deserializeWithPrimitiveFastPath(value) {
|
|
|
97
98
|
return value;
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
function fnv1aHash(value) {
|
|
102
|
+
let hash = 0x811c9dc5;
|
|
103
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
104
|
+
hash ^= value.charCodeAt(index);
|
|
105
|
+
hash = Math.imul(hash, 0x01000193);
|
|
106
|
+
}
|
|
107
|
+
return (hash >>> 0).toString(16).padStart(8, "0");
|
|
108
|
+
}
|
|
109
|
+
export function toVersionToken(raw) {
|
|
110
|
+
if (raw === undefined) {
|
|
111
|
+
return `${VERSION_TOKEN_PREFIX}missing`;
|
|
112
|
+
}
|
|
113
|
+
if (typeof raw === "string") {
|
|
114
|
+
return `${VERSION_TOKEN_PREFIX}${raw.length}:${fnv1aHash(raw)}`;
|
|
115
|
+
}
|
|
116
|
+
let normalized;
|
|
117
|
+
try {
|
|
118
|
+
normalized = JSON.stringify(raw) ?? String(raw);
|
|
119
|
+
} catch {
|
|
120
|
+
normalized = String(raw);
|
|
121
|
+
}
|
|
122
|
+
return `${VERSION_TOKEN_PREFIX}${normalized.length}:${fnv1aHash(normalized)}`;
|
|
123
|
+
}
|
|
100
124
|
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAE9C,OAAO,MAAMC,qBAAqB,GAAG,qCAAqC;AAC1E,OAAO,MAAMC,6BAA6B,GACxC,qCAAqC;AACvC,MAAMC,0BAA0B,GAAG,8BAA8B;AACjE,MAAMC,mBAAmB,GAAG,GAAG;
|
|
1
|
+
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse","fnv1aHash","hash","index","charCodeAt","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useRef, useSyncExternalStore } from "react";
|
|
4
|
+
export function useStorage(item) {
|
|
5
|
+
const value = useSyncExternalStore(item.subscribe, item.get, item.get);
|
|
6
|
+
return [value, item.set];
|
|
7
|
+
}
|
|
8
|
+
export function useStorageSelector(item, selector, isEqual = Object.is) {
|
|
9
|
+
const selectedRef = useRef({
|
|
10
|
+
hasValue: false
|
|
11
|
+
});
|
|
12
|
+
const getSelectedSnapshot = () => {
|
|
13
|
+
const nextSelected = selector(item.get());
|
|
14
|
+
const current = selectedRef.current;
|
|
15
|
+
if (current.hasValue && isEqual(current.value, nextSelected)) {
|
|
16
|
+
return current.value;
|
|
17
|
+
}
|
|
18
|
+
selectedRef.current = {
|
|
19
|
+
hasValue: true,
|
|
20
|
+
value: nextSelected
|
|
21
|
+
};
|
|
22
|
+
return nextSelected;
|
|
23
|
+
};
|
|
24
|
+
const selectedValue = useSyncExternalStore(item.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
25
|
+
return [selectedValue, item.set];
|
|
26
|
+
}
|
|
27
|
+
export function useSetStorage(item) {
|
|
28
|
+
return item.set;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=storage-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AAQpD,OAAO,SAASC,UAAUA,CACxBC,IAAwB,EACoB;EAC5C,MAAMC,KAAK,GAAGH,oBAAoB,CAACE,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACG,GAAG,CAAC;EACtE,OAAO,CAACF,KAAK,EAAED,IAAI,CAACI,GAAG,CAAC;AAC1B;AAEA,OAAO,SAASC,kBAAkBA,CAChCL,IAAwB,EACxBM,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACd;EACpD,MAAMC,WAAW,GAAGb,MAAM,CAExB;IACAc,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGP,QAAQ,CAACN,IAAI,CAACG,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMW,OAAO,GAAGJ,WAAW,CAACI,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIJ,OAAO,CAACO,OAAO,CAACb,KAAK,EAAEY,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACb,KAAK;IACtB;IAEAS,WAAW,CAACI,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEV,KAAK,EAAEY;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAGjB,oBAAoB,CACxCE,IAAI,CAACE,SAAS,EACdU,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEf,IAAI,CAACI,GAAG,CAAC;AAClC;AAEA,OAAO,SAASY,aAAaA,CAAIhB,IAAwB,EAAE;EACzD,OAAOA,IAAI,CAACI,GAAG;AACjB","ignoreList":[]}
|
|
@@ -9,14 +9,18 @@ export interface Storage extends HybridObject<{
|
|
|
9
9
|
clear(scope: number): void;
|
|
10
10
|
has(key: string, scope: number): boolean;
|
|
11
11
|
getAllKeys(scope: number): string[];
|
|
12
|
+
getKeysByPrefix(prefix: string, scope: number): string[];
|
|
12
13
|
size(scope: number): number;
|
|
13
14
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
14
15
|
getBatch(keys: string[], scope: number): (string | undefined)[];
|
|
15
16
|
removeBatch(keys: string[], scope: number): void;
|
|
17
|
+
removeByPrefix(prefix: string, scope: number): void;
|
|
16
18
|
addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
|
|
17
19
|
setSecureAccessControl(level: number): void;
|
|
20
|
+
setSecureWritesAsync(enabled: boolean): void;
|
|
18
21
|
setKeychainAccessGroup(group: string): void;
|
|
19
22
|
setSecureBiometric(key: string, value: string): void;
|
|
23
|
+
setSecureBiometricWithLevel(key: string, value: string, level: number): void;
|
|
20
24
|
getSecureBiometric(key: string): string | undefined;
|
|
21
25
|
deleteSecureBiometric(key: string): void;
|
|
22
26
|
hasSecureBiometric(key: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;IACd,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,oBAAoB,IAAI,IAAI,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;IACd,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,oBAAoB,IAAI,IAAI,CAAC;CAC9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StorageScope, AccessControl } from "./Storage.types";
|
|
1
|
+
import { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
2
2
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
3
3
|
export type { Storage } from "./Storage.nitro";
|
|
4
4
|
export { migrateFromMMKV } from "./migration";
|
|
@@ -6,6 +6,31 @@ export type Validator<T> = (value: unknown) => value is T;
|
|
|
6
6
|
export type ExpirationConfig = {
|
|
7
7
|
ttlMs: number;
|
|
8
8
|
};
|
|
9
|
+
export type StorageVersion = string;
|
|
10
|
+
export type VersionedValue<T> = {
|
|
11
|
+
value: T;
|
|
12
|
+
version: StorageVersion;
|
|
13
|
+
};
|
|
14
|
+
export type StorageMetricsEvent = {
|
|
15
|
+
operation: string;
|
|
16
|
+
scope: StorageScope;
|
|
17
|
+
durationMs: number;
|
|
18
|
+
keysCount: number;
|
|
19
|
+
};
|
|
20
|
+
export type StorageMetricsObserver = (event: StorageMetricsEvent) => void;
|
|
21
|
+
export type StorageMetricSummary = {
|
|
22
|
+
count: number;
|
|
23
|
+
totalDurationMs: number;
|
|
24
|
+
avgDurationMs: number;
|
|
25
|
+
maxDurationMs: number;
|
|
26
|
+
};
|
|
27
|
+
export type WebSecureStorageBackend = {
|
|
28
|
+
getItem: (key: string) => string | null;
|
|
29
|
+
setItem: (key: string, value: string) => void;
|
|
30
|
+
removeItem: (key: string) => void;
|
|
31
|
+
clear: () => void;
|
|
32
|
+
getAllKeys: () => string[];
|
|
33
|
+
};
|
|
9
34
|
export type MigrationContext = {
|
|
10
35
|
scope: StorageScope;
|
|
11
36
|
getRaw: (key: string) => string | undefined;
|
|
@@ -29,11 +54,20 @@ export declare const storage: {
|
|
|
29
54
|
clearBiometric: () => void;
|
|
30
55
|
has: (key: string, scope: StorageScope) => boolean;
|
|
31
56
|
getAllKeys: (scope: StorageScope) => string[];
|
|
57
|
+
getKeysByPrefix: (prefix: string, scope: StorageScope) => string[];
|
|
58
|
+
getByPrefix: (prefix: string, scope: StorageScope) => Record<string, string>;
|
|
32
59
|
getAll: (scope: StorageScope) => Record<string, string>;
|
|
33
60
|
size: (scope: StorageScope) => number;
|
|
34
61
|
setAccessControl: (level: AccessControl) => void;
|
|
62
|
+
setSecureWritesAsync: (enabled: boolean) => void;
|
|
63
|
+
flushSecureWrites: () => void;
|
|
35
64
|
setKeychainAccessGroup: (group: string) => void;
|
|
65
|
+
setMetricsObserver: (observer?: StorageMetricsObserver) => void;
|
|
66
|
+
getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
|
|
67
|
+
resetMetrics: () => void;
|
|
36
68
|
};
|
|
69
|
+
export declare function setWebSecureStorageBackend(_backend?: WebSecureStorageBackend): void;
|
|
70
|
+
export declare function getWebSecureStorageBackend(): WebSecureStorageBackend | undefined;
|
|
37
71
|
export interface StorageItemConfig<T> {
|
|
38
72
|
key: string;
|
|
39
73
|
scope: StorageScope;
|
|
@@ -48,11 +82,14 @@ export interface StorageItemConfig<T> {
|
|
|
48
82
|
coalesceSecureWrites?: boolean;
|
|
49
83
|
namespace?: string;
|
|
50
84
|
biometric?: boolean;
|
|
85
|
+
biometricLevel?: BiometricLevel;
|
|
51
86
|
accessControl?: AccessControl;
|
|
52
87
|
}
|
|
53
88
|
export interface StorageItem<T> {
|
|
54
89
|
get: () => T;
|
|
90
|
+
getWithVersion: () => VersionedValue<T>;
|
|
55
91
|
set: (value: T | ((prev: T) => T)) => void;
|
|
92
|
+
setIfVersion: (version: StorageVersion, value: T | ((prev: T) => T)) => boolean;
|
|
56
93
|
delete: () => void;
|
|
57
94
|
has: () => boolean;
|
|
58
95
|
subscribe: (callback: () => void) => () => void;
|
|
@@ -62,14 +99,13 @@ export interface StorageItem<T> {
|
|
|
62
99
|
key: string;
|
|
63
100
|
}
|
|
64
101
|
export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
|
|
65
|
-
export
|
|
66
|
-
export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
|
|
67
|
-
export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
|
|
102
|
+
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
68
103
|
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
|
|
69
104
|
_hasValidation?: boolean;
|
|
70
105
|
_hasExpiration?: boolean;
|
|
71
106
|
_readCacheEnabled?: boolean;
|
|
72
107
|
_isBiometric?: boolean;
|
|
108
|
+
_defaultValue?: unknown;
|
|
73
109
|
_secureAccessControl?: AccessControl;
|
|
74
110
|
};
|
|
75
111
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
@@ -86,6 +122,7 @@ export declare function runTransaction<T>(scope: StorageScope, transaction: (con
|
|
|
86
122
|
export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
87
123
|
ttlMs?: number;
|
|
88
124
|
biometric?: boolean;
|
|
125
|
+
biometricLevel?: BiometricLevel;
|
|
89
126
|
accessControl?: AccessControl;
|
|
90
127
|
}>;
|
|
91
128
|
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,35 @@
|
|
|
1
|
-
import { StorageScope, AccessControl } from "./Storage.types";
|
|
1
|
+
import { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
2
2
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
3
3
|
export { migrateFromMMKV } from "./migration";
|
|
4
4
|
export type Validator<T> = (value: unknown) => value is T;
|
|
5
5
|
export type ExpirationConfig = {
|
|
6
6
|
ttlMs: number;
|
|
7
7
|
};
|
|
8
|
+
export type StorageVersion = string;
|
|
9
|
+
export type VersionedValue<T> = {
|
|
10
|
+
value: T;
|
|
11
|
+
version: StorageVersion;
|
|
12
|
+
};
|
|
13
|
+
export type StorageMetricsEvent = {
|
|
14
|
+
operation: string;
|
|
15
|
+
scope: StorageScope;
|
|
16
|
+
durationMs: number;
|
|
17
|
+
keysCount: number;
|
|
18
|
+
};
|
|
19
|
+
export type StorageMetricsObserver = (event: StorageMetricsEvent) => void;
|
|
20
|
+
export type StorageMetricSummary = {
|
|
21
|
+
count: number;
|
|
22
|
+
totalDurationMs: number;
|
|
23
|
+
avgDurationMs: number;
|
|
24
|
+
maxDurationMs: number;
|
|
25
|
+
};
|
|
26
|
+
export type WebSecureStorageBackend = {
|
|
27
|
+
getItem: (key: string) => string | null;
|
|
28
|
+
setItem: (key: string, value: string) => void;
|
|
29
|
+
removeItem: (key: string) => void;
|
|
30
|
+
clear: () => void;
|
|
31
|
+
getAllKeys: () => string[];
|
|
32
|
+
};
|
|
8
33
|
export type MigrationContext = {
|
|
9
34
|
scope: StorageScope;
|
|
10
35
|
getRaw: (key: string) => string | undefined;
|
|
@@ -31,14 +56,18 @@ export interface Storage {
|
|
|
31
56
|
clear(scope: number): void;
|
|
32
57
|
has(key: string, scope: number): boolean;
|
|
33
58
|
getAllKeys(scope: number): string[];
|
|
59
|
+
getKeysByPrefix(prefix: string, scope: number): string[];
|
|
34
60
|
size(scope: number): number;
|
|
35
61
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
36
62
|
getBatch(keys: string[], scope: number): (string | undefined)[];
|
|
37
63
|
removeBatch(keys: string[], scope: number): void;
|
|
64
|
+
removeByPrefix(prefix: string, scope: number): void;
|
|
38
65
|
addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
|
|
39
66
|
setSecureAccessControl(level: number): void;
|
|
67
|
+
setSecureWritesAsync(enabled: boolean): void;
|
|
40
68
|
setKeychainAccessGroup(group: string): void;
|
|
41
69
|
setSecureBiometric(key: string, value: string): void;
|
|
70
|
+
setSecureBiometricWithLevel(key: string, value: string, level: number): void;
|
|
42
71
|
getSecureBiometric(key: string): string | undefined;
|
|
43
72
|
deleteSecureBiometric(key: string): void;
|
|
44
73
|
hasSecureBiometric(key: string): boolean;
|
|
@@ -51,11 +80,20 @@ export declare const storage: {
|
|
|
51
80
|
clearBiometric: () => void;
|
|
52
81
|
has: (key: string, scope: StorageScope) => boolean;
|
|
53
82
|
getAllKeys: (scope: StorageScope) => string[];
|
|
83
|
+
getKeysByPrefix: (prefix: string, scope: StorageScope) => string[];
|
|
84
|
+
getByPrefix: (prefix: string, scope: StorageScope) => Record<string, string>;
|
|
54
85
|
getAll: (scope: StorageScope) => Record<string, string>;
|
|
55
86
|
size: (scope: StorageScope) => number;
|
|
56
87
|
setAccessControl: (_level: AccessControl) => void;
|
|
88
|
+
setSecureWritesAsync: (_enabled: boolean) => void;
|
|
89
|
+
flushSecureWrites: () => void;
|
|
57
90
|
setKeychainAccessGroup: (_group: string) => void;
|
|
91
|
+
setMetricsObserver: (observer?: StorageMetricsObserver) => void;
|
|
92
|
+
getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
|
|
93
|
+
resetMetrics: () => void;
|
|
58
94
|
};
|
|
95
|
+
export declare function setWebSecureStorageBackend(backend?: WebSecureStorageBackend): void;
|
|
96
|
+
export declare function getWebSecureStorageBackend(): WebSecureStorageBackend | undefined;
|
|
59
97
|
export interface StorageItemConfig<T> {
|
|
60
98
|
key: string;
|
|
61
99
|
scope: StorageScope;
|
|
@@ -70,11 +108,14 @@ export interface StorageItemConfig<T> {
|
|
|
70
108
|
coalesceSecureWrites?: boolean;
|
|
71
109
|
namespace?: string;
|
|
72
110
|
biometric?: boolean;
|
|
111
|
+
biometricLevel?: BiometricLevel;
|
|
73
112
|
accessControl?: AccessControl;
|
|
74
113
|
}
|
|
75
114
|
export interface StorageItem<T> {
|
|
76
115
|
get: () => T;
|
|
116
|
+
getWithVersion: () => VersionedValue<T>;
|
|
77
117
|
set: (value: T | ((prev: T) => T)) => void;
|
|
118
|
+
setIfVersion: (version: StorageVersion, value: T | ((prev: T) => T)) => boolean;
|
|
78
119
|
delete: () => void;
|
|
79
120
|
has: () => boolean;
|
|
80
121
|
subscribe: (callback: () => void) => () => void;
|
|
@@ -84,14 +125,13 @@ export interface StorageItem<T> {
|
|
|
84
125
|
key: string;
|
|
85
126
|
}
|
|
86
127
|
export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
|
|
87
|
-
export
|
|
88
|
-
export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
|
|
89
|
-
export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
|
|
128
|
+
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
90
129
|
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
|
|
91
130
|
_hasValidation?: boolean;
|
|
92
131
|
_hasExpiration?: boolean;
|
|
93
132
|
_readCacheEnabled?: boolean;
|
|
94
133
|
_isBiometric?: boolean;
|
|
134
|
+
_defaultValue?: unknown;
|
|
95
135
|
_secureAccessControl?: AccessControl;
|
|
96
136
|
};
|
|
97
137
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
@@ -108,6 +148,7 @@ export declare function runTransaction<T>(scope: StorageScope, transaction: (con
|
|
|
108
148
|
export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
109
149
|
ttlMs?: number;
|
|
110
150
|
biometric?: boolean;
|
|
151
|
+
biometricLevel?: BiometricLevel;
|
|
111
152
|
accessControl?: AccessControl;
|
|
112
153
|
}>;
|
|
113
154
|
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|