@aguacerowx/react-native 0.0.36 → 0.0.37

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.
Files changed (39) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  5. package/android/.gradle/8.9/gc.properties +0 -0
  6. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  8. package/android/.gradle/vcs-1/gc.properties +0 -0
  9. package/android/build/.transforms/8f329a9571a96a1c1c0869d49784e448/results.bin +1 -0
  10. package/android/build/.transforms/8f329a9571a96a1c1c0869d49784e448/transformed/classes/classes_dex/classes.dex +0 -0
  11. package/android/build/.transforms/f95abdfc98a7a06fc247f75cdd74def9/results.bin +1 -0
  12. package/android/build/.transforms/f95abdfc98a7a06fc247f75cdd74def9/transformed/classes/classes_dex/classes.dex +0 -0
  13. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  14. package/ios/GridRenderLayer.swift +191 -58
  15. package/ios/GridRenderLayerBridge.swift +8 -0
  16. package/ios/GridRenderLayerView.m +1 -17
  17. package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  18. package/lib/commonjs/ios/GridRenderLayer.swift +191 -58
  19. package/lib/commonjs/ios/GridRenderLayerBridge.swift +8 -0
  20. package/lib/commonjs/ios/GridRenderLayerView.m +1 -17
  21. package/lib/commonjs/package.json +1 -1
  22. package/lib/commonjs/src/WeatherLayerManager.js +34 -12
  23. package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  24. package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  25. package/lib/module/ios/GridRenderLayer.swift +191 -58
  26. package/lib/module/ios/GridRenderLayerBridge.swift +8 -0
  27. package/lib/module/ios/GridRenderLayerView.m +1 -17
  28. package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +191 -58
  29. package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +8 -0
  30. package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +1 -17
  31. package/lib/module/lib/commonjs/package.json +1 -1
  32. package/lib/module/lib/commonjs/src/WeatherLayerManager.js +34 -12
  33. package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  34. package/lib/module/package.json +1 -1
  35. package/lib/module/src/WeatherLayerManager.js +35 -13
  36. package/lib/module/src/WeatherLayerManager.js.map +1 -1
  37. package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/WeatherLayerManager.js +151 -121
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_javascriptSdk","_AguaceroContext","_GridRenderLayer","_base64Js","_reactNative","_MapRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","findLatestModelRun","modelsData","modelName","model","availableDates","keys","sort","a","b","localeCompare","date","runs","availableRuns","length","run","WeatherFrameProcessorModule","InspectorModule","NativeModules","_generateColormapBytes","colormap","width","data","Uint8Array","stops","reduce","acc","_","value","color","minVal","maxVal","hexToRgb","hex","parseInt","slice","g","val","lower","upper","j","lowerRgb","upperRgb","rgb","map","c","idx","offset","Math","round","AguaceroCore","prototype","setMapCenter","center","emit","WeatherLayerManager","exports","forwardRef","props","ref","inspectorEnabled","onInspect","apiKey","customColormaps","initialMode","initialVariable","autoRefresh","autoRefreshInterval","initialModel","restProps","context","useContext","AguaceroContext","core","useMemo","layerOptions","mode","variable","gridLayerRef","useRef","currentGridDataRef","autoRefreshIntervalId","preloadedDataCache","Map","cachedGeometry","cachedColormap","cachedDataRange","hasInitialLoad","hasPreloadedRef","lastProcessedState","previousStateRef","renderProps","setRenderProps","useState","opacity","dataRange","useImperativeHandle","setAutoRefresh","enabled","intervalSeconds","current","clearInterval","effectiveInterval","_checkForUpdates","setInterval","play","pause","togglePlay","step","direction","setPlaybackSpeed","speed","playbackSpeed","isPlaying","setOpacity","setUnits","units","switchMode","options","getAvailableVariables","getVariableDisplayName","code","setRun","runString","setState","split","newState","setMRMSTimestamp","timestamp","setSmoothing","refreshData","preloadAllFramesToDisk","state","isMRMS","availableHours","availableTimestamps","forecastHour","mrmsTimestamp","effectiveForecastHour","validHours","filter","hour","gridModel","corners","gridDef","_getGridCornersAndDef","updateGeometry","baseUnit","_getColormapForVariable","toUnit","_getTargetUnit","finalColormap","_convertColormapUnits","colormapBytes","colormapAsBase64","fromByteArray","updateColormapTexture","key","filteredHours","allFrames","currentFrame","reversedFrames","reverse","framesToPreload","frame","nx","ny","grid_params","currentCacheKey","resourcePath","frameDate","Date","y","getUTCFullYear","m","getUTCMonth","toString","padStart","d","getUTCDate","url","baseGridUrl","bundleId","result","processFrame","filePath","fieldInfo","DICTIONARIES","fld","serverDataUnit","defaultUnit","dataScale","scale","dataOffset","convertedScale","convertedOffset","conversionFunc","getUnitConversionFunction","scaleType","physicalAtOffset","physicalAtOffsetPlusScale","convertedPhysicalAtOffset","convertedPhysicalAtOffsetPlusScale","sqrt","abs","sign","newOffsetPlusScale","convertedOffsetPlusScale","frameData","missing","originalScale","originalOffset","updateDataTextureFromFile","error","console","warn","forEach","cacheKey","then","Platform","OS","primeGpuCache","frameInfoForGpu","catch","useEffect","interval","updateGPUWithCachedData","setActiveFrame","cachedData","colormapKey","prev","dataAsBase64","updateDataTexture","binaryString","atob","uint8Array","charCodeAt","updateDataParameters","handleStateChangeRef","debounceTimeoutRef","_emitStateChange","getValueAtPoint","lng","lat","gridIndices","_getGridIndexFromLngLat","getValueAtGridIndex","displayUnit","minThreshold","isFinite","unit","name","lngLat","currentModel","currentVariable","oldTimestamps","Set","mrmsStatus","fetchMRMSStatus","newTimestamps","newTimestampsToPreload","ts","newTimestampsSet","oldTs","delete","modelStatus","fetchModelStatus","latestRun","handleStateChange","onStateChange","variableChanged","setVariable","stateKey","isOpacityOnlyChange","isPlayStateOnlyChange","isUnitsOnlyChange","oldCacheKey","undefined","newOffset","scaleTypeValue","newCacheKey","needsFullLoad","clear","clearGpuCache","cancelAllFrames","success","stableHandler","clearTimeout","setTimeout","on","off","lastInspectorUpdateRef","INSPECTOR_THROTTLE_MS","handleMapMove","Array","isArray","now","longitude","latitude","payload","getCenter","triggerReinspection","mapRef","mapRegistry","getMap","_currentCenter","timer","handleCameraChange","addCameraListener","removeCameraListener","initialize","destroy","createElement","GridRenderLayer","belowID"],"sourceRoot":"..\\..\\..","sources":["src/WeatherLayerManager.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_javascriptSdk","require","_base64Js","_react","_interopRequireWildcard","_reactNative","_AguaceroContext","_GridRenderLayer","_MapRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","findLatestModelRun","modelsData","modelName","model","availableDates","keys","sort","a","b","localeCompare","date","runs","availableRuns","length","run","WeatherFrameProcessorModule","InspectorModule","NativeModules","_generateColormapBytes","colormap","width","data","Uint8Array","stops","reduce","acc","_","value","color","minVal","maxVal","hexToRgb","hex","parseInt","slice","g","val","lower","upper","j","lowerRgb","upperRgb","rgb","map","c","idx","offset","Math","round","AguaceroCore","prototype","setMapCenter","center","emit","WeatherLayerManager","exports","forwardRef","props","ref","inspectorEnabled","onInspect","apiKey","customColormaps","initialMode","initialVariable","autoRefresh","autoRefreshInterval","initialModel","restProps","context","useContext","AguaceroContext","core","useMemo","layerOptions","mode","variable","gridLayerRef","useRef","currentGridDataRef","autoRefreshIntervalId","preloadedDataCache","Map","cachedGeometry","cachedColormap","cachedDataRange","hasInitialLoad","hasPreloadedRef","lastProcessedState","previousStateRef","renderProps","setRenderProps","useState","opacity","dataRange","useImperativeHandle","setAutoRefresh","enabled","intervalSeconds","current","clearInterval","effectiveInterval","_checkForUpdates","setInterval","play","pause","togglePlay","step","direction","setPlaybackSpeed","speed","playbackSpeed","isPlaying","setOpacity","setUnits","units","switchMode","options","getAvailableVariables","getVariableDisplayName","code","setRun","runString","setState","split","newState","setMRMSTimestamp","timestamp","setSmoothing","refreshData","preloadAllFramesToDisk","state","isMRMS","availableHours","availableTimestamps","forecastHour","mrmsTimestamp","effectiveForecastHour","validHours","filter","hour","gridModel","corners","gridDef","_getGridCornersAndDef","updateGeometry","baseUnit","_getColormapForVariable","toUnit","_getTargetUnit","finalColormap","_convertColormapUnits","colormapBytes","colormapAsBase64","fromByteArray","updateColormapTexture","key","filteredHours","allFrames","currentFrame","reversedFrames","reverse","framesToPreload","frame","nx","ny","grid_params","currentCacheKey","resourcePath","frameDate","Date","y","getUTCFullYear","m","getUTCMonth","toString","padStart","d","getUTCDate","url","baseGridUrl","bundleId","result","processFrame","filePath","fieldInfo","DICTIONARIES","fld","serverDataUnit","defaultUnit","dataScale","scale","dataOffset","convertedScale","convertedOffset","conversionFunc","getUnitConversionFunction","scaleType","physicalAtOffset","physicalAtOffsetPlusScale","convertedPhysicalAtOffset","convertedPhysicalAtOffsetPlusScale","sqrt","abs","sign","newOffsetPlusScale","convertedOffsetPlusScale","frameData","missing","originalScale","originalOffset","updateDataTextureFromFile","error","console","warn","forEach","cacheKey","then","Platform","OS","primeGpuCache","frameInfoForGpu","catch","useEffect","interval","updateGPUWithCachedData","setActiveFrame","cachedData","__DEV__","log","colormapKey","prev","dataAsBase64","updateDataTexture","binaryString","atob","uint8Array","charCodeAt","updateDataParameters","handleStateChangeRef","debounceTimeoutRef","_emitStateChange","getValueAtPoint","lng","lat","gridIndices","_getGridIndexFromLngLat","getValueAtGridIndex","displayUnit","minThreshold","isFinite","unit","name","lngLat","currentModel","currentVariable","oldTimestamps","Set","mrmsStatus","fetchMRMSStatus","newTimestamps","newTimestampsToPreload","ts","newTimestampsSet","oldTs","delete","modelStatus","fetchModelStatus","latestRun","handleStateChange","variableChanged","setVariable","stateKey","isOpacityOnlyChange","isPlayStateOnlyChange","isUnitsOnlyChange","oldCacheKey","undefined","newOffset","scaleTypeValue","newCacheKey","needsFullLoad","clear","clearGpuCache","cancelAllFrames","success","stableHandler","onStateChange","clearTimeout","setTimeout","on","off","lastInspectorUpdateRef","INSPECTOR_THROTTLE_MS","handleMapMove","Array","isArray","now","longitude","latitude","payload","getCenter","triggerReinspection","mapRef","mapRegistry","getMap","_currentCenter","timer","handleCameraChange","addCameraListener","removeCameraListener","initialize","destroy","createElement","GridRenderLayer","belowID"],"sourceRoot":"..\\..\\..","sources":["src/WeatherLayerManager.js"],"mappings":";;;;;;AAEA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAA4C,SAAAG,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAR5C;;AAUA,SAASkB,kBAAkBA,CAACC,UAAU,EAAEC,SAAS,EAAE;EAC/C,MAAMC,KAAK,GAAGF,UAAU,GAAGC,SAAS,CAAC;EACrC,IAAI,CAACC,KAAK,EAAE,OAAO,IAAI;EACvB,MAAMC,cAAc,GAAGP,MAAM,CAACQ,IAAI,CAACF,KAAK,CAAC,CAACG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,aAAa,CAACF,CAAC,CAAC,CAAC;EAC5E,KAAK,MAAMG,IAAI,IAAIN,cAAc,EAAE;IAC/B,MAAMO,IAAI,GAAGR,KAAK,CAACO,IAAI,CAAC;IACxB,IAAI,CAACC,IAAI,EAAE;IACX,MAAMC,aAAa,GAAGf,MAAM,CAACQ,IAAI,CAACM,IAAI,CAAC,CAACL,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,aAAa,CAACF,CAAC,CAAC,CAAC;IAC1E,IAAIK,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO;MAAEH,IAAI,EAAEA,IAAI;MAAEI,GAAG,EAAEF,aAAa,CAAC,CAAC;IAAE,CAAC;EAC9E;EACA,OAAO,IAAI;AACf;AACA,MAAM;EAAEG,2BAA2B;EAAEC;AAAgB,CAAC,GAAGC,0BAAa;;AAEtE;AACA;AACA;AACA,MAAMC,sBAAsB,GAAIC,QAAQ,IAAK;EACzC,MAAMC,KAAK,GAAG,GAAG;EACjB,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACF,KAAK,GAAG,CAAC,CAAC;EACtC,MAAMG,KAAK,GAAGJ,QAAQ,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,CAAC,EAAEtC,CAAC,KAAMA,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGqC,GAAG,EAAE;IAAEE,KAAK,EAAER,QAAQ,CAAC/B,CAAC,CAAC;IAAEwC,KAAK,EAAET,QAAQ,CAAC/B,CAAC,GAAG,CAAC;EAAE,CAAC,CAAC,GAAGqC,GAAI,EAAE,EAAE,CAAC;EAEhI,IAAIF,KAAK,CAACV,MAAM,KAAK,CAAC,EAAE,OAAOQ,IAAI;EAEnC,MAAMQ,MAAM,GAAGN,KAAK,CAAC,CAAC,CAAC,CAACI,KAAK;EAC7B,MAAMG,MAAM,GAAGP,KAAK,CAACA,KAAK,CAACV,MAAM,GAAG,CAAC,CAAC,CAACc,KAAK;EAE5C,MAAMI,QAAQ,GAAIC,GAAG,IAAK;IACtB,MAAMhD,CAAC,GAAGiD,QAAQ,CAACD,GAAG,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,MAAMC,CAAC,GAAGF,QAAQ,CAACD,GAAG,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,MAAM1B,CAAC,GAAGyB,QAAQ,CAACD,GAAG,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,OAAO,CAAClD,CAAC,EAAEmD,CAAC,EAAE3B,CAAC,CAAC;EACpB,CAAC;EAED,KAAK,IAAIpB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgC,KAAK,EAAEhC,CAAC,EAAE,EAAE;IAC5B,MAAMgD,GAAG,GAAGP,MAAM,GAAIzC,CAAC,IAAIgC,KAAK,GAAG,CAAC,CAAC,IAAKU,MAAM,GAAGD,MAAM,CAAC;IAC1D,IAAIQ,KAAK,GAAGd,KAAK,CAAC,CAAC,CAAC;IACpB,IAAIe,KAAK,GAAGf,KAAK,CAACA,KAAK,CAACV,MAAM,GAAG,CAAC,CAAC;IACnC,KAAK,IAAI0B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE0B,CAAC,EAAE,EAAE;MACvC,IAAIH,GAAG,IAAIb,KAAK,CAACgB,CAAC,CAAC,CAACZ,KAAK,IAAIS,GAAG,IAAIb,KAAK,CAACgB,CAAC,GAAG,CAAC,CAAC,CAACZ,KAAK,EAAE;QACpDU,KAAK,GAAGd,KAAK,CAACgB,CAAC,CAAC;QAChBD,KAAK,GAAGf,KAAK,CAACgB,CAAC,GAAG,CAAC,CAAC;QACpB;MACJ;IACJ;IACA,MAAMzD,CAAC,GAAG,CAACsD,GAAG,GAAGC,KAAK,CAACV,KAAK,KAAKW,KAAK,CAACX,KAAK,GAAGU,KAAK,CAACV,KAAK,IAAI,CAAC,CAAC;IAChE,MAAMa,QAAQ,GAAGT,QAAQ,CAACM,KAAK,CAACT,KAAK,CAAC;IACtC,MAAMa,QAAQ,GAAGV,QAAQ,CAACO,KAAK,CAACV,KAAK,CAAC;IACtC,MAAMc,GAAG,GAAGF,QAAQ,CAACG,GAAG,CAAC,CAACC,CAAC,EAAEC,GAAG,KAAKD,CAAC,IAAI,CAAC,GAAG9D,CAAC,CAAC,GAAG2D,QAAQ,CAACI,GAAG,CAAC,GAAG/D,CAAC,CAAC;IAErE,MAAMgE,MAAM,GAAG1D,CAAC,GAAG,CAAC;IACpBiC,IAAI,CAACyB,MAAM,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACrCrB,IAAI,CAACyB,MAAM,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACrCrB,IAAI,CAACyB,MAAM,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACrCrB,IAAI,CAACyB,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG;EAC1B;EACA,OAAOzB,IAAI;AACf,CAAC;AAED4B,2BAAY,CAACC,SAAS,CAACC,YAAY,GAAG,UAAUC,MAAM,EAAE;EACpD,IAAI,CAACC,IAAI,CAAC,UAAU,EAAED,MAAM,CAAC;AACjC,CAAC;AAEM,MAAME,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,iBAAU,EAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC1D,MAAM;IACFC,gBAAgB;IAChBC,SAAS;IACTC,MAAM;IACNC,eAAe;IACfC,WAAW;IACXC,eAAe;IACfC,WAAW;IACXC,mBAAmB;IACnBC,YAAY;IACZ,GAAGC;EACP,CAAC,GAAGX,KAAK;EACT,MAAMY,OAAO,GAAG,IAAAC,iBAAU,EAACC,gCAAe,CAAC;;EAE3C;EACA,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAIxB,2BAAY,CAAC;IACxCY,MAAM,EAAEA,MAAM;IACdC,eAAe,EAAEA,eAAe;IAChC;IACAY,YAAY,EAAE;MACVC,IAAI,EAAEZ,WAAW;MACjBa,QAAQ,EAAEZ,eAAe;MACzB7D,KAAK,EAAEgE;IACX;EACJ,CAAC,CAAC,EAAE,CAACN,MAAM,CAAC,CAAC;EAEb,MAAMgB,YAAY,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACjC,MAAMC,kBAAkB,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EACvC,MAAME,qBAAqB,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;;EAE1C;EACA,MAAMG,kBAAkB,GAAG,IAAAH,aAAM,EAAC,IAAII,GAAG,CAAC,CAAC,CAAC;;EAE5C;EACA,MAAMC,cAAc,GAAG,IAAAL,aAAM,EAAC,IAAI,CAAC;EACnC,MAAMM,cAAc,GAAG,IAAAN,aAAM,EAAC,IAAI,CAAC;EACnC,MAAMO,eAAe,GAAG,IAAAP,aAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEtC;EACA,MAAMQ,cAAc,GAAG,IAAAR,aAAM,EAAC,KAAK,CAAC;EACpC,MAAMS,eAAe,GAAG,IAAAT,aAAM,EAAC,KAAK,CAAC;;EAErC;EACA,MAAMU,kBAAkB,GAAG,IAAAV,aAAM,EAAC,IAAI,CAAC;EACvC,MAAMW,gBAAgB,GAAG,IAAAX,aAAM,EAAC,IAAI,CAAC;EAErC,MAAM,CAACY,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC;IAC3CC,OAAO,EAAE,CAAC;IACVC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;EACpB,CAAC,CAAC;EAEF,IAAAC,0BAAmB,EAACrC,GAAG,EAAE,MAAM;IAC3B,MAAMsC,cAAc,GAAGA,CAACC,OAAO,EAAEC,eAAe,KAAK;MACjD,IAAIlB,qBAAqB,CAACmB,OAAO,EAAE;QAC/BC,aAAa,CAACpB,qBAAqB,CAACmB,OAAO,CAAC;QAC5CnB,qBAAqB,CAACmB,OAAO,GAAG,IAAI;MACxC;MACA,IAAIF,OAAO,EAAE;QACT,MAAMI,iBAAiB,GAAG,CAACH,eAAe,IAAIhC,mBAAmB,IAAI,EAAE,IAAI,IAAI;QAC/E;QACAoC,gBAAgB,CAAC,CAAC;QAClBtB,qBAAqB,CAACmB,OAAO,GAAGI,WAAW,CAACD,gBAAgB,EAAED,iBAAiB,CAAC;MACpF;IACJ,CAAC;IACD,OAAO;MACHG,IAAI,EAAEA,CAAA,KAAM;QACRhC,IAAI,CAACgC,IAAI,CAAC,CAAC;MACf,CAAC;MACDC,KAAK,EAAEA,CAAA,KAAM;QACTjC,IAAI,CAACiC,KAAK,CAAC,CAAC;MAChB,CAAC;MACDC,UAAU,EAAEA,CAAA,KAAM;QACdlC,IAAI,CAACkC,UAAU,CAAC,CAAC;MACrB,CAAC;MACDC,IAAI,EAAGC,SAAS,IAAK;QACjBpC,IAAI,CAACmC,IAAI,CAACC,SAAS,CAAC;MACxB,CAAC;MACDC,gBAAgB,EAAGC,KAAK,IAAK;QACzB,IAAIA,KAAK,GAAG,CAAC,EAAE;UACXtC,IAAI,CAACuC,aAAa,GAAGD,KAAK;UAC1B,IAAItC,IAAI,CAACwC,SAAS,EAAE;YAChBxC,IAAI,CAACiC,KAAK,CAAC,CAAC;YACZjC,IAAI,CAACgC,IAAI,CAAC,CAAC;UACf;QACJ;MACJ,CAAC;MACDS,UAAU,EAAGpB,OAAO,IAAKrB,IAAI,CAACyC,UAAU,CAACpB,OAAO,CAAC;MACjDqB,QAAQ,EAAGC,KAAK,IAAK3C,IAAI,CAAC0C,QAAQ,CAACC,KAAK,CAAC;MACzCC,UAAU,EAAGC,OAAO,IAAK7C,IAAI,CAAC4C,UAAU,CAACC,OAAO,CAAC;MACjDC,qBAAqB,EAAGnH,KAAK,IAAKqE,IAAI,CAAC8C,qBAAqB,CAACnH,KAAK,CAAC;MACnEoH,sBAAsB,EAAGC,IAAI,IAAKhD,IAAI,CAAC+C,sBAAsB,CAACC,IAAI,CAAC;MACnEC,MAAM,EAAGC,SAAS,IAAKlD,IAAI,CAACmD,QAAQ,CAAC;QAAE7G,GAAG,EAAE4G,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;MAAE,CAAC,CAAC;MACtED,QAAQ,EAAGE,QAAQ,IAAKrD,IAAI,CAACmD,QAAQ,CAACE,QAAQ,CAAC;MAC/CC,gBAAgB,EAAGC,SAAS,IAAKvD,IAAI,CAACsD,gBAAgB,CAACC,SAAS,CAAC;MACjEC,YAAY,EAAG/B,OAAO,IAAK;QACvB,IAAIpB,YAAY,CAACsB,OAAO,EAAE;UACtBtB,YAAY,CAACsB,OAAO,CAAC6B,YAAY,CAAC/B,OAAO,CAAC;QAC9C;MACJ,CAAC;MACDD,cAAc;MACdiC,WAAW,EAAEA,CAAA,KAAM;QACf3B,gBAAgB,CAAC,CAAC;MACtB;IACJ,CAAC;EACL,CAAC,EAAE,CAAC9B,IAAI,EAAEN,mBAAmB,EAAEoC,gBAAgB,CAAC,CAAC;EAEjD,MAAM4B,sBAAsB,GAAG,MAAOC,KAAK,IAAK;IAC5C,IAAI5C,eAAe,CAACY,OAAO,EAAE;MACzB;IACJ;IAEA,MAAM;MAAEiC,MAAM;MAAEjI,KAAK;MAAEO,IAAI;MAAEI,GAAG;MAAE8D,QAAQ;MAAEuC,KAAK;MAAEkB,cAAc;MAAEC,mBAAmB;MAAEC,YAAY;MAAEC;IAAc,CAAC,GAAGL,KAAK;;IAE7H;IACA,IAAIC,MAAM,KAAKI,aAAa,IAAI,IAAI,IAAI,CAACF,mBAAmB,IAAIA,mBAAmB,CAACzH,MAAM,KAAK,CAAC,CAAC,EAAE;MAC/F0E,eAAe,CAACY,OAAO,GAAG,KAAK;MAC/B;IACJ;IAEA,IAAI,CAACiC,MAAM,KAAKG,YAAY,IAAI,IAAI,IAAI,CAACF,cAAc,IAAIA,cAAc,CAACxH,MAAM,KAAK,CAAC,CAAC,EAAE;MACrF0E,eAAe,CAACY,OAAO,GAAG,KAAK;MAC/B;IACJ;;IAEA;IACAZ,eAAe,CAACY,OAAO,GAAG,IAAI;;IAE9B;IACA,IAAIsC,qBAAqB,GAAGF,YAAY;IACxC,IAAI,CAACH,MAAM,IAAIxD,QAAQ,KAAK,WAAW,IAAIzE,KAAK,KAAK,MAAM,IAAIoI,YAAY,KAAK,CAAC,EAAE;MAC/E,MAAMG,UAAU,GAAGL,cAAc,CAACM,MAAM,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC;MAC5DH,qBAAqB,GAAGC,UAAU,CAAC7H,MAAM,GAAG,CAAC,GAAG6H,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE;IAEA,IAAI,CAACvD,cAAc,CAACgB,OAAO,IAAI,CAACf,cAAc,CAACe,OAAO,EAAE;MACpD,MAAM0C,SAAS,GAAGT,MAAM,GAAG,MAAM,GAAGjI,KAAK;MACzC,MAAM;QAAE2I,OAAO;QAAEC;MAAQ,CAAC,GAAGvE,IAAI,CAACwE,qBAAqB,CAACH,SAAS,CAAC;MAClEhE,YAAY,CAACsB,OAAO,CAAC8C,cAAc,CAACH,OAAO,EAAEC,OAAO,CAAC;MACrD5D,cAAc,CAACgB,OAAO,GAAG;QAAEhG,KAAK,EAAE0I,SAAS;QAAEjE;MAAS,CAAC;MAEvD,MAAM;QAAEzD,QAAQ;QAAE+H;MAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;MACrE,MAAMwE,MAAM,GAAG5E,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE/B,KAAK,CAAC;MACnD,MAAMmC,aAAa,GAAG9E,IAAI,CAAC+E,qBAAqB,CAACpI,QAAQ,EAAE+H,QAAQ,EAAEE,MAAM,CAAC;MAC5E,IAAItD,SAAS;MACb,IAAIlB,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,WAAW,EAAE;QACtDkB,SAAS,GAAGsC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;MAC5C,CAAC,MAAM;QACHtC,SAAS,GAAG,CAACwD,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAACA,aAAa,CAACzI,MAAM,GAAG,CAAC,CAAC,CAAC;MAC3E;MACA,MAAM2I,aAAa,GAAGtI,sBAAsB,CAACoI,aAAa,CAAC;MAC3D,MAAMG,gBAAgB,GAAG,IAAAC,uBAAa,EAACF,aAAa,CAAC;MAErD3E,YAAY,CAACsB,OAAO,CAACwD,qBAAqB,CAACF,gBAAgB,CAAC;MAC5DrE,cAAc,CAACe,OAAO,GAAG;QAAEyD,GAAG,EAAE,GAAGhF,QAAQ,IAAIuC,KAAK;MAAG,CAAC;MACxD9B,eAAe,CAACc,OAAO,GAAGL,SAAS;MAEnCH,cAAc,CAAC;QAAEE,OAAO,EAAEsC,KAAK,CAACtC,OAAO;QAAEC,SAAS,EAAEA;MAAU,CAAC,CAAC;MAChER,cAAc,CAACa,OAAO,GAAG,IAAI;IACjC;;IAEA;IACA,IAAI0D,aAAa,GAAGxB,cAAc;IAClC,IAAI,CAACD,MAAM,IAAIxD,QAAQ,KAAK,WAAW,IAAIzE,KAAK,KAAK,MAAM,IAAIkI,cAAc,IAAIA,cAAc,CAACxH,MAAM,GAAG,CAAC,EAAE;MACxGgJ,aAAa,GAAGxB,cAAc,CAACM,MAAM,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC;IAC7D;IAEA,MAAMkB,SAAS,GAAG1B,MAAM,GAAGE,mBAAmB,GAAGuB,aAAa;IAC9D,IAAI,CAACC,SAAS,IAAIA,SAAS,CAACjJ,MAAM,KAAK,CAAC,EAAE;MACtC;IACJ;IAEA,MAAMkJ,YAAY,GAAG3B,MAAM,GAAGI,aAAa,GAAGC,qBAAqB;;IAEnE;IACA,IAAIsB,YAAY,IAAI,IAAI,EAAE;MACtBxE,eAAe,CAACY,OAAO,GAAG,KAAK;IACnC;;IAEA;IACA,MAAM6D,cAAc,GAAG,CAAC,GAAGF,SAAS,CAAC,CAACG,OAAO,CAAC,CAAC;IAC/C,MAAMC,eAAe,GAAGF,cAAc,CAACrB,MAAM,CAACwB,KAAK,IAAIA,KAAK,KAAKJ,YAAY,CAAC;IAE9E,MAAM;MAAEjB,OAAO;MAAEC;IAAQ,CAAC,GAAGvE,IAAI,CAACwE,qBAAqB,CAACZ,MAAM,GAAG,MAAM,GAAGjI,KAAK,CAAC;IAChF,MAAM;MAAEiK,EAAE;MAAEC;IAAG,CAAC,GAAGtB,OAAO,CAACuB,WAAW;;IAEtC;IACA,MAAMC,eAAe,GAAGnC,MAAM,GAAG,QAAQ2B,YAAY,IAAInF,QAAQ,EAAE,GAAG,GAAGzE,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIiJ,YAAY,IAAInF,QAAQ,EAAE;IAE3H,IAAI,CAACK,kBAAkB,CAACkB,OAAO,CAAC3G,GAAG,CAAC+K,eAAe,CAAC,EAAE;MAClD,IAAIC,YAAY;MAChB,IAAIpC,MAAM,EAAE;QACR,MAAMqC,SAAS,GAAG,IAAIC,IAAI,CAACX,YAAY,GAAG,IAAI,CAAC;QAC/C,MAAMY,CAAC,GAAGF,SAAS,CAACG,cAAc,CAAC,CAAC;QACpC,MAAMC,CAAC,GAAG,CAACJ,SAAS,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC,EAAEC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACnE,MAAMC,CAAC,GAAGR,SAAS,CAACS,UAAU,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5DR,YAAY,GAAG,eAAeG,CAAC,GAAGE,CAAC,GAAGI,CAAC,IAAIlB,YAAY,MAAMnF,QAAQ,IAAI;MAC7E,CAAC,MAAM;QACH4F,YAAY,GAAG,UAAUrK,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIiJ,YAAY,IAAInF,QAAQ,IAAI;MACjF;MAEA,MAAMuG,GAAG,GAAG,GAAG3G,IAAI,CAAC4G,WAAW,GAAGZ,YAAY,WAAWhG,IAAI,CAACX,MAAM,EAAE;MACtE,MAAMwD,OAAO,GAAG;QAAE8D,GAAG;QAAEtH,MAAM,EAAEW,IAAI,CAACX,MAAM;QAAEwH,QAAQ,EAAE7G,IAAI,CAAC6G;MAAS,CAAC;MAErE,IAAI;QACA,MAAMC,MAAM,GAAG,MAAMvK,2BAA2B,CAACwK,YAAY,CAAClE,OAAO,CAAC;QAEtE,IAAI,CAACiE,MAAM,IAAI,CAACA,MAAM,CAACE,QAAQ,EAAE;UAC7B;QACJ;QAEA,MAAM;UAAEtC;QAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;QAE3D,MAAMwE,MAAM,GAAG5E,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE/B,KAAK,CAAC;QAEnD,MAAMsE,SAAS,GAAGC,2BAAY,EAAEC,GAAG,GAAG/G,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAMgH,cAAc,GAAGH,SAAS,CAACI,WAAW,IAAI3C,QAAQ;QAExD,IAAI4C,SAAS,GAAGR,MAAM,CAACS,KAAK;QAC5B,IAAIC,UAAU,GAAGV,MAAM,CAACxI,MAAM;QAE9B,IAAImJ,cAAc,GAAGH,SAAS;QAC9B,IAAII,eAAe,GAAGF,UAAU;QAEhC,IAAIJ,cAAc,KAAK1C,QAAQ,EAAE;UAC7B,MAAMiD,cAAc,GAAG,IAAAC,wCAAyB,EAACR,cAAc,EAAE1C,QAAQ,CAAC;UAC1E,IAAIiD,cAAc,EAAE;YAChB,IAAIb,MAAM,CAACe,SAAS,KAAK,MAAM,EAAE;cAC7B,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;cAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;cACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;cAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;cACpFL,eAAe,GAAGnJ,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;cACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;cAClIR,cAAc,GAAGY,kBAAkB,GAAGX,eAAe;YACzD,CAAC,MAAM;cACHA,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;cAC5C,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;cACvEG,cAAc,GAAGa,wBAAwB,GAAGZ,eAAe;YAC/D;YACAJ,SAAS,GAAGG,cAAc;YAC1BD,UAAU,GAAGE,eAAe;UAChC;QACJ;QAEA,IAAIhD,QAAQ,KAAKE,MAAM,EAAE;UACrB,MAAM+C,cAAc,GAAG,IAAAC,wCAAyB,EAAClD,QAAQ,EAAEE,MAAM,CAAC;UAClE,IAAI+C,cAAc,EAAE;YAChB,IAAIb,MAAM,CAACe,SAAS,KAAK,MAAM,EAAE;cAC7B,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;cAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;cACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;cAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;cACpFL,eAAe,GAAGnJ,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;cACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;cAClIR,cAAc,GAAGY,kBAAkB,GAAGX,eAAe;YACzD,CAAC,MAAM;cACHA,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;cAC5C,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;cACvEG,cAAc,GAAGa,wBAAwB,GAAGZ,eAAe;YAC/D;UACJ;QACJ;QAEA,MAAMa,SAAS,GAAG;UACdvB,QAAQ,EAAEF,MAAM,CAACE,QAAQ;UACzBpB,EAAE;UAAEC,EAAE;UACN0B,KAAK,EAAEE,cAAc;UACrBnJ,MAAM,EAAEoJ,eAAe;UACvBc,OAAO,EAAE1B,MAAM,CAAC0B,OAAO;UACvBlE,OAAO;UACPC,OAAO;UACPsD,SAAS,EAAEf,MAAM,CAACe,SAAS;UAC3BY,aAAa,EAAE3B,MAAM,CAACS,KAAK;UAC3BmB,cAAc,EAAE5B,MAAM,CAACxI;QAC3B,CAAC;QAEDmC,kBAAkB,CAACkB,OAAO,CAACzG,GAAG,CAAC6K,eAAe,EAAEwC,SAAS,CAAC;;QAE1D;QACAlI,YAAY,CAACsB,OAAO,CAACgH,yBAAyB,CAC1CJ,SAAS,CAACvB,QAAQ,EAClBuB,SAAS,CAAC3C,EAAE,EAAE2C,SAAS,CAAC1C,EAAE,EAC1B0C,SAAS,CAAChB,KAAK,EAAEgB,SAAS,CAACjK,MAAM,EAAEiK,SAAS,CAACC,OAAO,EACpDD,SAAS,CAACV,SACd,CAAC;QAEDtH,kBAAkB,CAACoB,OAAO,GAAG;UACzBiE,EAAE,EAAE2C,SAAS,CAAC3C,EAAE;UAChBC,EAAE,EAAE0C,SAAS,CAAC1C,EAAE;UAChB0B,KAAK,EAAEgB,SAAS,CAAChB,KAAK;UACtBjJ,MAAM,EAAEiK,SAAS,CAACjK,MAAM;UACxBkK,OAAO,EAAED,SAAS,CAACC,OAAO;UAC1BjE,OAAO,EAAEgE,SAAS,CAAChE,OAAO;UAC1BnE,QAAQ,EAAEA,QAAQ;UAClBuC,KAAK,EAAEA,KAAK;UACZkF,SAAS,EAAEU,SAAS,CAACV;QACzB,CAAC;MACL,CAAC,CAAC,OAAOe,KAAK,EAAE;QACZC,OAAO,CAACC,IAAI,CAAC,4CAA4CvD,YAAY,GAAG,EAAEqD,KAAK,CAAC;QAChF7H,eAAe,CAACY,OAAO,GAAG,KAAK;MACnC;IACJ;;IAEA;IACA+D,eAAe,CAACqD,OAAO,CAAEpD,KAAK,IAAK;MAC/B,MAAMqD,QAAQ,GAAGpF,MAAM,GAAG,QAAQ+B,KAAK,IAAIvF,QAAQ,EAAE,GAAG,GAAGzE,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIqJ,KAAK,IAAIvF,QAAQ,EAAE;MACtG,IAAIK,kBAAkB,CAACkB,OAAO,CAAC3G,GAAG,CAACgO,QAAQ,CAAC,EAAE;QAC1C;MACJ;MAEA,IAAIhD,YAAY;MAChB,IAAIpC,MAAM,EAAE;QACR,MAAMqC,SAAS,GAAG,IAAIC,IAAI,CAACP,KAAK,GAAG,IAAI,CAAC;QACxC,MAAMQ,CAAC,GAAGF,SAAS,CAACG,cAAc,CAAC,CAAC;QACpC,MAAMC,CAAC,GAAG,CAACJ,SAAS,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC,EAAEC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACnE,MAAMC,CAAC,GAAGR,SAAS,CAACS,UAAU,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5DR,YAAY,GAAG,eAAeG,CAAC,GAAGE,CAAC,GAAGI,CAAC,IAAId,KAAK,MAAMvF,QAAQ,IAAI;MACtE,CAAC,MAAM;QACH4F,YAAY,GAAG,UAAUrK,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIqJ,KAAK,IAAIvF,QAAQ,IAAI;MAC1E;MAEA,MAAMuG,GAAG,GAAG,GAAG3G,IAAI,CAAC4G,WAAW,GAAGZ,YAAY,WAAWhG,IAAI,CAACX,MAAM,EAAE;MACtE,MAAMwD,OAAO,GAAG;QAAE8D,GAAG;QAAEtH,MAAM,EAAEW,IAAI,CAACX,MAAM;QAAEwH,QAAQ,EAAE7G,IAAI,CAAC6G;MAAS,CAAC;MAErEtK,2BAA2B,CAACwK,YAAY,CAAClE,OAAO,CAAC,CAC5CoG,IAAI,CAACnC,MAAM,IAAI;QACZ,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACE,QAAQ,EAAE;UAC7B6B,OAAO,CAACC,IAAI,CAAC,4CAA4CnD,KAAK,eAAe,CAAC;UAC9E;QACJ;;QAEA;QACA,MAAM;UAAEjB;QAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;QAC3D,MAAMwE,MAAM,GAAG5E,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE/B,KAAK,CAAC;QACnD,MAAMsE,SAAS,GAAGC,2BAAY,EAAEC,GAAG,GAAG/G,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAMgH,cAAc,GAAGH,SAAS,CAACI,WAAW,IAAI3C,QAAQ;QAExD,IAAI4C,SAAS,GAAGR,MAAM,CAACS,KAAK;QAC5B,IAAIC,UAAU,GAAGV,MAAM,CAACxI,MAAM;QAE9B,IAAImJ,cAAc,GAAGH,SAAS;QAC9B,IAAII,eAAe,GAAGF,UAAU;;QAEhC;QACA,IAAIJ,cAAc,KAAK1C,QAAQ,EAAE;UAC7B,MAAMiD,cAAc,GAAG,IAAAC,wCAAyB,EAACR,cAAc,EAAE1C,QAAQ,CAAC;UAC1E,IAAIiD,cAAc,EAAE;YAChB,IAAIb,MAAM,CAACe,SAAS,KAAK,MAAM,EAAE;cAC7B,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;cAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;cACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;cAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;cACpFL,eAAe,GAAGnJ,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;cACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;cAClIR,cAAc,GAAGY,kBAAkB,GAAGX,eAAe;YACzD,CAAC,MAAM;cACHA,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;cAC5C,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;cACvEG,cAAc,GAAGa,wBAAwB,GAAGZ,eAAe;YAC/D;YACAJ,SAAS,GAAGG,cAAc;YAC1BD,UAAU,GAAGE,eAAe;UAChC;QACJ;;QAEA;QACA,IAAIhD,QAAQ,KAAKE,MAAM,EAAE;UACrB,MAAM+C,cAAc,GAAG,IAAAC,wCAAyB,EAAClD,QAAQ,EAAEE,MAAM,CAAC;UAClE,IAAI+C,cAAc,EAAE;YAChB,IAAIb,MAAM,CAACe,SAAS,KAAK,MAAM,EAAE;cAC7B,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;cAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;cACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;cAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;cACpFL,eAAe,GAAGnJ,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;cACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;cAClIR,cAAc,GAAGY,kBAAkB,GAAGX,eAAe;YACzD,CAAC,MAAM;cACHA,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;cAC5C,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;cACvEG,cAAc,GAAGa,wBAAwB,GAAGZ,eAAe;YAC/D;UACJ;QACJ;QAEA,MAAMa,SAAS,GAAG;UACdvB,QAAQ,EAAEF,MAAM,CAACE,QAAQ;UACzBpB,EAAE;UAAEC,EAAE;UACN0B,KAAK,EAAEE,cAAc;UACrBnJ,MAAM,EAAEoJ,eAAe;UACvBc,OAAO,EAAE1B,MAAM,CAAC0B,OAAO;UACvBlE,OAAO;UACPC,OAAO;UACPsD,SAAS,EAAEf,MAAM,CAACe,SAAS;UAC3BY,aAAa,EAAE3B,MAAM,CAACS,KAAK;UAC3BmB,cAAc,EAAE5B,MAAM,CAACxI;QAC3B,CAAC;QAEDmC,kBAAkB,CAACkB,OAAO,CAACzG,GAAG,CAAC8N,QAAQ,EAAET,SAAS,CAAC;QAEnD,IAAIW,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI9I,YAAY,CAACsB,OAAO,CAACyH,aAAa,EAAE;UAC7D,MAAMC,eAAe,GAAG;YACpB,CAACL,QAAQ,GAAG;cACRhC,QAAQ,EAAEuB,SAAS,CAACvB,QAAQ;cAC5BpB,EAAE,EAAE2C,SAAS,CAAC3C,EAAE;cAChBC,EAAE,EAAE0C,SAAS,CAAC1C,EAAE;cAChB0B,KAAK,EAAEgB,SAAS,CAAChB,KAAK;cACtBjJ,MAAM,EAAEiK,SAAS,CAACjK,MAAM;cACxBkK,OAAO,EAAED,SAAS,CAACC,OAAO;cAC1BX,SAAS,EAAEU,SAAS,CAACV,SAAS,IAAI,QAAQ;cAC1CY,aAAa,EAAEF,SAAS,CAACE,aAAa;cACtCC,cAAc,EAAEH,SAAS,CAACG;YAC9B;UACJ,CAAC;UACDrI,YAAY,CAACsB,OAAO,CAACyH,aAAa,CAACC,eAAe,CAAC;QACvD;MACJ,CAAC,CAAC,CACDC,KAAK,CAACV,KAAK,IAAI;QACZC,OAAO,CAACC,IAAI,CAAC,4CAA4CnD,KAAK,GAAG,EAAEiD,KAAK,CAAC;MAC7E,CAAC,CAAC;IACV,CAAC,CAAC;EACN,CAAC;EAED,IAAAW,gBAAS,EAAC,MAAM;IACZ;IACA,IAAI9J,WAAW,EAAE;MACb,MAAM+J,QAAQ,GAAG,CAAC9J,mBAAmB,IAAI,EAAE,IAAI,IAAI;MACnDoC,gBAAgB,CAAC,CAAC,CAAC,CAAC;MACpBtB,qBAAqB,CAACmB,OAAO,GAAGI,WAAW,CAACD,gBAAgB,EAAE0H,QAAQ,CAAC;IAC3E;;IAEA;IACA,OAAO,MAAM;MACT,IAAIhJ,qBAAqB,CAACmB,OAAO,EAAE;QAC/BC,aAAa,CAACpB,qBAAqB,CAACmB,OAAO,CAAC;QAC5CnB,qBAAqB,CAACmB,OAAO,GAAG,IAAI;MACxC;IACJ,CAAC;EACL,CAAC,EAAE,CAAClC,WAAW,EAAEC,mBAAmB,EAAEoC,gBAAgB,CAAC,CAAC;EAExD,MAAM2H,uBAAuB,GAAI9F,KAAK,IAAK;IACvC,MAAM;MAAEhI,KAAK;MAAEO,IAAI;MAAEI,GAAG;MAAEyH,YAAY;MAAE3D,QAAQ;MAAEuC,KAAK;MAAEiB,MAAM;MAAEI;IAAc,CAAC,GAAGL,KAAK;IAExF,MAAMqF,QAAQ,GAAGpF,MAAM,GACjB,QAAQI,aAAa,IAAI5D,QAAQ,EAAE,GACnC,GAAGzE,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIyH,YAAY,IAAI3D,QAAQ,EAAE;IAE3D,IAAI8I,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI9I,YAAY,CAACsB,OAAO,CAAC+H,cAAc,EAAE;MAC9D;MACA,MAAMC,UAAU,GAAGlJ,kBAAkB,CAACkB,OAAO,CAAC1G,GAAG,CAAC+N,QAAQ,CAAC;MAE3D,IAAIW,UAAU,EAAE;QACZpJ,kBAAkB,CAACoB,OAAO,GAAG;UACzBiE,EAAE,EAAE+D,UAAU,CAAC/D,EAAE;UACjBC,EAAE,EAAE8D,UAAU,CAAC9D,EAAE;UACjB0B,KAAK,EAAEoC,UAAU,CAACpC,KAAK;UACvBjJ,MAAM,EAAEqL,UAAU,CAACrL,MAAM;UACzBkK,OAAO,EAAEmB,UAAU,CAACnB,OAAO;UAC3BjE,OAAO,EAAEoF,UAAU,CAACpF,OAAO;UAC3BnE,QAAQ,EAAEA,QAAQ;UAClBuC,KAAK,EAAEA,KAAK;UACZkF,SAAS,EAAE8B,UAAU,CAAC9B;QAC1B,CAAC;MACL;MAEA,IAAI+B,OAAO,EAAE;QACTf,OAAO,CAACgB,GAAG,CAAC,yCAAyCb,QAAQ,EAAE,CAAC;MACpE;MACA3I,YAAY,CAACsB,OAAO,CAAC+H,cAAc,CAACV,QAAQ,CAAC;MAC7C,OAAO,IAAI;IACf;IAEA,MAAMW,UAAU,GAAGlJ,kBAAkB,CAACkB,OAAO,CAAC1G,GAAG,CAAC+N,QAAQ,CAAC;IAE3D,IAAI,CAACW,UAAU,EAAE;MACb,OAAO,KAAK;IAChB;IAEA,IAAI,CAACtJ,YAAY,CAACsB,OAAO,EAAE;MACvBkH,OAAO,CAACC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;MAC1E,OAAO,KAAK;IAChB;IAEA,IAAI,CAACnI,cAAc,CAACgB,OAAO,IAAIhB,cAAc,CAACgB,OAAO,CAAChG,KAAK,MAAMiI,MAAM,GAAG,MAAM,GAAGjI,KAAK,CAAC,IAAIgF,cAAc,CAACgB,OAAO,CAACvB,QAAQ,KAAKA,QAAQ,EAAE;MACvIC,YAAY,CAACsB,OAAO,CAAC8C,cAAc,CAACkF,UAAU,CAACrF,OAAO,EAAEqF,UAAU,CAACpF,OAAO,CAAC;MAC3E5D,cAAc,CAACgB,OAAO,GAAG;QAAEhG,KAAK,EAAGiI,MAAM,GAAG,MAAM,GAAGjI,KAAM;QAAEyE;MAAS,CAAC;IAC3E;IAEA,MAAM0J,WAAW,GAAG,GAAG1J,QAAQ,IAAIuC,KAAK,EAAE;IAC1C,IAAI,CAAC/B,cAAc,CAACe,OAAO,IAAIf,cAAc,CAACe,OAAO,CAACyD,GAAG,KAAK0E,WAAW,EAAE;MACvE,MAAM;QAAEnN,QAAQ;QAAE+H;MAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;MACrE,MAAMwE,MAAM,GAAG5E,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE/B,KAAK,CAAC;MACnD,MAAMmC,aAAa,GAAG9E,IAAI,CAAC+E,qBAAqB,CAACpI,QAAQ,EAAE+H,QAAQ,EAAEE,MAAM,CAAC;MAC5E,IAAItD,SAAS;MACb,IAAIlB,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,WAAW,EAAE;QACtD,IAAIwD,MAAM,EAAE;UACRtC,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;QACxB,CAAC,MAAM;UACHA,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;QACxB;MACJ,CAAC,MAAM;QACHA,SAAS,GAAG,CAACwD,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAACA,aAAa,CAACzI,MAAM,GAAG,CAAC,CAAC,CAAC;MAC3E;MACA,MAAM2I,aAAa,GAAGtI,sBAAsB,CAACoI,aAAa,CAAC;MAC3D,MAAMG,gBAAgB,GAAG,IAAAC,uBAAa,EAACF,aAAa,CAAC;MAErD3E,YAAY,CAACsB,OAAO,CAACwD,qBAAqB,CAACF,gBAAgB,CAAC;MAC5DrE,cAAc,CAACe,OAAO,GAAG;QAAEyD,GAAG,EAAE0E;MAAY,CAAC;MAC7CjJ,eAAe,CAACc,OAAO,GAAGL,SAAS;MAEnCH,cAAc,CAAC4I,IAAI,KAAK;QAAE,GAAGA,IAAI;QAAEzI;MAAU,CAAC,CAAC,CAAC;IACpD;IAEA,IAAIqI,UAAU,CAAC3C,QAAQ,EAAE;MACrB3G,YAAY,CAACsB,OAAO,CAACgH,yBAAyB,CAC1CgB,UAAU,CAAC3C,QAAQ,EACnB2C,UAAU,CAAC/D,EAAE,EAAE+D,UAAU,CAAC9D,EAAE,EAC5B8D,UAAU,CAACpC,KAAK,EAAEoC,UAAU,CAACrL,MAAM,EAAEqL,UAAU,CAACnB,OAAO,EACvDmB,UAAU,CAAC9B,SACf,CAAC;;MAED;MACAtH,kBAAkB,CAACoB,OAAO,GAAG;QACzBiE,EAAE,EAAE+D,UAAU,CAAC/D,EAAE;QACjBC,EAAE,EAAE8D,UAAU,CAAC9D,EAAE;QACjB0B,KAAK,EAAEoC,UAAU,CAACpC,KAAK;QACvBjJ,MAAM,EAAEqL,UAAU,CAACrL,MAAM;QACzBkK,OAAO,EAAEmB,UAAU,CAACnB,OAAO;QAC3BjE,OAAO,EAAEoF,UAAU,CAACpF,OAAO;QAC3BnE,QAAQ,EAAEA,QAAQ;QAClBuC,KAAK,EAAEA;MACX,CAAC;IACL,CAAC,MAAM,IAAIgH,UAAU,CAACK,YAAY,EAAE;MAChC3J,YAAY,CAACsB,OAAO,CAACsI,iBAAiB,CAClCN,UAAU,CAACK,YAAY,EACvBL,UAAU,CAAC/D,EAAE,EAAE+D,UAAU,CAAC9D,EAAE,EAC5B8D,UAAU,CAACpC,KAAK,EAAEoC,UAAU,CAACrL,MAAM,EAAEqL,UAAU,CAACnB,OAAO,EACvDmB,UAAU,CAAC9B,SACf,CAAC;;MAED;MACA,MAAMqC,YAAY,GAAGC,IAAI,CAACR,UAAU,CAACK,YAAY,CAAC;MAClD,MAAMI,UAAU,GAAG,IAAItN,UAAU,CAACoN,YAAY,CAAC7N,MAAM,CAAC;MAEtD,KAAK,IAAIzB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsP,YAAY,CAAC7N,MAAM,EAAEzB,CAAC,EAAE,EAAE;QAC1CwP,UAAU,CAACxP,CAAC,CAAC,GAAGsP,YAAY,CAACG,UAAU,CAACzP,CAAC,CAAC;MAC9C;MAEA2F,kBAAkB,CAACoB,OAAO,GAAG;QACzB9E,IAAI,EAAEuN,UAAU;QAChBxE,EAAE,EAAE+D,UAAU,CAAC/D,EAAE;QACjBC,EAAE,EAAE8D,UAAU,CAAC9D,EAAE;QACjB0B,KAAK,EAAEoC,UAAU,CAACpC,KAAK;QACvBjJ,MAAM,EAAEqL,UAAU,CAACrL,MAAM;QACzBkK,OAAO,EAAEmB,UAAU,CAACnB,OAAO;QAC3BjE,OAAO,EAAEoF,UAAU,CAACpF,OAAO;QAC3BnE,QAAQ,EAAEA,QAAQ;QAClBuC,KAAK,EAAEA;MACX,CAAC;IACL,CAAC,MAAM;MACHkG,OAAO,CAACD,KAAK,CAAC,0EAA0E,CAAC;MACzFC,OAAO,CAACD,KAAK,CAAC,+CAA+C,EAAEvN,MAAM,CAACQ,IAAI,CAAC8N,UAAU,CAAC,CAAC;MACvF,OAAO,KAAK;IAChB;;IAEA;IACA,IAAItJ,YAAY,CAACsB,OAAO,IAAItB,YAAY,CAACsB,OAAO,CAAC2I,oBAAoB,EAAE;MACnEjK,YAAY,CAACsB,OAAO,CAAC2I,oBAAoB,CAACX,UAAU,CAACpC,KAAK,EAAEoC,UAAU,CAACrL,MAAM,EAAEqL,UAAU,CAACnB,OAAO,CAAC;IACtG;IACA,OAAO,IAAI;EACf,CAAC;EAED,MAAM+B,oBAAoB,GAAG,IAAAjK,aAAM,EAAC,IAAI,CAAC;EACzC,MAAMkK,kBAAkB,GAAG,IAAAlK,aAAM,EAAC,IAAI,CAAC;EAEvC,IAAAiJ,gBAAS,EAAC,MAAM;IACZ,IAAIvJ,IAAI,IAAIf,KAAK,CAACK,eAAe,EAAE;MAC/BU,IAAI,CAACV,eAAe,GAAGL,KAAK,CAACK,eAAe;MAC5C;MACA,IAAIwB,cAAc,CAACa,OAAO,EAAE;QACxB3B,IAAI,CAACyK,gBAAgB,CAAC,CAAC;MAC3B;IACJ;EACJ,CAAC,EAAE,CAACzK,IAAI,EAAEf,KAAK,CAACK,eAAe,CAAC,CAAC;EAEjC,MAAMoL,eAAe,GAAG,MAAAA,CAAOC,GAAG,EAAEC,GAAG,KAAK;IACxC,IAAI,CAAC5K,IAAI,EAAE;MACP6I,OAAO,CAACC,IAAI,CAAC,mCAAmC,CAAC;MACjD,OAAO,IAAI;IACf;;IAEA;IACA,IAAI,CAACvI,kBAAkB,CAACoB,OAAO,EAAE;MAC7B,OAAO,IAAI;IACf;IAEA,IAAI;MACA,MAAMkJ,WAAW,GAAG7K,IAAI,CAAC8K,uBAAuB,CAACH,GAAG,EAAEC,GAAG,CAAC;MAC1D,IAAI,CAACC,WAAW,EAAE,OAAO,IAAI;MAE7B,MAAM;QAAEjQ,CAAC;QAAEmD;MAAE,CAAC,GAAG8M,WAAW;MAE5B,MAAM1N,KAAK,GAAG,MAAMX,eAAe,CAACuO,mBAAmB,CAACnQ,CAAC,EAAEmD,CAAC,CAAC;MAE7D,IAAIZ,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI;MACf;MAEA,MAAM;QAAER,QAAQ;QAAE+H;MAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAAC3E,IAAI,CAAC2D,KAAK,CAACvD,QAAQ,CAAC;MAChF,MAAM4K,WAAW,GAAGhL,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE1E,IAAI,CAAC2D,KAAK,CAAChB,KAAK,CAAC;MACnE,MAAMmC,aAAa,GAAG9E,IAAI,CAAC+E,qBAAqB,CAACpI,QAAQ,EAAE+H,QAAQ,EAAEsG,WAAW,CAAC;MACjF,MAAMC,YAAY,GAAGnG,aAAa,CAAC,CAAC,CAAC;MAErC,IAAI3H,KAAK,GAAG8N,YAAY,EAAE;QACtB,OAAO,IAAI;MACf;;MAEA;MACA,IAAI9N,KAAK,GAAG8N,YAAY,EAAE;QACtB,OAAO,IAAI;MACf;;MAEA;MACA,IAAI,CAACC,QAAQ,CAAC/N,KAAK,CAAC,EAAE;QAClB,OAAO,IAAI;MACf;MAEA,OAAO;QACHA,KAAK,EAAEA,KAAK;QACZgO,IAAI,EAAEH,WAAW;QACjB5K,QAAQ,EAAE;UACN4C,IAAI,EAAEhD,IAAI,CAAC2D,KAAK,CAACvD,QAAQ;UACzBgL,IAAI,EAAEpL,IAAI,CAAC+C,sBAAsB,CAAC/C,IAAI,CAAC2D,KAAK,CAACvD,QAAQ;QACzD,CAAC;QACDiL,MAAM,EAAE;UAAEV,GAAG;UAAEC;QAAI;MACvB,CAAC;IACL,CAAC,CAAC,OAAOhC,KAAK,EAAE;MACZC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7C,OAAO,IAAI;IACf;EACJ,CAAC;EAED,MAAM9G,gBAAgB,GAAG,IAAA7B,cAAO,EAAC,MAAM,YAAY;IAC/C,IAAI,CAACD,IAAI,EAAE;IACX,MAAM;MAAE4D,MAAM;MAAEjI,KAAK,EAAE2P,YAAY;MAAElL,QAAQ,EAAEmL,eAAe;MAAErP,IAAI;MAAEI;IAAI,CAAC,GAAG0D,IAAI,CAAC2D,KAAK;IAExF,IAAIC,MAAM,EAAE;MACR;MACA,MAAM4H,aAAa,GAAG,IAAIC,GAAG,CAACzL,IAAI,CAAC0L,UAAU,GAAGH,eAAe,CAAC,IAAI,EAAE,CAAC;MACvE,MAAMG,UAAU,GAAG,MAAM1L,IAAI,CAAC2L,eAAe,CAAC,IAAI,CAAC;MACnD,MAAMC,aAAa,GAAGF,UAAU,GAAGH,eAAe,CAAC,IAAI,EAAE;MACzD,IAAIK,aAAa,CAACvP,MAAM,KAAK,CAAC,EAAE;MAEhC,MAAMwP,sBAAsB,GAAGD,aAAa,CAACzH,MAAM,CAAC2H,EAAE,IAAI,CAACN,aAAa,CAACxQ,GAAG,CAAC8Q,EAAE,CAAC,CAAC;MAEjF,IAAID,sBAAsB,CAACxP,MAAM,GAAG,CAAC,EAAE;QACnC2D,IAAI,CAAC0L,UAAU,GAAGA,UAAU;QAC5B1L,IAAI,CAACyK,gBAAgB,CAAC,CAAC,CAAC,CAAC;;QAEzB;QACA,MAAM;UAAEnG,OAAO;UAAEC;QAAQ,CAAC,GAAGvE,IAAI,CAACwE,qBAAqB,CAAC,MAAM,CAAC;QAC/D,MAAM;UAAEoB,EAAE;UAAEC;QAAG,CAAC,GAAGtB,OAAO,CAACuB,WAAW;QAEtC+F,sBAAsB,CAAC9C,OAAO,CAACpD,KAAK,IAAI;UACpC,MAAMqD,QAAQ,GAAG,QAAQrD,KAAK,IAAI4F,eAAe,EAAE;UACnD,IAAI9K,kBAAkB,CAACkB,OAAO,CAAC3G,GAAG,CAACgO,QAAQ,CAAC,EAAE;UAE9C,MAAM/C,SAAS,GAAG,IAAIC,IAAI,CAACP,KAAK,GAAG,IAAI,CAAC;UACxC,MAAMQ,CAAC,GAAGF,SAAS,CAACG,cAAc,CAAC,CAAC;YAAEC,CAAC,GAAG,CAACJ,SAAS,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC,EAAEC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAAEC,CAAC,GAAGR,SAAS,CAACS,UAAU,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;UAC3J,MAAMR,YAAY,GAAG,eAAeG,CAAC,GAAGE,CAAC,GAAGI,CAAC,IAAId,KAAK,MAAM4F,eAAe,IAAI;UAC/E,MAAM5E,GAAG,GAAG,GAAG3G,IAAI,CAAC4G,WAAW,GAAGZ,YAAY,WAAWhG,IAAI,CAACX,MAAM,EAAE;UAEtE9C,2BAA2B,CAACwK,YAAY,CAAC;YAAEJ,GAAG;YAAEtH,MAAM,EAAEW,IAAI,CAACX,MAAM;YAAEwH,QAAQ,EAAE7G,IAAI,CAAC6G;UAAS,CAAC,CAAC,CAC1FoC,IAAI,CAACnC,MAAM,IAAI;YACZ,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACE,QAAQ,EAAE;YACjC,MAAMuB,SAAS,GAAG;cAAEvB,QAAQ,EAAEF,MAAM,CAACE,QAAQ;cAAEpB,EAAE;cAAEC,EAAE;cAAE0B,KAAK,EAAET,MAAM,CAACS,KAAK;cAAEjJ,MAAM,EAAEwI,MAAM,CAACxI,MAAM;cAAEkK,OAAO,EAAE1B,MAAM,CAAC0B,OAAO;cAAElE,OAAO;cAAEC,OAAO;cAAEsD,SAAS,EAAEf,MAAM,CAACe,SAAS;cAAEY,aAAa,EAAE3B,MAAM,CAACS,KAAK;cAAEmB,cAAc,EAAE5B,MAAM,CAACxI;YAAO,CAAC;YACvOmC,kBAAkB,CAACkB,OAAO,CAACzG,GAAG,CAAC8N,QAAQ,EAAET,SAAS,CAAC;YACnD,IAAIW,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI9I,YAAY,CAACsB,OAAO,EAAEyH,aAAa,EAAE;cAC9D/I,YAAY,CAACsB,OAAO,CAACyH,aAAa,CAAC;gBAAE,CAACJ,QAAQ,GAAGT;cAAU,CAAC,CAAC;YACjE;UACJ,CAAC,CAAC,CAACe,KAAK,CAACV,KAAK,IAAIC,OAAO,CAACC,IAAI,CAAC,0CAA0CnD,KAAK,GAAG,EAAEiD,KAAK,CAAC,CAAC;QAClG,CAAC,CAAC;QAEF,MAAMmD,gBAAgB,GAAG,IAAIN,GAAG,CAACG,aAAa,CAAC;QAC/CJ,aAAa,CAACzC,OAAO,CAACiD,KAAK,IAAI;UAC3B,IAAI,CAACD,gBAAgB,CAAC/Q,GAAG,CAACgR,KAAK,CAAC,EAAE;YAC9B,MAAMhD,QAAQ,GAAG,QAAQgD,KAAK,IAAIT,eAAe,EAAE;YACnD9K,kBAAkB,CAACkB,OAAO,CAACsK,MAAM,CAACjD,QAAQ,CAAC;UAC/C;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,MAAM;MACH,MAAMkD,WAAW,GAAG,MAAMlM,IAAI,CAACmM,gBAAgB,CAAC,IAAI,CAAC;MACrDnM,IAAI,CAACyK,gBAAgB,CAAC,CAAC;MAEvB,MAAM2B,SAAS,GAAG5Q,kBAAkB,CAAC0Q,WAAW,EAAEZ,YAAY,CAAC;MAC/D,IAAI,CAACc,SAAS,EAAE;IACpB;EACJ,CAAC,EAAE,CAACpM,IAAI,CAAC,CAAC;EAEV,IAAAuJ,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACvJ,IAAI,EAAE;MACP6I,OAAO,CAACC,IAAI,CAAC,0CAA0C,CAAC;MACxD;IACJ;IAEA,MAAMuD,iBAAiB,GAAIhJ,QAAQ,IAAK;MACpC,IAAI,CAACpC,gBAAgB,CAACU,OAAO,EAAE;QAC3BV,gBAAgB,CAACU,OAAO,GAAG3B,IAAI,CAAC2D,KAAK;MACzC;MAEA,MAAM2I,eAAe,GAAG,CAACrL,gBAAgB,CAACU,OAAO,IAAI0B,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,CAACvB,QAAQ;MAE5G,IAAIkM,eAAe,IAAIjM,YAAY,CAACsB,OAAO,EAAE4K,WAAW,EAAE;QACtDlM,YAAY,CAACsB,OAAO,CAAC4K,WAAW,CAAClJ,QAAQ,CAACjD,QAAQ,CAAC;MACvD;MAEA,MAAMoM,QAAQ,GAAG,GAAGnJ,QAAQ,CAAC1H,KAAK,IAAI0H,QAAQ,CAACjD,QAAQ,IAAIiD,QAAQ,CAACnH,IAAI,IAAImH,QAAQ,CAAC/G,GAAG,IAAI+G,QAAQ,CAACU,YAAY,IAAIV,QAAQ,CAACV,KAAK,IAAIU,QAAQ,CAACW,aAAa,EAAE;MAE/J,MAAMyI,mBAAmB,GACrB3L,cAAc,CAACa,OAAO,IACtB0B,QAAQ,CAAChC,OAAO,KAAKH,WAAW,CAACG,OAAO,IACxCgC,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,EAAEvB,QAAQ,IACxDiD,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,EAAEoC,YAAY,IAChEV,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,EAAEqC,aAAa,IAClEX,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,EAAEhG,KAAK,IAClD0H,QAAQ,CAACV,KAAK,KAAK1B,gBAAgB,CAACU,OAAO,EAAEgB,KAAK;MAEtD,MAAM+J,qBAAqB,GACvB5L,cAAc,CAACa,OAAO,IACtB0B,QAAQ,CAACb,SAAS,KAAKvB,gBAAgB,CAACU,OAAO,EAAEa,SAAS,IAC1Da,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,EAAEvB,QAAQ,IACxDiD,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,EAAEoC,YAAY,IAChEV,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,EAAEqC,aAAa,IAClEX,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,EAAEhG,KAAK,IAClD0H,QAAQ,CAACV,KAAK,KAAK1B,gBAAgB,CAACU,OAAO,EAAEgB,KAAK,IAClDU,QAAQ,CAAChC,OAAO,KAAKJ,gBAAgB,CAACU,OAAO,EAAEN,OAAO;MAE1D,IAAI,CAACoL,mBAAmB,IAAI,CAACC,qBAAqB,IAAI1L,kBAAkB,CAACW,OAAO,KAAK6K,QAAQ,EAAE;QAC3FvL,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;QACnC;MACJ;MAEA,IAAI,CAACoJ,mBAAmB,IAAI,CAACC,qBAAqB,EAAE;QAChD1L,kBAAkB,CAACW,OAAO,GAAG6K,QAAQ;MACzC;MAEA,IAAIC,mBAAmB,EAAE;QACrBtL,cAAc,CAAC4I,IAAI,KAAK;UAAE,GAAGA,IAAI;UAAE1I,OAAO,EAAEgC,QAAQ,CAAChC;QAAQ,CAAC,CAAC,CAAC;QAChEJ,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;QACnC;MACJ;MAEA,IAAIqJ,qBAAqB,EAAE;QACvBzL,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;QACnC;MACJ;MAEA,MAAMsJ,iBAAiB,GACnB7L,cAAc,CAACa,OAAO,IACtB0B,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,CAAChG,KAAK,IACjD0H,QAAQ,CAACO,MAAM,KAAK3C,gBAAgB,CAACU,OAAO,CAACiC,MAAM,IACnDP,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,CAACvB,QAAQ,IACvDiD,QAAQ,CAACnH,IAAI,KAAK+E,gBAAgB,CAACU,OAAO,CAACzF,IAAI,IAC/CmH,QAAQ,CAAC/G,GAAG,KAAK2E,gBAAgB,CAACU,OAAO,CAACrF,GAAG,IAC7C+G,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,CAACoC,YAAY,IAC/DV,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,CAACqC,aAAa,IACjEX,QAAQ,CAACV,KAAK,KAAK1B,gBAAgB,CAACU,OAAO,CAACgB,KAAK;MAErD,IAAIgK,iBAAiB,EAAE;QACnB,MAAM;UAAEvM,QAAQ;UAAEuC,KAAK;UAAEiB,MAAM;UAAEI,aAAa;UAAErI,KAAK;UAAEO,IAAI;UAAEI,GAAG;UAAEyH;QAAa,CAAC,GAAGV,QAAQ;QAC3F,MAAMuJ,WAAW,GAAGhJ,MAAM,GACpB,QAAQI,aAAa,IAAI5D,QAAQ,EAAE,GACnC,GAAGzE,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIyH,YAAY,IAAI3D,QAAQ,EAAE;QAE3D,MAAMuJ,UAAU,GAAGlJ,kBAAkB,CAACkB,OAAO,CAAC1G,GAAG,CAAC2R,WAAW,CAAC;QAE9D,IAAIjD,UAAU,IAAIA,UAAU,CAAClB,aAAa,KAAKoE,SAAS,IAAIlD,UAAU,CAACjB,cAAc,KAAKmE,SAAS,EAAE;UACjG,MAAM;YAAEnI;UAAS,CAAC,GAAG1E,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;UAC3D,MAAMwE,MAAM,GAAG5E,IAAI,CAAC6E,cAAc,CAACH,QAAQ,EAAE/B,KAAK,CAAC;UACnD,MAAMsE,SAAS,GAAGC,2BAAY,EAAEC,GAAG,GAAG/G,QAAQ,CAAC,IAAI,CAAC,CAAC;UACrD,MAAMgH,cAAc,GAAGH,SAAS,CAACI,WAAW,IAAI3C,QAAQ;UAExD,IAAI4C,SAAS,GAAGqC,UAAU,CAAClB,aAAa;UACxC,IAAIjB,UAAU,GAAGmC,UAAU,CAACjB,cAAc;UAE1C,IAAItB,cAAc,KAAK1C,QAAQ,EAAE;YAC7B,MAAMiD,cAAc,GAAG,IAAAC,wCAAyB,EAACR,cAAc,EAAE1C,QAAQ,CAAC;YAC1E,IAAIiD,cAAc,EAAE;cAChB,IAAIgC,UAAU,CAAC9B,SAAS,KAAK,MAAM,EAAE;gBACjC,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;gBAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;gBACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;gBAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;gBACpF,MAAM+E,SAAS,GAAGvO,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;gBACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;gBAClIX,SAAS,GAAGe,kBAAkB,GAAGyE,SAAS;gBAC1CtF,UAAU,GAAGsF,SAAS;cAC1B,CAAC,MAAM;gBACH,MAAMpF,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;gBAClD,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;gBACvEA,SAAS,GAAGgB,wBAAwB,GAAGZ,eAAe;gBACtDF,UAAU,GAAGE,eAAe;cAChC;YACJ;UACJ;UAEA,IAAIhD,QAAQ,KAAKE,MAAM,EAAE;YACrB,MAAM+C,cAAc,GAAG,IAAAC,wCAAyB,EAAClD,QAAQ,EAAEE,MAAM,CAAC;YAClE,IAAI+C,cAAc,EAAE;cAChB,IAAIgC,UAAU,CAAC9B,SAAS,KAAK,MAAM,EAAE;gBACjC,MAAMC,gBAAgB,GAAGN,UAAU,GAAGA,UAAU;gBAChD,MAAMO,yBAAyB,GAAG,CAACP,UAAU,GAAGF,SAAS,KAAKE,UAAU,GAAGF,SAAS,CAAC;gBACrF,MAAMU,yBAAyB,GAAGL,cAAc,CAACG,gBAAgB,CAAC;gBAClE,MAAMG,kCAAkC,GAAGN,cAAc,CAACI,yBAAyB,CAAC;gBACpF,MAAM+E,SAAS,GAAGvO,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACH,yBAAyB,CAAC,CAAC,GAAGzJ,IAAI,CAAC6J,IAAI,CAACJ,yBAAyB,CAAC;gBACvG,MAAMK,kBAAkB,GAAG9J,IAAI,CAAC2J,IAAI,CAAC3J,IAAI,CAAC4J,GAAG,CAACF,kCAAkC,CAAC,CAAC,GAAG1J,IAAI,CAAC6J,IAAI,CAACH,kCAAkC,CAAC;gBAClIX,SAAS,GAAGe,kBAAkB,GAAGyE,SAAS;gBAC1CtF,UAAU,GAAGsF,SAAS;cAC1B,CAAC,MAAM;gBACH,MAAMpF,eAAe,GAAGC,cAAc,CAACH,UAAU,CAAC;gBAClD,MAAMc,wBAAwB,GAAGX,cAAc,CAACH,UAAU,GAAGF,SAAS,CAAC;gBACvEA,SAAS,GAAGgB,wBAAwB,GAAGZ,eAAe;gBACtDF,UAAU,GAAGE,eAAe;cAChC;YACJ;UACJ;UAEA,MAAM;YAAE/K;UAAS,CAAC,GAAGqD,IAAI,CAAC2E,uBAAuB,CAACvE,QAAQ,CAAC;UAC3D,MAAM0E,aAAa,GAAG9E,IAAI,CAAC+E,qBAAqB,CAACpI,QAAQ,EAAE+H,QAAQ,EAAEE,MAAM,CAAC;UAC5E,IAAItD,SAAS,GAAIlB,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,WAAW,GAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC0E,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAACA,aAAa,CAACzI,MAAM,GAAG,CAAC,CAAC,CAAC;UAC/I,MAAM2I,aAAa,GAAGtI,sBAAsB,CAACoI,aAAa,CAAC;UAC3D,MAAMG,gBAAgB,GAAG,IAAAC,uBAAa,EAACF,aAAa,CAAC;UAErD3E,YAAY,CAACsB,OAAO,CAACwD,qBAAqB,CAACF,gBAAgB,CAAC;UAC5DrE,cAAc,CAACe,OAAO,GAAG;YAAEyD,GAAG,EAAE,GAAGhF,QAAQ,IAAIuC,KAAK;UAAG,CAAC;UACxD9B,eAAe,CAACc,OAAO,GAAGL,SAAS;UACnCH,cAAc,CAAC4I,IAAI,KAAK;YAAE,GAAGA,IAAI;YAAEzI,SAAS;YAAED,OAAO,EAAEgC,QAAQ,CAAChC;UAAQ,CAAC,CAAC,CAAC;UAE3E,IAAIhB,YAAY,CAACsB,OAAO,IAAItB,YAAY,CAACsB,OAAO,CAAC2I,oBAAoB,EAAE;YACnE,MAAMyC,cAAc,GAAGpD,UAAU,CAAC9B,SAAS,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;YAC9DxH,YAAY,CAACsB,OAAO,CAAC2I,oBAAoB,CAAChD,SAAS,EAAEE,UAAU,EAAEmC,UAAU,CAACnB,OAAO,EAAEuE,cAAc,CAAC;UACxG;UAEA,MAAMC,WAAW,GAAGpJ,MAAM,GAAG,QAAQI,aAAa,IAAI5D,QAAQ,EAAE,GAAG,GAAGzE,KAAK,IAAIO,IAAI,IAAII,GAAG,IAAIyH,YAAY,IAAI3D,QAAQ,EAAE;UACxHK,kBAAkB,CAACkB,OAAO,CAACzG,GAAG,CAAC8R,WAAW,EAAE;YAAE,GAAGrD,UAAU;YAAEpC,KAAK,EAAED,SAAS;YAAEhJ,MAAM,EAAEkJ;UAAW,CAAC,CAAC;QACxG;QAEAvG,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;QACnC;MACJ;MAEA,MAAM4J,aAAa,GACf,CAACnM,cAAc,CAACa,OAAO,IACvB0B,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,CAAChG,KAAK,IACjD0H,QAAQ,CAACO,MAAM,KAAK3C,gBAAgB,CAACU,OAAO,CAACiC,MAAM,IACnDP,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,CAACvB,QAAQ,IACvDiD,QAAQ,CAACnH,IAAI,KAAK+E,gBAAgB,CAACU,OAAO,CAACzF,IAAI,IAC/CmH,QAAQ,CAAC/G,GAAG,KAAK2E,gBAAgB,CAACU,OAAO,CAACrF,GAAG;MAEjD,IAAI2Q,aAAa,EAAE;QACf,IAAI5M,YAAY,CAACsB,OAAO,EAAE;UACtBtB,YAAY,CAACsB,OAAO,CAAC4K,WAAW,CAAClJ,QAAQ,CAACjD,QAAQ,CAAC;UACnDC,YAAY,CAACsB,OAAO,CAACuL,KAAK,CAAC,CAAC;UAC5B,IAAIhE,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI9I,YAAY,CAACsB,OAAO,CAACwL,aAAa,EAAE;YAC7D9M,YAAY,CAACsB,OAAO,CAACwL,aAAa,CAAC,CAAC;UACxC;QACJ;QACApM,eAAe,CAACY,OAAO,GAAG,KAAK;QAC/BlB,kBAAkB,CAACkB,OAAO,CAACuL,KAAK,CAAC,CAAC;QAClCvM,cAAc,CAACgB,OAAO,GAAG,IAAI;QAC7Bf,cAAc,CAACe,OAAO,GAAG,IAAI;QAC7BpB,kBAAkB,CAACoB,OAAO,GAAG,IAAI;QACjCpF,2BAA2B,CAAC6Q,eAAe,CAAC,CAAC;QAE7C,IAAI,CAAC/J,QAAQ,CAACjD,QAAQ,EAAE;UACpBa,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;UACnC;QACJ;QACAK,sBAAsB,CAACL,QAAQ,CAAC;MACpC,CAAC,MAAM,IAAIA,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,CAACoC,YAAY,IAAKV,QAAQ,CAACO,MAAM,IAAIP,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,CAACqC,aAAc,EAAE;QAClK,MAAMqJ,OAAO,GAAG5D,uBAAuB,CAACpG,QAAQ,CAAC;QACjD,IAAIgK,OAAO,IAAIhK,QAAQ,CAAChC,OAAO,KAAKH,WAAW,CAACG,OAAO,EAAE;UACrDF,cAAc,CAAC4I,IAAI,KAAK;YAAE,GAAGA,IAAI;YAAE1I,OAAO,EAAEgC,QAAQ,CAAChC;UAAQ,CAAC,CAAC,CAAC;QACpE;MACJ;MAEAJ,gBAAgB,CAACU,OAAO,GAAG0B,QAAQ;IACvC,CAAC;IAEDkH,oBAAoB,CAAC5I,OAAO,GAAG0K,iBAAiB;IAEhD,MAAMiB,aAAa,GAAIjK,QAAQ,IAAK;MAChC;MACA,IAAIA,QAAQ,CAACb,SAAS,EAAE;QACpB;QACA,IAAI+H,oBAAoB,CAAC5I,OAAO,EAAE;UAC9B4I,oBAAoB,CAAC5I,OAAO,CAAC0B,QAAQ,CAAC;QAC1C;;QAEA;QACA;QACApE,KAAK,CAACsO,aAAa,GAAGlK,QAAQ,CAAC;QAE/B,IAAImH,kBAAkB,CAAC7I,OAAO,EAAE;UAC5B6L,YAAY,CAAChD,kBAAkB,CAAC7I,OAAO,CAAC;UACxC6I,kBAAkB,CAAC7I,OAAO,GAAG,IAAI;QACrC;QACA;MACJ;;MAEA;;MAEA;MACA1C,KAAK,CAACsO,aAAa,GAAGlK,QAAQ,CAAC;MAE/B,IAAImH,kBAAkB,CAAC7I,OAAO,EAAE;QAC5B6L,YAAY,CAAChD,kBAAkB,CAAC7I,OAAO,CAAC;MAC5C;;MAEA;MACA,MAAM8K,mBAAmB,GACrBxL,gBAAgB,CAACU,OAAO,IACxB0B,QAAQ,CAAChC,OAAO,KAAKJ,gBAAgB,CAACU,OAAO,CAACN,OAAO,IACrDgC,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,CAACvB,QAAQ,IACvDiD,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,CAACoC,YAAY,IAC/DV,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,CAACqC,aAAa,IACjEX,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,CAAChG,KAAK,IACjD0H,QAAQ,CAACV,KAAK,KAAK1B,gBAAgB,CAACU,OAAO,CAACgB,KAAK;MAErD,MAAM+J,qBAAqB,GACvBzL,gBAAgB,CAACU,OAAO,IACxB0B,QAAQ,CAACb,SAAS,KAAKvB,gBAAgB,CAACU,OAAO,CAACa,SAAS,IACzDa,QAAQ,CAACjD,QAAQ,KAAKa,gBAAgB,CAACU,OAAO,CAACvB,QAAQ,IACvDiD,QAAQ,CAACU,YAAY,KAAK9C,gBAAgB,CAACU,OAAO,CAACoC,YAAY,IAC/DV,QAAQ,CAACW,aAAa,KAAK/C,gBAAgB,CAACU,OAAO,CAACqC,aAAa,IACjEX,QAAQ,CAAC1H,KAAK,KAAKsF,gBAAgB,CAACU,OAAO,CAAChG,KAAK,IACjD0H,QAAQ,CAACV,KAAK,KAAK1B,gBAAgB,CAACU,OAAO,CAACgB,KAAK;MAErD,IAAI8J,mBAAmB,IAAIC,qBAAqB,IAAI,CAACzL,gBAAgB,CAACU,OAAO,EAAE;QAC3E,IAAI4I,oBAAoB,CAAC5I,OAAO,EAAE;UAC9B4I,oBAAoB,CAAC5I,OAAO,CAAC0B,QAAQ,CAAC;QAC1C;QACA;MACJ;MAEAmH,kBAAkB,CAAC7I,OAAO,GAAG8L,UAAU,CAAC,MAAM;QAC1C,IAAIlD,oBAAoB,CAAC5I,OAAO,EAAE;UAC9B4I,oBAAoB,CAAC5I,OAAO,CAAC0B,QAAQ,CAAC;QAC1C;QACAmH,kBAAkB,CAAC7I,OAAO,GAAG,IAAI;MACrC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACZ,CAAC;IAED3B,IAAI,CAAC0N,EAAE,CAAC,cAAc,EAAEJ,aAAa,CAAC;IAEtC,OAAO,MAAM;MACTtN,IAAI,CAAC2N,GAAG,CAAC,cAAc,EAAEL,aAAa,CAAC;MACvC,IAAI9C,kBAAkB,CAAC7I,OAAO,EAAE;QAC5B6L,YAAY,CAAChD,kBAAkB,CAAC7I,OAAO,CAAC;MAC5C;IACJ,CAAC;EACL,CAAC,EAAE,CAAC3B,IAAI,CAAC,CAAC;EAEV,IAAAuJ,gBAAS,EAAC,MAAM;IACZ,OAAO,MAAM;MACT9I,kBAAkB,CAACkB,OAAO,CAACuL,KAAK,CAAC,CAAC;MAClCpM,cAAc,CAACa,OAAO,GAAG,KAAK;MAC9BX,kBAAkB,CAACW,OAAO,GAAG,IAAI;IACrC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMiM,sBAAsB,GAAG,IAAAtN,aAAM,EAAC,CAAC,CAAC;EACxC,MAAMuN,qBAAqB,GAAG,EAAE;EAEhC,IAAAtE,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACvJ,IAAI,IAAI,CAACb,gBAAgB,EAAE;MAC5B;IACJ;IAEA,MAAM2O,aAAa,GAAG,MAAOlP,MAAM,IAAK;MACpC,IAAI,CAACA,MAAM,IAAI,CAACmP,KAAK,CAACC,OAAO,CAACpP,MAAM,CAAC,IAAIA,MAAM,CAACvC,MAAM,KAAK,CAAC,EAAE;QAC1D;MACJ;;MAEA;MACA,MAAM4R,GAAG,GAAG/H,IAAI,CAAC+H,GAAG,CAAC,CAAC;MACtB,IAAIA,GAAG,GAAGL,sBAAsB,CAACjM,OAAO,GAAGkM,qBAAqB,EAAE;QAC9D;MACJ;MACAD,sBAAsB,CAACjM,OAAO,GAAGsM,GAAG;MAEpC,MAAM,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAGvP,MAAM;MAEpC,MAAMwP,OAAO,GAAG,MAAM1D,eAAe,CAACwD,SAAS,EAAEC,QAAQ,CAAC;MAC1D/O,SAAS,GAAGgP,OAAO,CAAC;IACxB,CAAC;IAEDpO,IAAI,CAAC0N,EAAE,CAAC,UAAU,EAAEI,aAAa,CAAC;IAElC,IAAIjO,OAAO,IAAIA,OAAO,CAACwO,SAAS,EAAE;MAC9B,MAAMzP,MAAM,GAAGiB,OAAO,CAACwO,SAAS,CAAC,CAAC;MAClC,IAAIzP,MAAM,EAAE;QACRkP,aAAa,CAAClP,MAAM,CAAC;MACzB;IACJ;IAEA,OAAO,MAAM;MACToB,IAAI,CAAC2N,GAAG,CAAC,UAAU,EAAEG,aAAa,CAAC;IACvC,CAAC;EACL,CAAC,EAAE,CAAC3O,gBAAgB,EAAEC,SAAS,EAAEY,IAAI,EAAEH,OAAO,CAAC,CAAC;EAEhD,IAAA0J,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACvJ,IAAI,IAAI,CAACb,gBAAgB,EAAE;MAC5B;IACJ;IAEA,MAAMmP,mBAAmB,GAAGA,CAAA,KAAM;MAC9B,MAAMC,MAAM,GAAGC,wBAAW,CAACC,MAAM,CAAC,CAAC;MACnC,MAAM7P,MAAM,GAAG2P,MAAM,EAAEG,cAAc;MAErC,IAAI9P,MAAM,IAAImP,KAAK,CAACC,OAAO,CAACpP,MAAM,CAAC,IAAIA,MAAM,CAACvC,MAAM,KAAK,CAAC,EAAE;QACxD,MAAM,CAAC6R,SAAS,EAAEC,QAAQ,CAAC,GAAGvP,MAAM;QAEpC8L,eAAe,CAACwD,SAAS,EAAEC,QAAQ,CAAC,CAAClF,IAAI,CAACmF,OAAO,IAAI;UACjDhP,SAAS,GAAGgP,OAAO,CAAC;QACxB,CAAC,CAAC;MACN;IACJ,CAAC;;IAED;IACA,MAAMO,KAAK,GAAGlB,UAAU,CAACa,mBAAmB,EAAE,GAAG,CAAC;IAElD,OAAO,MAAMd,YAAY,CAACmB,KAAK,CAAC;EACpC,CAAC,EAAE,CACC3O,IAAI,EAAE2D,KAAK,EAAEvD,QAAQ,EACrBJ,IAAI,EAAE2D,KAAK,EAAEhI,KAAK,EAClBqE,IAAI,EAAE2D,KAAK,EAAEI,YAAY,EACzB/D,IAAI,EAAE2D,KAAK,EAAEK,aAAa,EAC1BhE,IAAI,EAAE2D,KAAK,EAAEhB,KAAK,EAClBxD,gBAAgB,EAChBC,SAAS,CACZ,CAAC;EAEF,IAAAmK,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACvJ,IAAI,EAAE;MACP;IACJ;IAEA,MAAM4O,kBAAkB,GAAIhQ,MAAM,IAAK;MACnC,IAAIoB,IAAI,IAAIpB,MAAM,EAAE;QAChBoB,IAAI,CAACrB,YAAY,CAACC,MAAM,CAAC;MAC7B;IACJ,CAAC;;IAED;IACA4P,wBAAW,CAACK,iBAAiB,CAACD,kBAAkB,CAAC;;IAEjD;IACA,MAAML,MAAM,GAAGC,wBAAW,CAACC,MAAM,CAAC,CAAC;IACnC,IAAIF,MAAM,EAAEG,cAAc,EAAE;MACxBE,kBAAkB,CAACL,MAAM,CAACG,cAAc,CAAC;IAC7C;IAEA,OAAO,MAAM;MACTF,wBAAW,CAACM,oBAAoB,CAACF,kBAAkB,CAAC;IACxD,CAAC;EACL,CAAC,EAAE,CAAC5O,IAAI,CAAC,CAAC;EAEV,IAAAuJ,gBAAS,EAAC,MAAM;IACZvJ,IAAI,CAAC+O,UAAU,CAAC,CAAC;IACjB,OAAO,MAAM;MACT/O,IAAI,CAACgP,OAAO,CAAC,CAAC;IAClB,CAAC;EACL,CAAC,EAAE,CAAChP,IAAI,CAAC,CAAC;EAEV,oBACIjG,MAAA,CAAAgB,OAAA,CAAAkU,aAAA,CAAC9U,gBAAA,CAAA+U,eAAe;IACZhQ,GAAG,EAAEmB,YAAa;IAClBgB,OAAO,EAAEH,WAAW,CAACG,OAAQ;IAC7BC,SAAS,EAAEJ,WAAW,CAACI,SAAU;IACjC6N,OAAO,EAAC;EAAe,CAC1B,CAAC;AAEV,CAAC,CAAC;AAEFrQ,mBAAmB,CAACgE,qBAAqB,GAAID,OAAO,IAAK;EACrD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACxD,MAAM,EAAE;IAC7BwJ,OAAO,CAACD,KAAK,CAAC,sDAAsD,CAAC;IACrE,OAAO,EAAE;EACb;EACA,MAAM5I,IAAI,GAAG,IAAIvB,2BAAY,CAAC;IAAEY,MAAM,EAAEwD,OAAO,CAACxD;EAAO,CAAC,CAAC;EACzD,OAAOW,IAAI,CAAC8C,qBAAqB,CAAC,MAAM,CAAC;AAC7C,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- #Sun Dec 28 14:13:18 EST 2025
1
+ #Wed Feb 18 11:24:01 EST 2026
2
2
  com.aguacerowx.reactnative.aguacerowx-react-native-main-6\:/raw/fragment_shader.glsl=C\:\\Users\\my41m\\aguacero\\aguacero-sdks\\packages\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\fragment_shader.glsl
3
3
  com.aguacerowx.reactnative.aguacerowx-react-native-main-6\:/raw/vertex_shader.glsl=C\:\\Users\\my41m\\aguacero\\aguacero-sdks\\packages\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\vertex_shader.glsl
4
4
  com.aguacerowx.reactnative.aguacerowx-react-native-main-6\:/raw/debug_vertex_shader.glsl=C\:\\Users\\my41m\\aguacero\\aguacero-sdks\\packages\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\debug_vertex_shader.glsl
@@ -66,6 +66,7 @@ public class GridRenderLayer: NSObject {
66
66
  )
67
67
  private var isVisible = false
68
68
  private var pendingActiveFrameKey: String?
69
+ private var lastRequestedCacheKey: String?
69
70
  private let inspectorCache = InspectorDataCache.shared
70
71
  private struct FrameMetadata {
71
72
  let scale: Float
@@ -77,8 +78,10 @@ public class GridRenderLayer: NSObject {
77
78
  let filePath: String
78
79
  let originalScale: Float
79
80
  let originalOffset: Float
81
+ var processedData: Data? // Cache the final transformed bytes
80
82
  }
81
83
  private var frameCache: [String: FrameMetadata] = [:]
84
+ private let frameCacheQueue = DispatchQueue(label: "com.aguacero.frame-cache-queue")
82
85
  private let frameProcessingQueue = DispatchQueue(label: "com.aguacero.frame-processing", qos: .userInitiated, attributes: .concurrent)
83
86
  private let semaphore = DispatchSemaphore(value: 8)
84
87
 
@@ -177,8 +180,12 @@ public class GridRenderLayer: NSObject {
177
180
 
178
181
  @objc(clearGpuCache)
179
182
  public func clearGpuCache() {
183
+ print("ℹ️ [GridRenderLayer] clearGpuCache called")
180
184
  frameProcessingQueue.async { [weak self] in
181
- self?.frameCache.removeAll()
185
+ guard let self = self else { return }
186
+ self.frameCacheQueue.async {
187
+ self.frameCache.removeAll()
188
+ }
182
189
  }
183
190
  }
184
191
 
@@ -210,24 +217,29 @@ public class GridRenderLayer: NSObject {
210
217
  return texture
211
218
  }
212
219
 
213
- private func updateInspectorCache(filePath: String, nx: Int, ny: Int, scale: Float, offset: Float, missing: Float, scaleType: Int) {
220
+ private func updateInspectorCache(filePath: String, reconstructedData: Data?, nx: Int, ny: Int, scale: Float, offset: Float, missing: Float, scaleType: Int) {
214
221
  // This is now called from frameProcessingQueue, so we can do the work synchronously
215
- guard let fileData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
216
- print("❌ [Inspector] FATAL: Failed to read file data from path.")
217
- self.inspectorCache.clear()
218
- return
219
- }
220
222
 
221
- guard let decompressedDeltas = self.decompressZstd(data: fileData) else {
222
- print("❌ [Inspector] FATAL: Failed to decompress Zstd data.")
223
- self.inspectorCache.clear()
224
- return
223
+ let finalReconstructedData: Data
224
+ if let data = reconstructedData {
225
+ finalReconstructedData = data
226
+ } else {
227
+ guard let fileData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
228
+ print("❌ [Inspector] FATAL: Failed to read file data from path.")
229
+ self.inspectorCache.clear()
230
+ return
231
+ }
232
+
233
+ guard let decompressedDeltas = self.decompressZstd(data: fileData) else {
234
+ print("❌ [Inspector] FATAL: Failed to decompress Zstd data.")
235
+ self.inspectorCache.clear()
236
+ return
237
+ }
238
+ finalReconstructedData = self.reconstructData(decompressedDeltas: decompressedDeltas)
225
239
  }
226
-
227
- let reconstructedData = self.reconstructData(decompressedDeltas: decompressedDeltas)
228
240
 
229
241
  self.inspectorCache.update(
230
- data: reconstructedData,
242
+ data: finalReconstructedData,
231
243
  nx: nx,
232
244
  ny: ny,
233
245
  scale: scale,
@@ -239,23 +251,78 @@ public class GridRenderLayer: NSObject {
239
251
 
240
252
  @objc(setActiveFrameWithCacheKey:)
241
253
  public func setActiveFrame(cacheKey: String) {
242
- if let frame = frameCache[cacheKey] {
254
+ setActiveFrameInternal(cacheKey: cacheKey, isExternalRequest: true)
255
+ }
256
+
257
+ private func setActiveFrameInternal(cacheKey: String, isExternalRequest: Bool) {
258
+ if isExternalRequest {
259
+ lastRequestedCacheKey = cacheKey
260
+ } else {
261
+ // If it's an internal retry (from primeGpuCache),
262
+ // only proceed if it's still the frame the user wants.
263
+ if lastRequestedCacheKey != cacheKey {
264
+ return
265
+ }
266
+ }
267
+
268
+ var frameResult: FrameMetadata?
269
+ frameCacheQueue.sync {
270
+ frameResult = frameCache[cacheKey]
271
+ }
272
+
273
+ if let frame = frameResult {
243
274
  frameProcessingQueue.async { [weak self] in
244
275
  guard let self = self else { return }
245
276
 
246
- guard let fileData = try? Data(contentsOf: URL(fileURLWithPath: frame.filePath)),
247
- let finalTextureBytes = self.processRawData(fileData: fileData)
248
- else {
249
- print("❌ [GridRenderLayer] Failed to load texture data for active frame")
250
- return
277
+ // Check if this frame is still the one we want
278
+ if self.lastRequestedCacheKey != cacheKey { return }
279
+
280
+ let finalTextureBytes: Data
281
+ if let cachedData = frame.processedData {
282
+ finalTextureBytes = cachedData
283
+ } else {
284
+ guard let fileData = try? Data(contentsOf: URL(fileURLWithPath: frame.filePath)),
285
+ let processed = self.processRawData(fileData: fileData)
286
+ else {
287
+ print("❌ [GridRenderLayer] Failed to load/process data for: \(cacheKey)")
288
+ return
289
+ }
290
+ finalTextureBytes = processed
291
+ self.frameCacheQueue.async {
292
+ self.frameCache[cacheKey]?.processedData = finalTextureBytes
293
+ }
251
294
  }
252
295
 
296
+ // Final check before jumping to main thread
297
+ if self.lastRequestedCacheKey != cacheKey { return }
298
+
253
299
  DispatchQueue.main.async { [weak self] in
254
- guard let self = self,
255
- let texture = self.createTextureFromBytes(bytes: finalTextureBytes, nx: Int(frame.nx), ny: Int(frame.ny))
256
- else { return }
300
+ guard let self = self else { return }
301
+
302
+ // Final check on main thread
303
+ if self.lastRequestedCacheKey != cacheKey {
304
+ return
305
+ }
306
+
307
+ let nx = Int(frame.nx)
308
+ let ny = Int(frame.ny)
309
+
310
+ if let existingTexture = self.dataTexture,
311
+ existingTexture.width == nx,
312
+ existingTexture.height == ny {
313
+ existingTexture.replace(
314
+ region: MTLRegionMake2D(0, 0, nx, ny),
315
+ mipmapLevel: 0,
316
+ withBytes: (finalTextureBytes as NSData).bytes,
317
+ bytesPerRow: nx
318
+ )
319
+ } else {
320
+ guard let texture = self.createTextureFromBytes(bytes: finalTextureBytes, nx: nx, ny: ny) else {
321
+ return
322
+ }
323
+ self.dataTexture = texture
324
+ }
257
325
 
258
- self.dataTexture = texture
259
326
  self.uniforms.scale = frame.scale
260
327
  self.uniforms.offset = frame.offset
261
328
  self.uniforms.missingQuantized = frame.missing
@@ -266,12 +333,12 @@ public class GridRenderLayer: NSObject {
266
333
  self.pendingActiveFrameKey = nil
267
334
  NotificationCenter.default.post(name: NSNotification.Name("TriggerMapRepaint"), object: nil)
268
335
 
269
- // Update inspector cache
270
336
  self.frameProcessingQueue.async { [weak self] in
271
337
  self?.updateInspectorCache(
272
338
  filePath: frame.filePath,
273
- nx: Int(frame.nx),
274
- ny: Int(frame.ny),
339
+ reconstructedData: nil,
340
+ nx: nx,
341
+ ny: ny,
275
342
  scale: frame.scale,
276
343
  offset: frame.offset,
277
344
  missing: frame.missing,
@@ -280,16 +347,16 @@ public class GridRenderLayer: NSObject {
280
347
  }
281
348
  }
282
349
  }
283
-
284
350
  } else {
285
- print("⚠️ [GridRenderLayer] setActiveFrame cache MISS for key: \(cacheKey). Will apply when primed.")
286
- self.pendingActiveFrameKey = cacheKey
287
- self.isVisible = false
351
+ if isExternalRequest {
352
+ self.pendingActiveFrameKey = cacheKey
353
+ }
288
354
  }
289
355
  }
290
356
 
291
357
  @objc(primeGpuCacheWithFrameInfo:)
292
358
  public func primeGpuCache(frameInfo: [String: [String: Any]]) {
359
+ print("ℹ️ [GridRenderLayer] primeGpuCache called with \(frameInfo.count) items")
293
360
  let group = DispatchGroup()
294
361
 
295
362
  for (cacheKey, info) in frameInfo {
@@ -307,7 +374,13 @@ public class GridRenderLayer: NSObject {
307
374
  group.leave()
308
375
  }
309
376
 
310
- if self.frameCache[cacheKey] != nil { return }
377
+ let alreadyExists: Bool = self.frameCacheQueue.sync {
378
+ return self.frameCache[cacheKey] != nil
379
+ }
380
+ if alreadyExists {
381
+ print("ℹ️ [GridRenderLayer] Frame already cached: \(cacheKey)")
382
+ return
383
+ }
311
384
 
312
385
  guard let filePath = info["filePath"] as? String,
313
386
  let nx = info["nx"] as? NSNumber,
@@ -319,7 +392,7 @@ public class GridRenderLayer: NSObject {
319
392
  let originalScale = info["originalScale"] as? NSNumber,
320
393
  let originalOffset = info["originalOffset"] as? NSNumber
321
394
  else {
322
- print("❌ [GridRenderLayer] Skipping prime for \(cacheKey), missing data.")
395
+ print("❌ [GridRenderLayer] Skipping prime for \(cacheKey), missing data. Info keys: \(info.keys)")
323
396
  return
324
397
  }
325
398
 
@@ -332,13 +405,35 @@ public class GridRenderLayer: NSObject {
332
405
  ny: ny.floatValue,
333
406
  filePath: filePath,
334
407
  originalScale: originalScale.floatValue,
335
- originalOffset: originalOffset.floatValue
408
+ originalOffset: originalOffset.floatValue,
409
+ processedData: nil
336
410
  )
337
- self.frameCache[cacheKey] = metadata
338
-
339
- if let pendingKey = self.pendingActiveFrameKey, pendingKey == cacheKey {
340
- DispatchQueue.main.async {
341
- self.setActiveFrame(cacheKey: pendingKey)
411
+
412
+ // Add to cache immediately so setActiveFrame can see it
413
+ self.frameCacheQueue.async {
414
+ self.frameCache[cacheKey] = metadata
415
+ print("ℹ️ [GridRenderLayer] Primed cache key: \(cacheKey)")
416
+ }
417
+
418
+ // PERFORMANCE: Pre-process the data in the background
419
+ if let fileData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) {
420
+ if let processedData = self.processRawData(fileData: fileData) {
421
+ self.frameCacheQueue.async {
422
+ self.frameCache[cacheKey]?.processedData = processedData
423
+ }
424
+ }
425
+ }
426
+
427
+ DispatchQueue.main.async {
428
+ if let pendingKey = self.pendingActiveFrameKey, pendingKey == cacheKey {
429
+ if self.lastRequestedCacheKey == cacheKey {
430
+ print("ℹ️ [GridRenderLayer] Applying pending frame: \(cacheKey)")
431
+ self.setActiveFrameInternal(cacheKey: pendingKey, isExternalRequest: false)
432
+ }
433
+ // Clear pending key if it matches what we just processed
434
+ if self.pendingActiveFrameKey == cacheKey {
435
+ self.pendingActiveFrameKey = nil
436
+ }
342
437
  }
343
438
  }
344
439
  }
@@ -359,12 +454,30 @@ public class GridRenderLayer: NSObject {
359
454
  }
360
455
 
361
456
  DispatchQueue.main.async { [weak self] in
362
- guard let self = self, let texture = self.createTextureFromBytes(bytes: finalTextureBytes, nx: nx.intValue, ny: ny.intValue) else {
363
- print("❌ [GridRenderLayer] FAST LANE: Failed to create texture")
364
- return
457
+ guard let self = self else { return }
458
+
459
+ let nxInt = nx.intValue
460
+ let nyInt = ny.intValue
461
+
462
+ // REUSE TEXTURE if dimensions match
463
+ if let existingTexture = self.dataTexture,
464
+ existingTexture.width == nxInt,
465
+ existingTexture.height == nyInt {
466
+ existingTexture.replace(
467
+ region: MTLRegionMake2D(0, 0, nxInt, nyInt),
468
+ mipmapLevel: 0,
469
+ withBytes: (finalTextureBytes as NSData).bytes,
470
+ bytesPerRow: nxInt
471
+ )
472
+ } else {
473
+ // Create new texture only if needed
474
+ guard let texture = self.createTextureFromBytes(bytes: finalTextureBytes, nx: nxInt, ny: nyInt) else {
475
+ print("❌ [GridRenderLayer] FAST LANE: Failed to create texture")
476
+ return
477
+ }
478
+ self.dataTexture = texture
365
479
  }
366
480
 
367
- self.dataTexture = texture
368
481
  self.uniforms.scale = scale.floatValue
369
482
  self.uniforms.offset = offset.floatValue
370
483
  self.uniforms.missingQuantized = missing.floatValue
@@ -376,6 +489,7 @@ public class GridRenderLayer: NSObject {
376
489
 
377
490
  self.updateInspectorCache(
378
491
  filePath: filePath,
492
+ reconstructedData: nil,
379
493
  nx: nx.intValue,
380
494
  ny: ny.intValue,
381
495
  scale: scale.floatValue,
@@ -799,19 +913,35 @@ internal func internalRenderingWillStart(_ metalDevice: MTLDevice, colorPixelFor
799
913
  #endif
800
914
 
801
915
  // Try to load pre-compiled metallib for the current platform
802
- let defaultLibrary: MTLLibrary?
803
- if let metallibUrl = bundle.url(forResource: metallibName, withExtension: "metallib"),
804
- let library = try? metalDevice.makeLibrary(URL: metallibUrl) {
805
- defaultLibrary = library
916
+ var defaultLibrary: MTLLibrary?
917
+
918
+ // 1. Look in the main bundle level
919
+ if let metallibUrl = bundle.url(forResource: metallibName, withExtension: "metallib") {
920
+ print("ℹ️ [GridRenderLayer] Found pre-compiled shaders at: \(metallibUrl.lastPathComponent)")
921
+ defaultLibrary = try? metalDevice.makeLibrary(URL: metallibUrl)
806
922
  }
807
- // Fall back to compiling from .metal source (for development with npm link)
808
- else if let metalUrl = bundle.url(forResource: "Shaders", withExtension: "metal"),
809
- let source = try? String(contentsOf: metalUrl),
810
- let library = try? metalDevice.makeLibrary(source: source, options: nil) {
811
- defaultLibrary = library
923
+
924
+ // 2. Fall back to compiled-shaders subdirectory
925
+ if defaultLibrary == nil {
926
+ if let metallibUrl = bundle.url(forResource: metallibName, withExtension: "metallib", subdirectory: "compiled-shaders") {
927
+ print("ℹ️ [GridRenderLayer] Found pre-compiled shaders in subdirectory: \(metallibUrl.lastPathComponent)")
928
+ defaultLibrary = try? metalDevice.makeLibrary(URL: metallibUrl)
929
+ }
812
930
  }
931
+
932
+ // 3. Fall back to compiling from .metal source (for development with npm link)
933
+ if defaultLibrary == nil {
934
+ if let metalUrl = bundle.url(forResource: "Shaders", withExtension: "metal") {
935
+ print("⚠️ [GridRenderLayer] Pre-compiled shaders not found. Compiling from source: \(metalUrl.lastPathComponent)")
936
+ if let source = try? String(contentsOf: metalUrl),
937
+ let library = try? metalDevice.makeLibrary(source: source, options: nil) {
938
+ defaultLibrary = library
939
+ }
940
+ }
941
+ }
942
+
813
943
  // Neither worked
814
- else {
944
+ if defaultLibrary == nil {
815
945
  print("❌ [GridRenderLayer] Could not find or compile Metal shaders")
816
946
  print(" Bundle path: \(bundle.bundlePath)")
817
947
  return
@@ -967,7 +1097,9 @@ internal func internalRenderingWillStart(_ metalDevice: MTLDevice, colorPixelFor
967
1097
  print("🔴 [GridRenderLayer] deinit called for layer: \(id)")
968
1098
 
969
1099
  // Clean up all resources
970
- frameCache.removeAll()
1100
+ frameCacheQueue.sync {
1101
+ frameCache.removeAll()
1102
+ }
971
1103
  vertexBuffer = nil
972
1104
  indexBuffer = nil
973
1105
  dataTexture = nil
@@ -983,10 +1115,11 @@ internal func internalRenderingWillStart(_ metalDevice: MTLDevice, colorPixelFor
983
1115
  }
984
1116
 
985
1117
  internal func internalRenderingWillEnd() {
986
- vertexBuffer = nil
987
- indexBuffer = nil
988
- dataTexture = nil
989
- colormapTexture = nil
1118
+ // DO NOT clear these here, otherwise the layer disappears during map transitions/resizing
1119
+ // vertexBuffer = nil
1120
+ // indexBuffer = nil
1121
+ // dataTexture = nil
1122
+ // colormapTexture = nil
990
1123
  }
991
1124
  }
992
1125
 
@@ -34,4 +34,12 @@ import Foundation
34
34
  return false
35
35
  }
36
36
  }
37
+
38
+ @objc public static func removeCustomLayer(from mapView: MapView, layerId: String) {
39
+ do {
40
+ try mapView.mapboxMap.removeLayer(withId: layerId)
41
+ } catch {
42
+ print("❌ [GridRenderLayerBridge] Failed to remove layer \(layerId): \(error)")
43
+ }
44
+ }
37
45
  }