From 7df9ebf22c9af4a05c0e98e13ce8dc6fb1f77595 Mon Sep 17 00:00:00 2001 From: wehub-resource-sync Date: Mon, 13 Jul 2026 12:33:00 +0800 Subject: [PATCH] chore: import upstream snapshot with attribution --- .dockerignore | 20 + .github/FUNDING.yml | 2 + .github/ISSUE_TEMPLATE/bug_report.yml | 76 + .github/ISSUE_TEMPLATE/config.yml | 11 + .github/ISSUE_TEMPLATE/feature_request.yml | 52 + .github/dependabot.yml | 92 + .github/labels.yml | 47 + .github/workflows/android.yml | 201 + .github/workflows/ci.yml | 203 + .github/workflows/claude-code-review.yml | 78 + .github/workflows/claude.yml | 102 + .github/workflows/cloudflare-preview.yml | 165 + .github/workflows/deploy-collab.yml | 31 + .github/workflows/deploy-tiles.yml | 47 + .github/workflows/deploy-viewer.yml | 31 + .github/workflows/labels.yml | 27 + .github/workflows/msix-store.yml | 55 + .github/workflows/pages.yml | 105 + .github/workflows/publish-container.yml | 70 + .github/workflows/publish-python.yml | 99 + .github/workflows/release.yml | 361 + .gitignore | 65 + .pre-commit-config.yaml | 40 + CITATION.cff | 24 + CLAUDE.md | 94 + CONTRIBUTING.md | 28 + Dockerfile | 101 + LICENSE | 21 + README.md | 647 + README.wehub.md | 7 + apps/geolibre-desktop/index.html | 31 + .../jupyterlite/jupyter-lite.json | 6 + .../jupyterlite/jupyter_lite_config.json | 6 + .../jupyterlite/requirements.txt | 12 + apps/geolibre-desktop/package.json | 110 + apps/geolibre-desktop/postcss.config.js | 5 + .../public/apple-touch-icon.png | Bin 0 -> 20808 bytes apps/geolibre-desktop/public/favicon.ico | Bin 0 -> 67130 bytes apps/geolibre-desktop/public/favicon.png | Bin 0 -> 2588 bytes .../public/maskable-icon-512x512.png | Bin 0 -> 128017 bytes .../public/plugins/.gitignore | 6 + .../geolibre-desktop/public/plugins/README.md | 44 + apps/geolibre-desktop/public/pwa-192x192.png | Bin 0 -> 39326 bytes apps/geolibre-desktop/public/pwa-512x512.png | Bin 0 -> 148356 bytes .../public/pyodide/pyodide-worker.js | 103 + .../public/whitebox-catalog-snapshot.json | 1 + apps/geolibre-desktop/src-tauri/Cargo.lock | 6601 +++++ apps/geolibre-desktop/src-tauri/Cargo.toml | 54 + apps/geolibre-desktop/src-tauri/build.rs | 3 + .../src-tauri/capabilities/default.json | 35 + .../src-tauri/icons/128x128.png | Bin 0 -> 18099 bytes .../src-tauri/icons/128x128@2x.png | Bin 0 -> 48877 bytes .../src-tauri/icons/32x32.png | Bin 0 -> 2588 bytes .../src-tauri/icons/64x64.png | Bin 0 -> 7080 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 0 -> 14056 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 0 -> 21035 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 0 -> 22505 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 0 -> 57081 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 0 -> 2351 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 0 -> 65372 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 0 -> 4029 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 0 -> 8232 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 0 -> 11108 bytes .../src-tauri/icons/StoreLogo.png | Bin 0 -> 4856 bytes .../android/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4477 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 14350 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4779 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 4260 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 8117 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 4626 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 11938 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 21341 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 13179 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 21377 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 38643 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 23413 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 31530 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 60373 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 34394 bytes .../android/values/ic_launcher_background.xml | 4 + .../src-tauri/icons/icon.icns | Bin 0 -> 891622 bytes .../geolibre-desktop/src-tauri/icons/icon.ico | Bin 0 -> 67130 bytes .../geolibre-desktop/src-tauri/icons/icon.png | Bin 0 -> 146962 bytes .../src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 1123 bytes .../icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 3118 bytes .../src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 3118 bytes .../src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 5633 bytes .../src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 1961 bytes .../icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 5333 bytes .../src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 5333 bytes .../src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 9448 bytes .../src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 3118 bytes .../icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 8378 bytes .../src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 8378 bytes .../src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 14648 bytes .../src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 443431 bytes .../src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 14648 bytes .../src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 26162 bytes .../src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 7851 bytes .../src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 20496 bytes .../icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 23498 bytes .../src-tauri/src/earth_engine_oauth.rs | 405 + apps/geolibre-desktop/src-tauri/src/lib.rs | 3083 +++ apps/geolibre-desktop/src-tauri/src/main.rs | 6 + .../src-tauri/src/native_duckdb.rs | 1076 + .../src-tauri/tauri.android.conf.json | 7 + .../src-tauri/tauri.conf.json | 41 + apps/geolibre-desktop/src/App.tsx | 49 + .../src/components/CollapsibleSection.tsx | 49 + .../src/components/command/CommandPalette.tsx | 187 + .../command/KeyboardShortcutsDialog.tsx | 137 + .../components/common/error-boundaries.tsx | 189 + .../src/components/layout/AboutDialog.tsx | 327 + .../src/components/layout/AddDataDialog.tsx | 171 + .../src/components/layout/AddNetcdfDialog.tsx | 476 + .../layout/BoundsRestrictionIndicator.tsx | 50 + .../components/layout/CollaborateDialog.tsx | 545 + .../layout/CollaborationParticipantRow.tsx | 100 + .../layout/CollaborationStatusBadge.tsx | 511 + .../src/components/layout/DesktopShell.tsx | 2277 ++ .../components/layout/DiagnosticsDialog.tsx | 316 + .../layout/FieldCollectionDialog.tsx | 1195 + .../layout/FileNamePromptDialog.tsx | 77 + .../components/layout/GeoreferencerDialog.tsx | 703 + .../layout/KnowledgeCardConsentDialog.tsx | 47 + .../components/layout/KnowledgeCardPanel.tsx | 287 + .../layout/LoadFeaturesIntoEditorDialog.tsx | 662 + .../components/layout/ManagePluginsDialog.tsx | 1016 + .../src/components/layout/MapContextMenu.tsx | 244 + .../src/components/layout/MapGrid.tsx | 285 + .../src/components/layout/MapModeBanner.tsx | 294 + .../components/layout/NewProjectDialog.tsx | 429 + .../layout/NoServiceWorkerBanner.tsx | 53 + .../layout/OfflineManagerDialog.tsx | 389 + .../components/layout/OfflineRegionDialog.tsx | 700 + .../components/layout/OnboardingDialog.tsx | 101 + .../layout/PixelTimeSeriesControl.tsx | 983 + .../components/layout/PrintLayoutDialog.tsx | 2034 ++ .../layout/ProjectGalleryDialog.tsx | 599 + .../layout/ProjectPluginTrustDialog.tsx | 93 + .../components/layout/RasterSubsetPanel.tsx | 829 + .../components/layout/RecordTourDialog.tsx | 1391 + .../components/layout/RecordVideoDialog.tsx | 510 + .../components/layout/RegionSelectOverlay.tsx | 201 + .../src/components/layout/ReleaseNotes.tsx | 70 + .../layout/RemoteCursorsOverlay.tsx | 245 + .../src/components/layout/SetViewDialog.tsx | 723 + .../src/components/layout/SettingsDialog.tsx | 2729 ++ .../components/layout/ShareProjectDialog.tsx | 329 + .../src/components/layout/StatusBar.tsx | 65 + .../layout/TerrainSettingsDialog.tsx | 176 + .../src/components/layout/TopToolbar.tsx | 1388 + .../components/layout/UpdateInstructions.tsx | 28 + .../layout/UpdateNotificationModal.tsx | 127 + .../layout/add-data/ServiceLibrarySection.tsx | 391 + .../layout/add-data/apply-service.ts | 474 + .../components/layout/add-data/constants.ts | 190 + .../components/layout/add-data/context.tsx | 34 + .../src/components/layout/add-data/helpers.ts | 751 + .../layout/add-data/martin-source-match.ts | 28 + .../layout/add-data/open-add-data.ts | 46 + .../layout/add-data/service-library.ts | 395 + .../src/components/layout/add-data/shared.tsx | 298 + .../layout/add-data/sources/ArcGISSource.tsx | 202 + .../layout/add-data/sources/CadSource.tsx | 329 + .../layout/add-data/sources/DeckVizSource.tsx | 746 + .../add-data/sources/DelimitedTextSource.tsx | 457 + .../layout/add-data/sources/GeoRssSource.tsx | 182 + .../layout/add-data/sources/GpxSource.tsx | 333 + .../layout/add-data/sources/MbtilesSource.tsx | 161 + .../add-data/sources/OgcVectorTilesSource.tsx | 176 + .../layout/add-data/sources/PhotosSource.tsx | 265 + .../add-data/sources/PostgresSource.tsx | 646 + .../layout/add-data/sources/VideoSource.tsx | 201 + .../layout/add-data/sources/WfsSource.tsx | 400 + .../layout/add-data/sources/WmsSource.tsx | 432 + .../layout/add-data/sources/WmtsSource.tsx | 89 + .../layout/add-data/sources/XyzSource.tsx | 116 + .../src/components/layout/add-data/types.ts | 38 + .../layout/add-data/useMartinConnection.ts | 90 + .../components/layout/toolbar/AddDataMenu.tsx | 147 + .../layout/toolbar/ConsentNoticeDialogs.tsx | 135 + .../layout/toolbar/ControlsMenu.tsx | 750 + .../components/layout/toolbar/EditMenu.tsx | 72 + .../components/layout/toolbar/HelpMenu.tsx | 142 + .../layout/toolbar/OsmPbfDialogs.tsx | 133 + .../layout/toolbar/PluginToolbarMenus.tsx | 164 + .../components/layout/toolbar/PluginsMenu.tsx | 200 + .../layout/toolbar/ProcessingMenu.tsx | 551 + .../layout/toolbar/ProjectFileDialogs.tsx | 257 + .../components/layout/toolbar/ProjectMenu.tsx | 272 + .../components/layout/toolbar/ViewMenu.tsx | 366 + .../components/layout/toolbar/constants.ts | 226 + .../src/components/panels/AssistantPanel.tsx | 837 + .../panels/AttributeChartDialog.tsx | 369 + .../panels/AttributeStatsDialog.tsx | 252 + .../src/components/panels/AttributeTable.tsx | 2190 ++ .../components/panels/BasemapPickerDialog.tsx | 301 + .../src/components/panels/BrowserPanel.tsx | 481 + .../src/components/panels/BrowserTreeNode.tsx | 223 + .../panels/ColumnExplorerDialog.tsx | Bin 0 -> 12198 bytes .../src/components/panels/DashboardPanel.tsx | 460 + .../src/components/panels/FloatingPanels.tsx | 269 + .../src/components/panels/LayerPanel.tsx | 3125 +++ .../panels/LayerPanelPlaceSearch.tsx | 271 + .../src/components/panels/NotebookPanel.tsx | 208 + .../components/panels/PluginRightPanel.tsx | 322 + .../components/panels/PythonConsolePanel.tsx | 562 + .../components/panels/PythonEditorPane.tsx | 283 + .../panels/RasterSymbologySection.tsx | 1281 + .../components/panels/RouteAnimationPanel.tsx | 659 + .../src/components/panels/SharedSidebar.tsx | 235 + .../components/panels/SqlWorkspacePanel.tsx | 975 + .../src/components/panels/StylePanel.tsx | 3499 +++ .../src/components/panels/SunPanel.tsx | 417 + .../components/panels/WidgetEditorDialog.tsx | 415 + .../components/panels/charts/chart-colors.ts | 91 + .../components/panels/charts/chart-spec.ts | 164 + .../components/panels/charts/chart-view.tsx | 668 + .../processing/ConversionDialog.tsx | 1109 + .../components/processing/GeocodeDialog.tsx | 435 + .../processing/ModelBuilderDialog.tsx | 915 + .../processing/NetworkToolsDialog.tsx | 315 + .../components/processing/ParameterField.tsx | 156 + .../processing/ProcessingDialog.tsx | 1751 ++ .../processing/RasterToolsDialog.tsx | 1021 + .../processing/SegmentationDialog.tsx | 483 + .../processing/SidecarHelpBanner.tsx | 191 + .../processing/StatisticsToolsDialog.tsx | 354 + .../processing/VectorToolsDialog.tsx | 521 + .../storymap/StoryMapComposeBar.tsx | 149 + .../storymap/StoryMapHandoutDialog.tsx | 696 + .../src/components/storymap/StoryMapPanel.tsx | 1199 + .../components/storymap/StoryMapPresenter.tsx | 806 + apps/geolibre-desktop/src/hooks/embedHost.ts | 112 + .../src/hooks/useBeforeUnloadGuard.ts | 35 + .../src/hooks/useBrowserTree.ts | 119 + .../src/hooks/useCollaboration.ts | 557 + .../src/hooks/useCommandBridge.ts | Bin 0 -> 6492 bytes .../src/hooks/useConsentGatedActions.ts | 123 + .../src/hooks/useDesktopSettings.ts | 357 + .../src/hooks/useEmbedBridge.ts | 181 + .../src/hooks/useFileNamePrompt.ts | 123 + .../src/hooks/useGlobalShortcuts.ts | 78 + .../src/hooks/useIsMobileViewport.ts | 50 + .../geolibre-desktop/src/hooks/useLanguage.ts | 66 + .../src/hooks/useLayerChartData.ts | 79 + .../src/hooks/useLayoutOptions.ts | 98 + .../src/hooks/useNotebookBridge.ts | 195 + .../src/hooks/useNotebookThemeSync.ts | 75 + .../src/hooks/useOsmPbfLoader.ts | 212 + .../src/hooks/usePluginUiSurfaces.ts | 36 + apps/geolibre-desktop/src/hooks/usePlugins.ts | 1128 + .../src/hooks/useProjectFileActions.ts | 762 + .../src/hooks/useProjectUrlLoader.ts | 72 + .../src/hooks/useRasterIdentify.ts | 31 + .../src/hooks/useRecentProjectsPersistence.ts | 61 + .../src/hooks/useRegisterBrowserPanel.ts | 50 + .../src/hooks/useRightPanels.ts | 108 + .../hooks/useRuntimeEnvironmentVariables.ts | 105 + .../src/hooks/useStartupUpdateCheck.ts | 163 + .../src/hooks/useThemeMode.ts | 41 + .../src/hooks/useThemeScheme.ts | 21 + .../src/hooks/useToolbarPanels.ts | 281 + .../src/hooks/useUiProfileBootstrap.ts | 142 + .../src/hooks/useUndoRedoShortcuts.ts | 43 + .../src/hooks/useViewportHistory.ts | 176 + apps/geolibre-desktop/src/i18n/i18next.d.ts | 15 + apps/geolibre-desktop/src/i18n/index.ts | 100 + apps/geolibre-desktop/src/i18n/languages.ts | 88 + .../geolibre-desktop/src/i18n/locales/de.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/en.json | 3129 +++ .../geolibre-desktop/src/i18n/locales/es.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/fr.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/hi.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/id.json | 2878 +++ .../geolibre-desktop/src/i18n/locales/it.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/ja.json | 2878 +++ .../geolibre-desktop/src/i18n/locales/ko.json | 2878 +++ .../geolibre-desktop/src/i18n/locales/nl.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/pt.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/ru.json | 3010 +++ .../geolibre-desktop/src/i18n/locales/tr.json | 2922 +++ .../geolibre-desktop/src/i18n/locales/zh.json | 2878 +++ apps/geolibre-desktop/src/index.css | 3552 +++ .../geolibre-desktop/src/lib/admin-profile.ts | 145 + .../src/lib/assistant/agent.ts | 148 + .../src/lib/assistant/basemaps.ts | 74 + .../src/lib/assistant/markdown.ts | 17 + .../src/lib/assistant/os-env.ts | 83 + .../src/lib/assistant/provider-fields.ts | 140 + .../src/lib/assistant/provider.ts | 431 + .../src/lib/assistant/symbology.ts | 140 + .../src/lib/assistant/tools.ts | 860 + .../src/lib/assistant/web-search.ts | 147 + .../src/lib/attribute-charts.ts | 505 + .../src/lib/attribute-columns.ts | 492 + .../src/lib/attribute-expression.ts | 323 + .../src/lib/attribute-selection.ts | 78 + .../src/lib/attribute-stats.ts | 198 + .../src/lib/basemap-presets.ts | 52 + .../geolibre-desktop/src/lib/basemap-style.ts | 273 + .../src/lib/browser-folders.ts | 98 + .../src/lib/browser-node-module.ts | 3 + apps/geolibre-desktop/src/lib/browser-tree.ts | 578 + .../src/lib/build-project-snapshot.ts | 50 + .../src/lib/cereus-loader.cdn.ts | 57 + .../geolibre-desktop/src/lib/cereus-loader.ts | 56 + apps/geolibre-desktop/src/lib/chart-export.ts | 114 + apps/geolibre-desktop/src/lib/clamp.ts | 11 + .../geolibre-desktop/src/lib/collab-client.ts | 232 + .../src/lib/collab-protocol.ts | 156 + .../src/lib/collada-to-glb.ts | 185 + .../src/lib/column-explorer.ts | 121 + apps/geolibre-desktop/src/lib/commands.ts | 155 + apps/geolibre-desktop/src/lib/coordinates.ts | 122 + .../src/lib/deck-viz-input.ts | 314 + .../src/lib/delimited-text.ts | 405 + apps/geolibre-desktop/src/lib/diagnostics.ts | 583 + apps/geolibre-desktop/src/lib/dms.ts | 144 + .../src/lib/duckdb-geometry.ts | 347 + .../src/lib/duckdb-processing.ts | 74 + .../src/lib/duckdb-vector-guard.ts | 98 + .../src/lib/duckdb-vector-loader.ts | 1164 + .../src/lib/duckdb-wasm-bundles.tauri.ts | 11 + .../src/lib/duckdb-wasm-bundles.ts | 20 + .../src/lib/external-map-links.ts | 83 + .../src/lib/external-native-layer.ts | 56 + .../src/lib/external-plugins.ts | 738 + apps/geolibre-desktop/src/lib/fetch-error.ts | 130 + .../src/lib/field-collection.ts | 345 + apps/geolibre-desktop/src/lib/file-names.ts | 38 + apps/geolibre-desktop/src/lib/gdal-loader.ts | 32 + .../src/lib/geoagent-style.ts | 249 + .../src/lib/geocoding-fetch.ts | 78 + .../src/lib/geometry-measure.ts | 332 + apps/geolibre-desktop/src/lib/geometry-wkb.ts | 358 + .../src/lib/geopackage-writer.ts | 343 + .../src/lib/georeference-gdal.ts | 83 + apps/geolibre-desktop/src/lib/georeference.ts | 277 + apps/geolibre-desktop/src/lib/georss.ts | 417 + .../src/lib/geotagged-photos.ts | 384 + .../src/lib/gpkg-ogr-contents.ts | 229 + apps/geolibre-desktop/src/lib/gpkg-reader.ts | 304 + apps/geolibre-desktop/src/lib/gpx.ts | 344 + apps/geolibre-desktop/src/lib/html-export.ts | 149 + apps/geolibre-desktop/src/lib/icon-source.ts | 17 + apps/geolibre-desktop/src/lib/is-mobile.ts | 36 + apps/geolibre-desktop/src/lib/is-tauri.ts | 9 + apps/geolibre-desktop/src/lib/jupyter.ts | 36 + .../src/lib/kml-model-layer.ts | 57 + apps/geolibre-desktop/src/lib/kml-model.ts | 129 + apps/geolibre-desktop/src/lib/kml-overlays.ts | 100 + apps/geolibre-desktop/src/lib/kml.ts | 715 + .../src/lib/knowledge-consent.ts | 31 + apps/geolibre-desktop/src/lib/knowledge.ts | 298 + .../geolibre-desktop/src/lib/layer-refresh.ts | 450 + apps/geolibre-desktop/src/lib/lidar-style.ts | 353 + apps/geolibre-desktop/src/lib/map-recorder.ts | 423 + apps/geolibre-desktop/src/lib/martin.ts | 120 + apps/geolibre-desktop/src/lib/mbtiles.ts | 85 + apps/geolibre-desktop/src/lib/native-http.ts | 145 + .../src/lib/offline-regions.ts | 354 + .../geolibre-desktop/src/lib/offline-tiles.ts | 654 + .../src/lib/ogc-vector-tiles.ts | 467 + .../src/lib/onboarding-suppression.ts | 75 + .../geolibre-desktop/src/lib/open-external.ts | 34 + .../src/lib/osm-pbf-loader.ts | 164 + apps/geolibre-desktop/src/lib/osm-pbf.ts | 226 + .../src/lib/osm-pbf.worker.ts | 23 + .../src/lib/osm-shared-array-buffer-shim.ts | 20 + apps/geolibre-desktop/src/lib/panel-resize.ts | 6 + .../src/lib/pglite-loader.cdn.ts | 68 + .../geolibre-desktop/src/lib/pglite-loader.ts | 26 + apps/geolibre-desktop/src/lib/pglite-sql.ts | 180 + .../src/lib/pglite-workspace.ts | 254 + .../src/lib/planetary-sections.ts | 41 + .../src/lib/plugin-archive-store.ts | 100 + .../src/lib/plugin-archive-unpack.ts | 156 + .../src/lib/plugin-asset-url.ts | 52 + .../src/lib/plugin-integrity.ts | 141 + .../src/lib/plugin-registry.ts | 308 + apps/geolibre-desktop/src/lib/plugin-trust.ts | 64 + .../src/lib/postgis-connections.ts | 120 + .../geolibre-desktop/src/lib/print-capture.ts | 46 + apps/geolibre-desktop/src/lib/print-extent.ts | 327 + .../src/lib/print-layout-export.ts | 357 + apps/geolibre-desktop/src/lib/print-layout.ts | 1370 + apps/geolibre-desktop/src/lib/print-legend.ts | 365 + apps/geolibre-desktop/src/lib/prj-sidecar.ts | 35 + apps/geolibre-desktop/src/lib/project-url.ts | 139 + .../src/lib/pyodide/console_api.py | 296 + .../src/lib/pyodide/pyodide-config.ts | 52 + .../src/lib/pyodide/pyodide-console.ts | 361 + .../src/lib/pyodide/pyodide-vector-loader.ts | 202 + .../src/lib/pyodide/usePyCompletion.tsx | 194 + apps/geolibre-desktop/src/lib/radix-compat.ts | 18 + .../geolibre-desktop/src/lib/raster-export.ts | 65 + .../src/lib/raster-subset-export.ts | 277 + .../src/lib/restore-local-layers.ts | 109 + .../src/lib/reverse-geocode-consent.ts | 31 + .../src/lib/routing-consent.ts | 31 + apps/geolibre-desktop/src/lib/rtl-text.ts | 29 + .../geolibre-desktop/src/lib/sanitize-html.ts | 47 + .../src/lib/saved-postgres-connections.ts | 77 + .../src/lib/scripting/scriptingApi.ts | 249 + .../src/lib/sedona-workspace.ts | 405 + .../src/lib/shapefile-writer.ts | 516 + apps/geolibre-desktop/src/lib/share-fetch.ts | 84 + .../geolibre-desktop/src/lib/share-gallery.ts | 370 + .../src/lib/share-geolibre.ts | 234 + apps/geolibre-desktop/src/lib/sidecar.ts | 31 + .../src/lib/spatial-extension-config.ts | 5 + .../src/lib/sql-completion.ts | 103 + .../geolibre-desktop/src/lib/sql-workspace.ts | 907 + .../src/lib/stale-chunk-reload.ts | 190 + apps/geolibre-desktop/src/lib/storage-keys.ts | 24 + .../src/lib/storymap-constants.ts | 39 + .../src/lib/storymap-export.ts | 910 + apps/geolibre-desktop/src/lib/storymap-pdf.ts | 453 + apps/geolibre-desktop/src/lib/string-lists.ts | 23 + apps/geolibre-desktop/src/lib/swipe-style.ts | 333 + .../src/lib/symbol-dispose-polyfill.ts | 13 + apps/geolibre-desktop/src/lib/tauri-io.ts | 2793 ++ .../src/lib/terrain-exaggeration.ts | 23 + .../geolibre-desktop/src/lib/theme-schemes.ts | 246 + .../geolibre-desktop/src/lib/tour-recorder.ts | 853 + apps/geolibre-desktop/src/lib/ui-profile.ts | 458 + apps/geolibre-desktop/src/lib/updates.ts | 226 + apps/geolibre-desktop/src/lib/url-utils.ts | 20 + apps/geolibre-desktop/src/lib/urls.ts | 21 + .../src/lib/useSqlCompletion.tsx | 239 + .../geolibre-desktop/src/lib/vector-export.ts | 304 + .../src/lib/vector-exporter.ts | 80 + .../src/lib/whitebox-menu-catalog.ts | 1098 + apps/geolibre-desktop/src/lib/xyz-url.ts | 301 + apps/geolibre-desktop/src/main.tsx | 134 + .../src/types/three-addons.d.ts | 25 + apps/geolibre-desktop/src/vite-env.d.ts | 50 + apps/geolibre-desktop/tailwind.config.js | 55 + apps/geolibre-desktop/tsconfig.json | 11 + apps/geolibre-desktop/tsconfig.node.json | 11 + .../vite-plugins/bundled-plugins.ts | 59 + .../vite-plugins/copy-cesium-assets.ts | 73 + .../vite-plugins/copy-rtl-text.ts | 86 + .../vite-plugins/copy-vector-ops.ts | 66 + apps/geolibre-desktop/vite.config.ts | 985 + backend/geolibre_server/README.md | 170 + .../geolibre_server/__init__.py | 1 + .../geolibre_server/app/__init__.py | 0 .../geolibre_server/app/conversion.py | 1253 + .../geolibre_server/app/main.py | 203 + .../geolibre_server/geolibre_server/app/ml.py | 434 + .../geolibre_server/app/postgis.py | 769 + .../geolibre_server/app/raster.py | 1505 ++ .../geolibre_server/app/runtime.py | 219 + .../geolibre_server/app/sql.py | 88 + .../geolibre_server/app/vector.py | 320 + .../geolibre_server/app/whitebox.py | 1163 + .../geolibre_server/sedona_ops.py | 200 + .../geolibre_server/vector_ops.py | 1082 + .../geolibre_server/jupyter_server_config.py | 69 + backend/geolibre_server/notebook_client.py | 269 + .../notebook_examples/Welcome.ipynb | 143 + backend/geolibre_server/pyproject.toml | 107 + .../geolibre_server/tests/test_conversion.py | 380 + backend/geolibre_server/tests/test_ml.py | 237 + backend/geolibre_server/tests/test_postgis.py | 598 + backend/geolibre_server/tests/test_raster.py | 1030 + .../geolibre_server/tests/test_security.py | 353 + backend/geolibre_server/tests/test_sql.py | 131 + backend/geolibre_server/tests/test_vector.py | 394 + .../tests/test_vector_golden.py | 214 + .../geolibre_server/tests/test_vector_ops.py | 1153 + .../tests/test_whitebox_arguments.py | 217 + .../tests/test_whitebox_endpoints.py | 115 + docker/entrypoint.sh | 101 + docker/nginx.conf | 113 + docs/CNAME | 1 + docs/acknowledgements.md | 80 + docs/android.md | 146 + docs/architecture.md | 149 + docs/assets/geolibre-app.png | Bin 0 -> 261660 bytes docs/assets/geolibre-icon.png | Bin 0 -> 146962 bytes docs/citation.md | 55 + docs/collaboration.md | 305 + docs/contributing.md | 202 + docs/downloads.md | 188 + docs/getting-started.md | 233 + docs/i18n.md | 131 + docs/index.md | 162 + docs/notebook.md | 101 + docs/plugin-api.md | 527 + docs/privacy.md | 76 + docs/project-format.md | 224 + docs/python.md | 301 + docs/roadmap.md | 418 + docs/stylesheets/extra.css | 186 + docs/terms.md | 102 + docs/tutorials/cloud-native-data.md | 50 + docs/tutorials/first-map.md | 43 + docs/tutorials/index.md | 27 + docs/tutorials/sharing-embedding.md | 61 + docs/tutorials/spatial-sql.md | 57 + docs/tutorials/terrain-analysis.md | 38 + docs/tutorials/vector-analysis.md | 46 + docs/ui-profiles.md | 90 + docs/user-guide/adding-data.md | 73 + docs/user-guide/ai-assistant.md | 226 + docs/user-guide/attribute-table.md | 31 + docs/user-guide/data-integrations.md | 91 + docs/user-guide/embedding.md | 62 + docs/user-guide/interface.md | 88 + docs/user-guide/layers.md | 37 + docs/user-guide/map-controls.md | 48 + docs/user-guide/plugins.md | 36 + docs/user-guide/processing.md | 133 + docs/user-guide/projects.md | 40 + docs/user-guide/python-console.md | 164 + docs/user-guide/segmentation.md | 132 + docs/user-guide/settings.md | 57 + docs/user-guide/sql-workspace.md | 77 + docs/user-guide/storymaps.md | 90 + docs/user-guide/styling.md | 60 + docs/user-guide/troubleshooting.md | 29 + e2e/a11y.spec.ts | 129 + e2e/error-handling.spec.ts | 35 + e2e/export.spec.ts | 82 + e2e/fixtures/malformed.geojson | 4 + e2e/fixtures/smoke.geojson | 20 + e2e/helpers.ts | 59 + e2e/layer-groups.spec.ts | 125 + e2e/layer-panel.spec.ts | 60 + e2e/plugin-install.spec.ts | 113 + e2e/pwa.spec.ts | 187 + e2e/scenegraph.spec.ts | 69 + e2e/set-view.spec.ts | 216 + e2e/smoke.spec.ts | 39 + e2e/storymap.spec.ts | 161 + e2e/theme.spec.ts | 37 + eslint.config.mjs | 58 + mkdocs.yml | 114 + netlify.toml | 38 + package-lock.json | 21491 ++++++++++++++++ package.json | 66 + packages/core/package.json | 20 + packages/core/src/color-ramp.ts | 310 + packages/core/src/ellipsoids.ts | 588 + packages/core/src/geocoding.ts | 892 + packages/core/src/geojson-z.ts | 166 + packages/core/src/history.ts | 150 + packages/core/src/index.ts | 94 + packages/core/src/layer-groups.ts | 166 + packages/core/src/paths.ts | 14 + packages/core/src/project.ts | 1214 + packages/core/src/routing.ts | 509 + packages/core/src/runtime-env.ts | 140 + packages/core/src/store.ts | 1653 ++ packages/core/src/storymap-io.ts | 221 + packages/core/src/storymap-sample.ts | 127 + packages/core/src/three-d-tiles.ts | 107 + packages/core/src/types.ts | 1074 + packages/core/src/vector-color.ts | 521 + packages/core/tsconfig.json | 4 + packages/map/package.json | 35 + packages/map/src/CesiumCanvas.tsx | 366 + packages/map/src/MapCanvas.tsx | 1286 + packages/map/src/SecondaryMapCanvas.tsx | 219 + packages/map/src/cesium-camera.ts | 192 + packages/map/src/cesium-layer-sync.ts | 438 + packages/map/src/fill-patterns.ts | 146 + packages/map/src/generated-images.ts | 167 + packages/map/src/geojson-loader.ts | 130 + packages/map/src/geojson-vt-protocol.ts | 208 + packages/map/src/globe-popup-occlusion.ts | 128 + packages/map/src/index.ts | 81 + packages/map/src/label-dedup.ts | 82 + packages/map/src/layer-control-overrides.css | 48 + packages/map/src/layer-sync.ts | 2878 +++ packages/map/src/map-controller.ts | 2680 ++ packages/map/src/mapbox-style-export.ts | 443 + packages/map/src/mapbox-style-import.ts | 834 + packages/map/src/markers.ts | 214 + packages/map/src/placeholders.ts | 48 + packages/map/src/planetary-scale-control.ts | 132 + packages/map/src/qml-export.ts | 677 + packages/map/src/qml-import.ts | 803 + packages/map/src/reset-bearing-control.ts | 155 + packages/map/src/sld-export.ts | 934 + packages/map/src/sld-import.ts | 919 + packages/map/src/style-mapper.ts | 178 + packages/map/src/terrain-control.ts | 227 + packages/map/tsconfig.json | 4 + packages/plugins/package.json | 68 + packages/plugins/src/arcgis-maplibre.d.ts | 49 + packages/plugins/src/earthengine.d.ts | 45 + .../plugins/src/floating-panel-registry.ts | 171 + packages/plugins/src/index.ts | 473 + .../plugins/src/maplibre-gl-usgs-lidar.d.ts | 54 + packages/plugins/src/plugin-manager.ts | 540 + .../plugins/src/plugins/arcgis-i3s-tiles.ts | 559 + packages/plugins/src/plugins/arcgis-layer.ts | 626 + packages/plugins/src/plugins/carto-light.ts | 14 + .../plugins/src/plugins/colormap-colors.ts | 66 + .../plugins/src/plugins/deck-style-utils.ts | 45 + .../src/plugins/deckgl-viz/elevation.ts | 235 + .../plugins/src/plugins/deckgl-viz/overlay.ts | 249 + .../src/plugins/deckgl-viz/registry.ts | 947 + .../src/plugins/deckgl-viz/store-layer.ts | 212 + .../plugins/src/plugins/earth-engine-auth.ts | 356 + .../elevation-profile/chart/profileChart.ts | 140 + .../core/ElevationProfileControl.ts | 1104 + .../plugins/elevation-profile/core/types.ts | 72 + .../elevation-profile/elevation/client.ts | 104 + .../elevation-profile/elevation/format.ts | 59 + .../elevation-profile/elevation/geometry.ts | 169 + .../plugins/elevation-profile/export/csv.ts | 32 + .../src/plugins/elevation-profile/index.ts | 162 + .../elevation-profile/utils/deep-link.ts | 94 + .../src/plugins/geo-editor-geometry.ts | 250 + .../src/plugins/geo-editor-view-import.ts | 857 + .../src/plugins/geoagent-layer-sync.ts | 450 + .../plugins/src/plugins/internal-layers.ts | 23 + .../src/plugins/kerchunk-reference-store.ts | 324 + packages/plugins/src/plugins/layer-control.ts | 27 + packages/plugins/src/plugins/local-netcdf.ts | 981 + .../src/plugins/map-projection-utils.ts | 103 + .../plugins/src/plugins/maplibre-3d-tiles.ts | 1845 ++ .../src/plugins/maplibre-annotations.ts | 1018 + .../src/plugins/maplibre-basemap-control.ts | 499 + .../plugins/src/plugins/maplibre-clouds.ts | 122 + .../src/plugins/maplibre-components.ts | 5475 ++++ .../src/plugins/maplibre-deckgl-viz.ts | 30 + .../src/plugins/maplibre-directions.ts | 392 + .../plugins/src/plugins/maplibre-duckdb.ts | 1276 + .../src/plugins/maplibre-earth-engine.ts | 508 + .../plugins/src/plugins/maplibre-effects.ts | 970 + .../src/plugins/maplibre-enviroatlas.ts | 200 + .../src/plugins/maplibre-esri-wayback.ts | 294 + .../plugins/src/plugins/maplibre-fema-wms.ts | 170 + .../src/plugins/maplibre-geo-editor.ts | 1383 + .../plugins/src/plugins/maplibre-geoagent.ts | 487 + .../plugins/src/plugins/maplibre-graticule.ts | 1316 + .../plugins/src/plugins/maplibre-mapillary.ts | 828 + .../src/plugins/maplibre-nasa-earthdata.ts | 221 + .../src/plugins/maplibre-national-map.ts | 186 + .../src/plugins/maplibre-openaerialmap.ts | 1424 + .../src/plugins/maplibre-overture-maps.ts | 406 + .../plugins/maplibre-planetary-computer.ts | 899 + .../src/plugins/maplibre-precipitation.ts | 187 + .../plugins/src/plugins/maplibre-raster.ts | 908 + .../src/plugins/maplibre-reverse-geocode.ts | 213 + .../src/plugins/maplibre-route-animation.ts | 1041 + .../src/plugins/maplibre-streetview.ts | 172 + packages/plugins/src/plugins/maplibre-sun.ts | 678 + .../plugins/src/plugins/maplibre-swipe.ts | 175 + .../src/plugins/maplibre-time-slider.ts | 763 + .../src/plugins/maplibre-usgs-lidar.ts | 223 + .../plugins/src/plugins/maplibre-vector.ts | 759 + .../plugins/src/plugins/openaerialmap-api.ts | 385 + packages/plugins/src/plugins/osm-basemap.ts | 16 + .../plugins/src/plugins/raster-layer-sync.ts | 542 + .../plugins/src/plugins/raster-palette.ts | 242 + .../src/plugins/raster-symbology-texture.ts | 458 + .../plugins/src/plugins/raster-symbology.ts | 351 + .../src/plugins/route-animation-geometry.ts | 193 + .../src/plugins/shared-deck-overlay.ts | 236 + .../src/plugins/time-slider-binding.ts | 331 + .../src/plugins/time-slider-pixel-series.ts | 531 + .../plugins/src/plugins/vector-layer-sync.ts | 906 + packages/plugins/src/plugins/weather-layer.ts | 356 + .../plugins/src/plugins/web-service-sync.ts | 433 + packages/plugins/src/right-panel-registry.ts | 317 + packages/plugins/src/toolbar-menu-registry.ts | 119 + packages/plugins/src/types.ts | 683 + packages/plugins/tsconfig.json | 7 + packages/processing/package.json | 43 + packages/processing/src/cog-convert.ts | 163 + packages/processing/src/h3-tools.ts | 519 + packages/processing/src/index.ts | 182 + packages/processing/src/network-tools.ts | 433 + packages/processing/src/raster-client.ts | 728 + packages/processing/src/raster-subset.ts | 102 + packages/processing/src/raster-tools.ts | 720 + packages/processing/src/registry.ts | 59 + packages/processing/src/runner.ts | 178 + packages/processing/src/sidecar-client.ts | 1119 + packages/processing/src/spectral-indices.ts | 226 + packages/processing/src/statistics-tools.ts | 843 + packages/processing/src/types.ts | 116 + packages/processing/src/vector-tools.ts | 2746 ++ packages/processing/src/wasm-client.ts | 631 + packages/processing/tsconfig.json | 4 + packages/ui/package.json | 39 + packages/ui/src/components/button.tsx | 53 + packages/ui/src/components/color-field.tsx | 309 + .../ui/src/components/color-ramp-select.tsx | 124 + packages/ui/src/components/dialog.tsx | 98 + packages/ui/src/components/dropdown-menu.tsx | 227 + packages/ui/src/components/error-boundary.tsx | 90 + packages/ui/src/components/input.tsx | 18 + packages/ui/src/components/label.tsx | 18 + packages/ui/src/components/scroll-area.tsx | 59 + packages/ui/src/components/select.tsx | 23 + packages/ui/src/components/separator.tsx | 26 + packages/ui/src/components/slider.tsx | 41 + packages/ui/src/components/table.tsx | 78 + packages/ui/src/components/textarea.tsx | 17 + packages/ui/src/components/tooltip.tsx | 25 + packages/ui/src/globals.css | 128 + packages/ui/src/index.ts | 63 + packages/ui/src/lib/utils.ts | 6 + packages/ui/tsconfig.json | 4 + packaging/aur/PKGBUILD | 34 + packaging/aur/README.md | 67 + packaging/copr/README.md | 77 + packaging/copr/geolibre.spec | 92 + .../linux/org.geolibre.desktop.metainfo.xml | 71 + packaging/msix/README.md | 80 + packaging/msix/build-msix.ps1 | 176 + packaging/portable/README.md | 54 + packaging/portable/build-portable.ps1 | 92 + .../winget/OpenGeos.GeoLibre.installer.yaml | 18 + .../OpenGeos.GeoLibre.locale.en-US.yaml | 35 + packaging/winget/OpenGeos.GeoLibre.yaml | 10 + packaging/winget/README.md | 58 + playwright.config.ts | 69 + python/.gitignore | 13 + python/LICENSE | 21 + python/README.md | 108 + python/examples/getting-started.ipynb | 171 + python/hatch_build.py | 66 + .../jupyter_server_config.d/geolibre.json | 7 + python/pyproject.toml | 54 + python/src/geolibre/__init__.py | 20 + python/src/geolibre/_extension.py | 109 + python/src/geolibre/_frontend.js | 294 + python/src/geolibre/_server.py | 306 + python/src/geolibre/basemaps.py | 61 + python/src/geolibre/color_ramp.py | 203 + python/src/geolibre/geolibre.py | 2307 ++ python/src/geolibre/legends.py | 102 + python/src/geolibre/project.py | 1076 + python/tests/test_color_ramp.py | 95 + python/tests/test_extension.py | 34 + python/tests/test_extension_routes.py | 78 + python/tests/test_map.py | 542 + python/tests/test_project.py | 350 + python/tests/test_scripting.py | 424 + python/tests/test_server.py | 136 + requirements-docs.txt | 1 + scripts/build-embed.mjs | 97 + scripts/build-jupyterlite.mjs | 133 + scripts/gen-osm-fixture.mjs | 83 + scripts/gen-whitebox-menu-catalog.mjs | 258 + scripts/render-aur-pkgbuild.sh | 70 + scripts/render-copr-spec.sh | 126 + scripts/render-homebrew-cask.sh | 66 + scripts/render-linux-metainfo.sh | 97 + scripts/render-official-cask.sh | 138 + scripts/tauri-build.mjs | 28 + snap1.yaml | 0 tests/add-data-helpers.test.ts | 515 + tests/add-data-i18n.test.ts | 47 + tests/add-tile-layer.test.ts | 210 + tests/apply-service.test.ts | 439 + tests/arcgis-feature-layer.test.ts | 236 + tests/arcgis-i3s-tiles.test.ts | 252 + tests/assistant-basemaps.test.ts | 64 + tests/assistant-os-env.test.ts | 199 + tests/assistant-provider-fields.test.ts | 129 + tests/assistant-provider.test.ts | 166 + tests/assistant-symbology.test.ts | 100 + tests/attribute-calculator.test.ts | 259 + tests/attribute-charts.test.ts | 376 + tests/attribute-columns.test.ts | 333 + tests/attribute-selection.test.ts | 128 + tests/attribute-stats.test.ts | 158 + tests/basemap-control-plugin.test.ts | 98 + tests/browser-folders.test.ts | 118 + tests/browser-tree.test.ts | 549 + tests/cesium-camera.test.ts | 165 + tests/cesium-ion-token.test.ts | 46 + tests/cesium-layer-sync.test.ts | 437 + tests/clouds.test.ts | 52 + tests/cog-convert.test.ts | 77 + tests/collab-protocol.test.ts | 289 + tests/color-field-transparent.test.ts | 26 + tests/color-ramp.test.ts | 68 + tests/colorbar-state-normalization.test.ts | 66 + tests/colormap-colors.test.ts | 35 + tests/column-explorer.test.ts | 106 + tests/commands.test.ts | 144 + tests/components-constructors-loader.test.ts | 94 + tests/control-owns-paint.test.ts | 125 + tests/coordinates.test.ts | 97 + tests/core-project.test.ts | 1165 + tests/dashboard-widgets.test.ts | 333 + tests/data-parsing.test.ts | 273 + tests/deck-viz.test.ts | 443 + tests/diagnostics.test.ts | 468 + tests/directions.test.ts | 168 + tests/dms.test.ts | 193 + tests/duckdb-geometry.test.ts | 414 + tests/duckdb-vector-guard.test.ts | 73 + tests/effects-settings.test.ts | 66 + tests/elevation-3d.test.ts | 511 + tests/elevation-profile.test.ts | 299 + tests/error-boundary.test.ts | 132 + tests/external-deck-order.test.ts | 91 + tests/external-map-links.test.ts | 91 + tests/external-native-layer.test.ts | 171 + tests/external-plugin-assets.test.ts | 82 + tests/external-raster-tile-sync.test.ts | 188 + tests/fetch-error.test.ts | 103 + tests/field-collection.test.ts | 345 + tests/file-names.test.ts | 56 + tests/fixtures/sample-nc3-xy.nc | Bin 0 -> 212 bytes tests/fixtures/sample-nc3.nc | Bin 0 -> 280 bytes tests/fixtures/sample.osm.pbf | Bin 0 -> 265 bytes tests/fixtures/striped.tif | Bin 0 -> 2426 bytes tests/fixtures/untagged-relation.osm.pbf | Bin 0 -> 259 bytes tests/fixtures/untagged-way.osm.pbf | Bin 0 -> 197 bytes tests/fixtures/vector/SPEC.md | 95 + .../vector/cases/aggregate-sum-by-group.json | 144 + .../vector/cases/attribute-join-left.json | 156 + .../vector/cases/bounding-box-points.json | 84 + .../vector/cases/buffer-points-km.json | 83 + .../vector/cases/centroids-polys.json | 124 + tests/fixtures/vector/cases/clip-square.json | 169 + .../vector/cases/convex-hull-points.json | 84 + .../vector/cases/difference-overlap.json | 95 + .../vector/cases/dissolve-by-field.json | 132 + .../error-attribute-join-missing-key.json | 98 + .../cases/error-select-missing-field.json | 77 + .../cases/error-select-unknown-operator.json | 78 + .../cases/error-spatial-join-bad-how.json | 116 + .../vector/cases/explode-multipolygon.json | 84 + .../vector/cases/intersection-overlap.json | 95 + .../vector/cases/reproject-webmercator.json | 42 + .../cases/select-by-location-intersects.json | 144 + .../cases/select-by-value-contains-ci.json | 95 + .../cases/select-by-value-numeric-gt.json | 119 + .../cases/select-by-value-string-eq.json | 107 + .../fixtures/vector/cases/simplify-line.json | 54 + .../vector/cases/smooth-line-chaikin.json | 74 + .../cases/spatial-join-inner-intersects.json | 149 + .../cases/spatial-join-left-null-fill.json | 177 + .../vector/cases/union-two-squares.json | 95 + .../fixtures/vector/cases/voronoi-points.json | 66 + tests/geo-editor-geometry.test.ts | 332 + tests/geo-editor-plugin.test.ts | 14 + tests/geo-editor-view-import.test.ts | 458 + tests/geoagent-layer-sync.test.ts | 494 + tests/geocoding.test.ts | 573 + tests/geojson-vt-tiling.test.ts | 267 + tests/geometry-measure.test.ts | 277 + tests/geometry-wkb-decode.test.ts | 189 + tests/geopackage-writer.test.ts | 106 + tests/georeference.test.ts | 231 + tests/geotagged-photos.test.ts | 190 + tests/globe-halo-ellipse.test.ts | 170 + tests/globe-popup-occlusion.test.ts | 288 + tests/google-maps-api-key.test.ts | 49 + tests/gpkg-ogr-contents.test.ts | 393 + tests/gpkg-reader.test.ts | 289 + tests/graticule.test.ts | 216 + tests/h3-tools.test.ts | 429 + tests/html-export.test.ts | 194 + tests/i18n-catalogs.test.ts | 118 + tests/i18n-languages.test.ts | 57 + tests/is-mobile.test.ts | 59 + tests/kerchunk-reference-store.test.ts | 314 + tests/kml-ground-overlay.test.ts | 130 + tests/kml-model-layer.test.ts | 126 + tests/kml-timespan.test.ts | 48 + tests/knowledge.test.ts | 217 + tests/label-dedup.test.ts | 98 + tests/label-sync.test.ts | 396 + tests/layer-bounds.test.ts | 59 + tests/layer-control-style-sync.test.ts | 56 + tests/layer-groups.test.ts | 355 + tests/layer-refresh.test.ts | 347 + tests/layout-options.test.ts | 83 + tests/local-netcdf.test.ts | 320 + tests/map-controller.test.ts | 935 + tests/map-projection-utils.test.ts | 165 + tests/map-recorder.test.ts | 137 + tests/mapbox-style-export.test.ts | 438 + tests/mapbox-style-import.test.ts | 781 + tests/martin-source-match.test.ts | 41 + tests/metainfo-generated.test.ts | 41 + tests/movement-tools.test.ts | 293 + tests/native-http.test.ts | 82 + tests/network-tools.test.ts | 81 + tests/offline-regions.test.ts | 257 + tests/offline-tiles.test.ts | 412 + tests/ogc-vector-tiles.test.ts | 199 + tests/onboarding-suppression.test.ts | 99 + tests/openaerialmap-api.test.ts | 292 + tests/osm-pbf.test.ts | 103 + tests/pglite-workspace.test.ts | 163 + tests/planetary-basemap.test.ts | 181 + tests/planetary-scale-control.test.ts | 71 + tests/plugin-archive-unpack.test.ts | 96 + tests/plugin-integrity.test.ts | 77 + tests/plugin-manager.test.ts | 945 + tests/plugin-trust.test.ts | 98 + tests/plugin-ui-surfaces.test.ts | 178 + tests/point-renderer-sync.test.ts | 224 + tests/postgis-connections.test.ts | 120 + tests/precipitation.test.ts | 100 + tests/print-capture.test.ts | 78 + tests/print-layout.test.ts | 406 + tests/print-legend.test.ts | 366 + tests/prj-sidecar.test.ts | 61 + tests/processing-runner.test.ts | 182 + tests/processing.test.ts | 1292 + tests/project-url.test.ts | 199 + tests/protomaps-basemap.test.ts | 66 + tests/pyodide-config.test.ts | 86 + tests/qml-export.test.ts | 271 + tests/qml-import.test.ts | 245 + tests/qml-roundtrip.test.ts | 227 + tests/raster-client.test.ts | 233 + tests/raster-layer-sync.test.ts | 589 + tests/raster-palette.test.ts | 173 + tests/raster-symbology-texture.test.ts | 158 + tests/raster-symbology.test.ts | 264 + tests/raster-tools.test.ts | 62 + tests/reproject.test.ts | 118 + tests/reset-bearing-control.test.ts | 30 + tests/restore-control-order.test.ts | 132 + tests/reverse-geocode.test.ts | 81 + tests/right-panel-registry.test.ts | 280 + tests/route-animation.test.ts | 419 + tests/routing.test.ts | 293 + tests/service-library.test.ts | 203 + tests/shapefile-export-warnings.test.ts | 111 + tests/shapefile-writer.test.ts | 170 + tests/shapefile-zip-multipatch.test.ts | 112 + tests/share-fetch.test.ts | 115 + tests/share-gallery.test.ts | 307 + tests/share-geolibre.test.ts | 240 + tests/shared-deck-overlay.test.ts | 158 + tests/simplestyle.test.ts | 181 + tests/sld-export.test.ts | 587 + tests/sld-import.test.ts | 381 + tests/sld-roundtrip.test.ts | 314 + tests/spatial-extension-config.test.ts | 38 + tests/spectral-indices.test.ts | 164 + tests/sql-completion.test.ts | 59 + tests/stale-chunk-reload.test.ts | 97 + tests/statistics-tools.test.ts | 274 + tests/storymap-pdf.test.ts | 173 + tests/stroke-width-unit.test.ts | 93 + tests/sun-simulation.test.ts | 114 + tests/terrain-control.test.ts | 275 + tests/terrain-exaggeration.test.ts | 26 + tests/theme-mode.test.ts | 63 + tests/theme-normalize-hex.test.ts | 42 + tests/three-d-tiles.test.ts | 130 + tests/time-slider-binding.test.ts | 243 + tests/time-slider-config.test.ts | 68 + tests/time-slider-pixel-series.test.ts | 198 + tests/tour-recorder.test.ts | 522 + tests/ui-profile.test.ts | 271 + tests/undo-redo.test.ts | 367 + tests/updates.test.ts | 164 + tests/vector-desktop-picker.test.ts | 106 + tests/vector-golden.test.ts | 249 + tests/vector-layer-sync.test.ts | 1036 + tests/vector-symbology.test.ts | 233 + tests/wasm-tool-manifests.test.ts | 307 + tests/weather-layer.test.ts | 198 + tests/web-service-sync.test.ts | 396 + tsconfig.base.json | 17 + workers/collab/package.json | 14 + workers/collab/src/index.ts | 109 + workers/collab/src/protocol.ts | 170 + workers/collab/src/session.ts | 684 + workers/collab/tsconfig.json | 13 + workers/collab/wrangler.toml | 24 + workers/tiles/package.json | 18 + workers/tiles/src/index.ts | 530 + workers/tiles/src/reproject.ts | 100 + workers/tiles/tsconfig.json | 13 + workers/tiles/wrangler.toml | 18 + workers/viewer/package-lock.json | 1560 ++ workers/viewer/package.json | 12 + workers/viewer/src/index.ts | 52 + workers/viewer/tsconfig.json | 13 + workers/viewer/wrangler.toml | 16 + 994 files changed, 338823 insertions(+) create mode 100644 .dockerignore create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/labels.yml create mode 100644 .github/workflows/android.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/claude-code-review.yml create mode 100644 .github/workflows/claude.yml create mode 100644 .github/workflows/cloudflare-preview.yml create mode 100644 .github/workflows/deploy-collab.yml create mode 100644 .github/workflows/deploy-tiles.yml create mode 100644 .github/workflows/deploy-viewer.yml create mode 100644 .github/workflows/labels.yml create mode 100644 .github/workflows/msix-store.yml create mode 100644 .github/workflows/pages.yml create mode 100644 .github/workflows/publish-container.yml create mode 100644 .github/workflows/publish-python.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 CITATION.cff create mode 100644 CLAUDE.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.wehub.md create mode 100644 apps/geolibre-desktop/index.html create mode 100644 apps/geolibre-desktop/jupyterlite/jupyter-lite.json create mode 100644 apps/geolibre-desktop/jupyterlite/jupyter_lite_config.json create mode 100644 apps/geolibre-desktop/jupyterlite/requirements.txt create mode 100644 apps/geolibre-desktop/package.json create mode 100644 apps/geolibre-desktop/postcss.config.js create mode 100644 apps/geolibre-desktop/public/apple-touch-icon.png create mode 100644 apps/geolibre-desktop/public/favicon.ico create mode 100644 apps/geolibre-desktop/public/favicon.png create mode 100644 apps/geolibre-desktop/public/maskable-icon-512x512.png create mode 100644 apps/geolibre-desktop/public/plugins/.gitignore create mode 100644 apps/geolibre-desktop/public/plugins/README.md create mode 100644 apps/geolibre-desktop/public/pwa-192x192.png create mode 100644 apps/geolibre-desktop/public/pwa-512x512.png create mode 100644 apps/geolibre-desktop/public/pyodide/pyodide-worker.js create mode 100644 apps/geolibre-desktop/public/whitebox-catalog-snapshot.json create mode 100644 apps/geolibre-desktop/src-tauri/Cargo.lock create mode 100644 apps/geolibre-desktop/src-tauri/Cargo.toml create mode 100644 apps/geolibre-desktop/src-tauri/build.rs create mode 100644 apps/geolibre-desktop/src-tauri/capabilities/default.json create mode 100644 apps/geolibre-desktop/src-tauri/icons/128x128.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/128x128@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/32x32.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/64x64.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square107x107Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square142x142Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square150x150Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square284x284Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square30x30Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square310x310Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square44x44Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square71x71Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/Square89x89Logo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/StoreLogo.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/android/values/ic_launcher_background.xml create mode 100644 apps/geolibre-desktop/src-tauri/icons/icon.icns create mode 100644 apps/geolibre-desktop/src-tauri/icons/icon.ico create mode 100644 apps/geolibre-desktop/src-tauri/icons/icon.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 apps/geolibre-desktop/src-tauri/src/earth_engine_oauth.rs create mode 100644 apps/geolibre-desktop/src-tauri/src/lib.rs create mode 100644 apps/geolibre-desktop/src-tauri/src/main.rs create mode 100644 apps/geolibre-desktop/src-tauri/src/native_duckdb.rs create mode 100644 apps/geolibre-desktop/src-tauri/tauri.android.conf.json create mode 100644 apps/geolibre-desktop/src-tauri/tauri.conf.json create mode 100644 apps/geolibre-desktop/src/App.tsx create mode 100644 apps/geolibre-desktop/src/components/CollapsibleSection.tsx create mode 100644 apps/geolibre-desktop/src/components/command/CommandPalette.tsx create mode 100644 apps/geolibre-desktop/src/components/command/KeyboardShortcutsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/common/error-boundaries.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/AboutDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/AddDataDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/BoundsRestrictionIndicator.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/CollaborateDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/CollaborationParticipantRow.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/CollaborationStatusBadge.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/DesktopShell.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/DiagnosticsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/FieldCollectionDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/FileNamePromptDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/GeoreferencerDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/KnowledgeCardConsentDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/KnowledgeCardPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/LoadFeaturesIntoEditorDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/ManagePluginsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/MapContextMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/MapGrid.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/MapModeBanner.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/NewProjectDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/NoServiceWorkerBanner.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/OfflineManagerDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/OfflineRegionDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/OnboardingDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/PixelTimeSeriesControl.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/PrintLayoutDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/ProjectGalleryDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/ProjectPluginTrustDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/RasterSubsetPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/RecordTourDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/RecordVideoDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/RegionSelectOverlay.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/ReleaseNotes.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/RemoteCursorsOverlay.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/SetViewDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/SettingsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/ShareProjectDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/StatusBar.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/TerrainSettingsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/TopToolbar.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/UpdateInstructions.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/UpdateNotificationModal.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/ServiceLibrarySection.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/apply-service.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/constants.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/context.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/helpers.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/martin-source-match.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/open-add-data.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/service-library.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/shared.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/ArcGISSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/CadSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/DeckVizSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/DelimitedTextSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/GeoRssSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/GpxSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/MbtilesSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/OgcVectorTilesSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/PhotosSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/PostgresSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/VideoSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/WfsSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/WmsSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/WmtsSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/sources/XyzSource.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/types.ts create mode 100644 apps/geolibre-desktop/src/components/layout/add-data/useMartinConnection.ts create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/AddDataMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ConsentNoticeDialogs.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ControlsMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/EditMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/HelpMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/OsmPbfDialogs.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/PluginToolbarMenus.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/PluginsMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ProcessingMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ProjectFileDialogs.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ProjectMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/ViewMenu.tsx create mode 100644 apps/geolibre-desktop/src/components/layout/toolbar/constants.ts create mode 100644 apps/geolibre-desktop/src/components/panels/AssistantPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/AttributeChartDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/AttributeStatsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/AttributeTable.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/BasemapPickerDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/BrowserPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/BrowserTreeNode.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/ColumnExplorerDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/DashboardPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/FloatingPanels.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/LayerPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/LayerPanelPlaceSearch.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/NotebookPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/PluginRightPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/PythonConsolePanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/PythonEditorPane.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/RasterSymbologySection.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/RouteAnimationPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/SharedSidebar.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/SqlWorkspacePanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/StylePanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/SunPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/WidgetEditorDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/panels/charts/chart-colors.ts create mode 100644 apps/geolibre-desktop/src/components/panels/charts/chart-spec.ts create mode 100644 apps/geolibre-desktop/src/components/panels/charts/chart-view.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/ConversionDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/GeocodeDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/ModelBuilderDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/NetworkToolsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/ParameterField.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/ProcessingDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/RasterToolsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/SegmentationDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/SidecarHelpBanner.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/StatisticsToolsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/processing/VectorToolsDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/storymap/StoryMapComposeBar.tsx create mode 100644 apps/geolibre-desktop/src/components/storymap/StoryMapHandoutDialog.tsx create mode 100644 apps/geolibre-desktop/src/components/storymap/StoryMapPanel.tsx create mode 100644 apps/geolibre-desktop/src/components/storymap/StoryMapPresenter.tsx create mode 100644 apps/geolibre-desktop/src/hooks/embedHost.ts create mode 100644 apps/geolibre-desktop/src/hooks/useBeforeUnloadGuard.ts create mode 100644 apps/geolibre-desktop/src/hooks/useBrowserTree.ts create mode 100644 apps/geolibre-desktop/src/hooks/useCollaboration.ts create mode 100644 apps/geolibre-desktop/src/hooks/useCommandBridge.ts create mode 100644 apps/geolibre-desktop/src/hooks/useConsentGatedActions.ts create mode 100644 apps/geolibre-desktop/src/hooks/useDesktopSettings.ts create mode 100644 apps/geolibre-desktop/src/hooks/useEmbedBridge.ts create mode 100644 apps/geolibre-desktop/src/hooks/useFileNamePrompt.ts create mode 100644 apps/geolibre-desktop/src/hooks/useGlobalShortcuts.ts create mode 100644 apps/geolibre-desktop/src/hooks/useIsMobileViewport.ts create mode 100644 apps/geolibre-desktop/src/hooks/useLanguage.ts create mode 100644 apps/geolibre-desktop/src/hooks/useLayerChartData.ts create mode 100644 apps/geolibre-desktop/src/hooks/useLayoutOptions.ts create mode 100644 apps/geolibre-desktop/src/hooks/useNotebookBridge.ts create mode 100644 apps/geolibre-desktop/src/hooks/useNotebookThemeSync.ts create mode 100644 apps/geolibre-desktop/src/hooks/useOsmPbfLoader.ts create mode 100644 apps/geolibre-desktop/src/hooks/usePluginUiSurfaces.ts create mode 100644 apps/geolibre-desktop/src/hooks/usePlugins.ts create mode 100644 apps/geolibre-desktop/src/hooks/useProjectFileActions.ts create mode 100644 apps/geolibre-desktop/src/hooks/useProjectUrlLoader.ts create mode 100644 apps/geolibre-desktop/src/hooks/useRasterIdentify.ts create mode 100644 apps/geolibre-desktop/src/hooks/useRecentProjectsPersistence.ts create mode 100644 apps/geolibre-desktop/src/hooks/useRegisterBrowserPanel.ts create mode 100644 apps/geolibre-desktop/src/hooks/useRightPanels.ts create mode 100644 apps/geolibre-desktop/src/hooks/useRuntimeEnvironmentVariables.ts create mode 100644 apps/geolibre-desktop/src/hooks/useStartupUpdateCheck.ts create mode 100644 apps/geolibre-desktop/src/hooks/useThemeMode.ts create mode 100644 apps/geolibre-desktop/src/hooks/useThemeScheme.ts create mode 100644 apps/geolibre-desktop/src/hooks/useToolbarPanels.ts create mode 100644 apps/geolibre-desktop/src/hooks/useUiProfileBootstrap.ts create mode 100644 apps/geolibre-desktop/src/hooks/useUndoRedoShortcuts.ts create mode 100644 apps/geolibre-desktop/src/hooks/useViewportHistory.ts create mode 100644 apps/geolibre-desktop/src/i18n/i18next.d.ts create mode 100644 apps/geolibre-desktop/src/i18n/index.ts create mode 100644 apps/geolibre-desktop/src/i18n/languages.ts create mode 100644 apps/geolibre-desktop/src/i18n/locales/de.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/en.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/es.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/fr.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/hi.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/id.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/it.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/ja.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/ko.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/nl.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/pt.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/ru.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/tr.json create mode 100644 apps/geolibre-desktop/src/i18n/locales/zh.json create mode 100644 apps/geolibre-desktop/src/index.css create mode 100644 apps/geolibre-desktop/src/lib/admin-profile.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/agent.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/basemaps.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/markdown.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/os-env.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/provider-fields.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/provider.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/symbology.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/tools.ts create mode 100644 apps/geolibre-desktop/src/lib/assistant/web-search.ts create mode 100644 apps/geolibre-desktop/src/lib/attribute-charts.ts create mode 100644 apps/geolibre-desktop/src/lib/attribute-columns.ts create mode 100644 apps/geolibre-desktop/src/lib/attribute-expression.ts create mode 100644 apps/geolibre-desktop/src/lib/attribute-selection.ts create mode 100644 apps/geolibre-desktop/src/lib/attribute-stats.ts create mode 100644 apps/geolibre-desktop/src/lib/basemap-presets.ts create mode 100644 apps/geolibre-desktop/src/lib/basemap-style.ts create mode 100644 apps/geolibre-desktop/src/lib/browser-folders.ts create mode 100644 apps/geolibre-desktop/src/lib/browser-node-module.ts create mode 100644 apps/geolibre-desktop/src/lib/browser-tree.ts create mode 100644 apps/geolibre-desktop/src/lib/build-project-snapshot.ts create mode 100644 apps/geolibre-desktop/src/lib/cereus-loader.cdn.ts create mode 100644 apps/geolibre-desktop/src/lib/cereus-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/chart-export.ts create mode 100644 apps/geolibre-desktop/src/lib/clamp.ts create mode 100644 apps/geolibre-desktop/src/lib/collab-client.ts create mode 100644 apps/geolibre-desktop/src/lib/collab-protocol.ts create mode 100644 apps/geolibre-desktop/src/lib/collada-to-glb.ts create mode 100644 apps/geolibre-desktop/src/lib/column-explorer.ts create mode 100644 apps/geolibre-desktop/src/lib/commands.ts create mode 100644 apps/geolibre-desktop/src/lib/coordinates.ts create mode 100644 apps/geolibre-desktop/src/lib/deck-viz-input.ts create mode 100644 apps/geolibre-desktop/src/lib/delimited-text.ts create mode 100644 apps/geolibre-desktop/src/lib/diagnostics.ts create mode 100644 apps/geolibre-desktop/src/lib/dms.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-geometry.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-processing.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-vector-guard.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-wasm-bundles.tauri.ts create mode 100644 apps/geolibre-desktop/src/lib/duckdb-wasm-bundles.ts create mode 100644 apps/geolibre-desktop/src/lib/external-map-links.ts create mode 100644 apps/geolibre-desktop/src/lib/external-native-layer.ts create mode 100644 apps/geolibre-desktop/src/lib/external-plugins.ts create mode 100644 apps/geolibre-desktop/src/lib/fetch-error.ts create mode 100644 apps/geolibre-desktop/src/lib/field-collection.ts create mode 100644 apps/geolibre-desktop/src/lib/file-names.ts create mode 100644 apps/geolibre-desktop/src/lib/gdal-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/geoagent-style.ts create mode 100644 apps/geolibre-desktop/src/lib/geocoding-fetch.ts create mode 100644 apps/geolibre-desktop/src/lib/geometry-measure.ts create mode 100644 apps/geolibre-desktop/src/lib/geometry-wkb.ts create mode 100644 apps/geolibre-desktop/src/lib/geopackage-writer.ts create mode 100644 apps/geolibre-desktop/src/lib/georeference-gdal.ts create mode 100644 apps/geolibre-desktop/src/lib/georeference.ts create mode 100644 apps/geolibre-desktop/src/lib/georss.ts create mode 100644 apps/geolibre-desktop/src/lib/geotagged-photos.ts create mode 100644 apps/geolibre-desktop/src/lib/gpkg-ogr-contents.ts create mode 100644 apps/geolibre-desktop/src/lib/gpkg-reader.ts create mode 100644 apps/geolibre-desktop/src/lib/gpx.ts create mode 100644 apps/geolibre-desktop/src/lib/html-export.ts create mode 100644 apps/geolibre-desktop/src/lib/icon-source.ts create mode 100644 apps/geolibre-desktop/src/lib/is-mobile.ts create mode 100644 apps/geolibre-desktop/src/lib/is-tauri.ts create mode 100644 apps/geolibre-desktop/src/lib/jupyter.ts create mode 100644 apps/geolibre-desktop/src/lib/kml-model-layer.ts create mode 100644 apps/geolibre-desktop/src/lib/kml-model.ts create mode 100644 apps/geolibre-desktop/src/lib/kml-overlays.ts create mode 100644 apps/geolibre-desktop/src/lib/kml.ts create mode 100644 apps/geolibre-desktop/src/lib/knowledge-consent.ts create mode 100644 apps/geolibre-desktop/src/lib/knowledge.ts create mode 100644 apps/geolibre-desktop/src/lib/layer-refresh.ts create mode 100644 apps/geolibre-desktop/src/lib/lidar-style.ts create mode 100644 apps/geolibre-desktop/src/lib/map-recorder.ts create mode 100644 apps/geolibre-desktop/src/lib/martin.ts create mode 100644 apps/geolibre-desktop/src/lib/mbtiles.ts create mode 100644 apps/geolibre-desktop/src/lib/native-http.ts create mode 100644 apps/geolibre-desktop/src/lib/offline-regions.ts create mode 100644 apps/geolibre-desktop/src/lib/offline-tiles.ts create mode 100644 apps/geolibre-desktop/src/lib/ogc-vector-tiles.ts create mode 100644 apps/geolibre-desktop/src/lib/onboarding-suppression.ts create mode 100644 apps/geolibre-desktop/src/lib/open-external.ts create mode 100644 apps/geolibre-desktop/src/lib/osm-pbf-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/osm-pbf.ts create mode 100644 apps/geolibre-desktop/src/lib/osm-pbf.worker.ts create mode 100644 apps/geolibre-desktop/src/lib/osm-shared-array-buffer-shim.ts create mode 100644 apps/geolibre-desktop/src/lib/panel-resize.ts create mode 100644 apps/geolibre-desktop/src/lib/pglite-loader.cdn.ts create mode 100644 apps/geolibre-desktop/src/lib/pglite-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/pglite-sql.ts create mode 100644 apps/geolibre-desktop/src/lib/pglite-workspace.ts create mode 100644 apps/geolibre-desktop/src/lib/planetary-sections.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-archive-store.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-archive-unpack.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-asset-url.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-integrity.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-registry.ts create mode 100644 apps/geolibre-desktop/src/lib/plugin-trust.ts create mode 100644 apps/geolibre-desktop/src/lib/postgis-connections.ts create mode 100644 apps/geolibre-desktop/src/lib/print-capture.ts create mode 100644 apps/geolibre-desktop/src/lib/print-extent.ts create mode 100644 apps/geolibre-desktop/src/lib/print-layout-export.ts create mode 100644 apps/geolibre-desktop/src/lib/print-layout.ts create mode 100644 apps/geolibre-desktop/src/lib/print-legend.ts create mode 100644 apps/geolibre-desktop/src/lib/prj-sidecar.ts create mode 100644 apps/geolibre-desktop/src/lib/project-url.ts create mode 100644 apps/geolibre-desktop/src/lib/pyodide/console_api.py create mode 100644 apps/geolibre-desktop/src/lib/pyodide/pyodide-config.ts create mode 100644 apps/geolibre-desktop/src/lib/pyodide/pyodide-console.ts create mode 100644 apps/geolibre-desktop/src/lib/pyodide/pyodide-vector-loader.ts create mode 100644 apps/geolibre-desktop/src/lib/pyodide/usePyCompletion.tsx create mode 100644 apps/geolibre-desktop/src/lib/radix-compat.ts create mode 100644 apps/geolibre-desktop/src/lib/raster-export.ts create mode 100644 apps/geolibre-desktop/src/lib/raster-subset-export.ts create mode 100644 apps/geolibre-desktop/src/lib/restore-local-layers.ts create mode 100644 apps/geolibre-desktop/src/lib/reverse-geocode-consent.ts create mode 100644 apps/geolibre-desktop/src/lib/routing-consent.ts create mode 100644 apps/geolibre-desktop/src/lib/rtl-text.ts create mode 100644 apps/geolibre-desktop/src/lib/sanitize-html.ts create mode 100644 apps/geolibre-desktop/src/lib/saved-postgres-connections.ts create mode 100644 apps/geolibre-desktop/src/lib/scripting/scriptingApi.ts create mode 100644 apps/geolibre-desktop/src/lib/sedona-workspace.ts create mode 100644 apps/geolibre-desktop/src/lib/shapefile-writer.ts create mode 100644 apps/geolibre-desktop/src/lib/share-fetch.ts create mode 100644 apps/geolibre-desktop/src/lib/share-gallery.ts create mode 100644 apps/geolibre-desktop/src/lib/share-geolibre.ts create mode 100644 apps/geolibre-desktop/src/lib/sidecar.ts create mode 100644 apps/geolibre-desktop/src/lib/spatial-extension-config.ts create mode 100644 apps/geolibre-desktop/src/lib/sql-completion.ts create mode 100644 apps/geolibre-desktop/src/lib/sql-workspace.ts create mode 100644 apps/geolibre-desktop/src/lib/stale-chunk-reload.ts create mode 100644 apps/geolibre-desktop/src/lib/storage-keys.ts create mode 100644 apps/geolibre-desktop/src/lib/storymap-constants.ts create mode 100644 apps/geolibre-desktop/src/lib/storymap-export.ts create mode 100644 apps/geolibre-desktop/src/lib/storymap-pdf.ts create mode 100644 apps/geolibre-desktop/src/lib/string-lists.ts create mode 100644 apps/geolibre-desktop/src/lib/swipe-style.ts create mode 100644 apps/geolibre-desktop/src/lib/symbol-dispose-polyfill.ts create mode 100644 apps/geolibre-desktop/src/lib/tauri-io.ts create mode 100644 apps/geolibre-desktop/src/lib/terrain-exaggeration.ts create mode 100644 apps/geolibre-desktop/src/lib/theme-schemes.ts create mode 100644 apps/geolibre-desktop/src/lib/tour-recorder.ts create mode 100644 apps/geolibre-desktop/src/lib/ui-profile.ts create mode 100644 apps/geolibre-desktop/src/lib/updates.ts create mode 100644 apps/geolibre-desktop/src/lib/url-utils.ts create mode 100644 apps/geolibre-desktop/src/lib/urls.ts create mode 100644 apps/geolibre-desktop/src/lib/useSqlCompletion.tsx create mode 100644 apps/geolibre-desktop/src/lib/vector-export.ts create mode 100644 apps/geolibre-desktop/src/lib/vector-exporter.ts create mode 100644 apps/geolibre-desktop/src/lib/whitebox-menu-catalog.ts create mode 100644 apps/geolibre-desktop/src/lib/xyz-url.ts create mode 100644 apps/geolibre-desktop/src/main.tsx create mode 100644 apps/geolibre-desktop/src/types/three-addons.d.ts create mode 100644 apps/geolibre-desktop/src/vite-env.d.ts create mode 100644 apps/geolibre-desktop/tailwind.config.js create mode 100644 apps/geolibre-desktop/tsconfig.json create mode 100644 apps/geolibre-desktop/tsconfig.node.json create mode 100644 apps/geolibre-desktop/vite-plugins/bundled-plugins.ts create mode 100644 apps/geolibre-desktop/vite-plugins/copy-cesium-assets.ts create mode 100644 apps/geolibre-desktop/vite-plugins/copy-rtl-text.ts create mode 100644 apps/geolibre-desktop/vite-plugins/copy-vector-ops.ts create mode 100644 apps/geolibre-desktop/vite.config.ts create mode 100644 backend/geolibre_server/README.md create mode 100644 backend/geolibre_server/geolibre_server/__init__.py create mode 100644 backend/geolibre_server/geolibre_server/app/__init__.py create mode 100644 backend/geolibre_server/geolibre_server/app/conversion.py create mode 100644 backend/geolibre_server/geolibre_server/app/main.py create mode 100644 backend/geolibre_server/geolibre_server/app/ml.py create mode 100644 backend/geolibre_server/geolibre_server/app/postgis.py create mode 100644 backend/geolibre_server/geolibre_server/app/raster.py create mode 100644 backend/geolibre_server/geolibre_server/app/runtime.py create mode 100644 backend/geolibre_server/geolibre_server/app/sql.py create mode 100644 backend/geolibre_server/geolibre_server/app/vector.py create mode 100644 backend/geolibre_server/geolibre_server/app/whitebox.py create mode 100644 backend/geolibre_server/geolibre_server/sedona_ops.py create mode 100644 backend/geolibre_server/geolibre_server/vector_ops.py create mode 100644 backend/geolibre_server/jupyter_server_config.py create mode 100644 backend/geolibre_server/notebook_client.py create mode 100644 backend/geolibre_server/notebook_examples/Welcome.ipynb create mode 100644 backend/geolibre_server/pyproject.toml create mode 100644 backend/geolibre_server/tests/test_conversion.py create mode 100644 backend/geolibre_server/tests/test_ml.py create mode 100644 backend/geolibre_server/tests/test_postgis.py create mode 100644 backend/geolibre_server/tests/test_raster.py create mode 100644 backend/geolibre_server/tests/test_security.py create mode 100644 backend/geolibre_server/tests/test_sql.py create mode 100644 backend/geolibre_server/tests/test_vector.py create mode 100644 backend/geolibre_server/tests/test_vector_golden.py create mode 100644 backend/geolibre_server/tests/test_vector_ops.py create mode 100644 backend/geolibre_server/tests/test_whitebox_arguments.py create mode 100644 backend/geolibre_server/tests/test_whitebox_endpoints.py create mode 100644 docker/entrypoint.sh create mode 100644 docker/nginx.conf create mode 100644 docs/CNAME create mode 100644 docs/acknowledgements.md create mode 100644 docs/android.md create mode 100644 docs/architecture.md create mode 100644 docs/assets/geolibre-app.png create mode 100644 docs/assets/geolibre-icon.png create mode 100644 docs/citation.md create mode 100644 docs/collaboration.md create mode 100644 docs/contributing.md create mode 100644 docs/downloads.md create mode 100644 docs/getting-started.md create mode 100644 docs/i18n.md create mode 100644 docs/index.md create mode 100644 docs/notebook.md create mode 100644 docs/plugin-api.md create mode 100644 docs/privacy.md create mode 100644 docs/project-format.md create mode 100644 docs/python.md create mode 100644 docs/roadmap.md create mode 100644 docs/stylesheets/extra.css create mode 100644 docs/terms.md create mode 100644 docs/tutorials/cloud-native-data.md create mode 100644 docs/tutorials/first-map.md create mode 100644 docs/tutorials/index.md create mode 100644 docs/tutorials/sharing-embedding.md create mode 100644 docs/tutorials/spatial-sql.md create mode 100644 docs/tutorials/terrain-analysis.md create mode 100644 docs/tutorials/vector-analysis.md create mode 100644 docs/ui-profiles.md create mode 100644 docs/user-guide/adding-data.md create mode 100644 docs/user-guide/ai-assistant.md create mode 100644 docs/user-guide/attribute-table.md create mode 100644 docs/user-guide/data-integrations.md create mode 100644 docs/user-guide/embedding.md create mode 100644 docs/user-guide/interface.md create mode 100644 docs/user-guide/layers.md create mode 100644 docs/user-guide/map-controls.md create mode 100644 docs/user-guide/plugins.md create mode 100644 docs/user-guide/processing.md create mode 100644 docs/user-guide/projects.md create mode 100644 docs/user-guide/python-console.md create mode 100644 docs/user-guide/segmentation.md create mode 100644 docs/user-guide/settings.md create mode 100644 docs/user-guide/sql-workspace.md create mode 100644 docs/user-guide/storymaps.md create mode 100644 docs/user-guide/styling.md create mode 100644 docs/user-guide/troubleshooting.md create mode 100644 e2e/a11y.spec.ts create mode 100644 e2e/error-handling.spec.ts create mode 100644 e2e/export.spec.ts create mode 100644 e2e/fixtures/malformed.geojson create mode 100644 e2e/fixtures/smoke.geojson create mode 100644 e2e/helpers.ts create mode 100644 e2e/layer-groups.spec.ts create mode 100644 e2e/layer-panel.spec.ts create mode 100644 e2e/plugin-install.spec.ts create mode 100644 e2e/pwa.spec.ts create mode 100644 e2e/scenegraph.spec.ts create mode 100644 e2e/set-view.spec.ts create mode 100644 e2e/smoke.spec.ts create mode 100644 e2e/storymap.spec.ts create mode 100644 e2e/theme.spec.ts create mode 100644 eslint.config.mjs create mode 100644 mkdocs.yml create mode 100644 netlify.toml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/core/package.json create mode 100644 packages/core/src/color-ramp.ts create mode 100644 packages/core/src/ellipsoids.ts create mode 100644 packages/core/src/geocoding.ts create mode 100644 packages/core/src/geojson-z.ts create mode 100644 packages/core/src/history.ts create mode 100644 packages/core/src/index.ts create mode 100644 packages/core/src/layer-groups.ts create mode 100644 packages/core/src/paths.ts create mode 100644 packages/core/src/project.ts create mode 100644 packages/core/src/routing.ts create mode 100644 packages/core/src/runtime-env.ts create mode 100644 packages/core/src/store.ts create mode 100644 packages/core/src/storymap-io.ts create mode 100644 packages/core/src/storymap-sample.ts create mode 100644 packages/core/src/three-d-tiles.ts create mode 100644 packages/core/src/types.ts create mode 100644 packages/core/src/vector-color.ts create mode 100644 packages/core/tsconfig.json create mode 100644 packages/map/package.json create mode 100644 packages/map/src/CesiumCanvas.tsx create mode 100644 packages/map/src/MapCanvas.tsx create mode 100644 packages/map/src/SecondaryMapCanvas.tsx create mode 100644 packages/map/src/cesium-camera.ts create mode 100644 packages/map/src/cesium-layer-sync.ts create mode 100644 packages/map/src/fill-patterns.ts create mode 100644 packages/map/src/generated-images.ts create mode 100644 packages/map/src/geojson-loader.ts create mode 100644 packages/map/src/geojson-vt-protocol.ts create mode 100644 packages/map/src/globe-popup-occlusion.ts create mode 100644 packages/map/src/index.ts create mode 100644 packages/map/src/label-dedup.ts create mode 100644 packages/map/src/layer-control-overrides.css create mode 100644 packages/map/src/layer-sync.ts create mode 100644 packages/map/src/map-controller.ts create mode 100644 packages/map/src/mapbox-style-export.ts create mode 100644 packages/map/src/mapbox-style-import.ts create mode 100644 packages/map/src/markers.ts create mode 100644 packages/map/src/placeholders.ts create mode 100644 packages/map/src/planetary-scale-control.ts create mode 100644 packages/map/src/qml-export.ts create mode 100644 packages/map/src/qml-import.ts create mode 100644 packages/map/src/reset-bearing-control.ts create mode 100644 packages/map/src/sld-export.ts create mode 100644 packages/map/src/sld-import.ts create mode 100644 packages/map/src/style-mapper.ts create mode 100644 packages/map/src/terrain-control.ts create mode 100644 packages/map/tsconfig.json create mode 100644 packages/plugins/package.json create mode 100644 packages/plugins/src/arcgis-maplibre.d.ts create mode 100644 packages/plugins/src/earthengine.d.ts create mode 100644 packages/plugins/src/floating-panel-registry.ts create mode 100644 packages/plugins/src/index.ts create mode 100644 packages/plugins/src/maplibre-gl-usgs-lidar.d.ts create mode 100644 packages/plugins/src/plugin-manager.ts create mode 100644 packages/plugins/src/plugins/arcgis-i3s-tiles.ts create mode 100644 packages/plugins/src/plugins/arcgis-layer.ts create mode 100644 packages/plugins/src/plugins/carto-light.ts create mode 100644 packages/plugins/src/plugins/colormap-colors.ts create mode 100644 packages/plugins/src/plugins/deck-style-utils.ts create mode 100644 packages/plugins/src/plugins/deckgl-viz/elevation.ts create mode 100644 packages/plugins/src/plugins/deckgl-viz/overlay.ts create mode 100644 packages/plugins/src/plugins/deckgl-viz/registry.ts create mode 100644 packages/plugins/src/plugins/deckgl-viz/store-layer.ts create mode 100644 packages/plugins/src/plugins/earth-engine-auth.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/chart/profileChart.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/core/ElevationProfileControl.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/core/types.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/elevation/client.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/elevation/format.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/elevation/geometry.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/export/csv.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/index.ts create mode 100644 packages/plugins/src/plugins/elevation-profile/utils/deep-link.ts create mode 100644 packages/plugins/src/plugins/geo-editor-geometry.ts create mode 100644 packages/plugins/src/plugins/geo-editor-view-import.ts create mode 100644 packages/plugins/src/plugins/geoagent-layer-sync.ts create mode 100644 packages/plugins/src/plugins/internal-layers.ts create mode 100644 packages/plugins/src/plugins/kerchunk-reference-store.ts create mode 100644 packages/plugins/src/plugins/layer-control.ts create mode 100644 packages/plugins/src/plugins/local-netcdf.ts create mode 100644 packages/plugins/src/plugins/map-projection-utils.ts create mode 100644 packages/plugins/src/plugins/maplibre-3d-tiles.ts create mode 100644 packages/plugins/src/plugins/maplibre-annotations.ts create mode 100644 packages/plugins/src/plugins/maplibre-basemap-control.ts create mode 100644 packages/plugins/src/plugins/maplibre-clouds.ts create mode 100644 packages/plugins/src/plugins/maplibre-components.ts create mode 100644 packages/plugins/src/plugins/maplibre-deckgl-viz.ts create mode 100644 packages/plugins/src/plugins/maplibre-directions.ts create mode 100644 packages/plugins/src/plugins/maplibre-duckdb.ts create mode 100644 packages/plugins/src/plugins/maplibre-earth-engine.ts create mode 100644 packages/plugins/src/plugins/maplibre-effects.ts create mode 100644 packages/plugins/src/plugins/maplibre-enviroatlas.ts create mode 100644 packages/plugins/src/plugins/maplibre-esri-wayback.ts create mode 100644 packages/plugins/src/plugins/maplibre-fema-wms.ts create mode 100644 packages/plugins/src/plugins/maplibre-geo-editor.ts create mode 100644 packages/plugins/src/plugins/maplibre-geoagent.ts create mode 100644 packages/plugins/src/plugins/maplibre-graticule.ts create mode 100644 packages/plugins/src/plugins/maplibre-mapillary.ts create mode 100644 packages/plugins/src/plugins/maplibre-nasa-earthdata.ts create mode 100644 packages/plugins/src/plugins/maplibre-national-map.ts create mode 100644 packages/plugins/src/plugins/maplibre-openaerialmap.ts create mode 100644 packages/plugins/src/plugins/maplibre-overture-maps.ts create mode 100644 packages/plugins/src/plugins/maplibre-planetary-computer.ts create mode 100644 packages/plugins/src/plugins/maplibre-precipitation.ts create mode 100644 packages/plugins/src/plugins/maplibre-raster.ts create mode 100644 packages/plugins/src/plugins/maplibre-reverse-geocode.ts create mode 100644 packages/plugins/src/plugins/maplibre-route-animation.ts create mode 100644 packages/plugins/src/plugins/maplibre-streetview.ts create mode 100644 packages/plugins/src/plugins/maplibre-sun.ts create mode 100644 packages/plugins/src/plugins/maplibre-swipe.ts create mode 100644 packages/plugins/src/plugins/maplibre-time-slider.ts create mode 100644 packages/plugins/src/plugins/maplibre-usgs-lidar.ts create mode 100644 packages/plugins/src/plugins/maplibre-vector.ts create mode 100644 packages/plugins/src/plugins/openaerialmap-api.ts create mode 100644 packages/plugins/src/plugins/osm-basemap.ts create mode 100644 packages/plugins/src/plugins/raster-layer-sync.ts create mode 100644 packages/plugins/src/plugins/raster-palette.ts create mode 100644 packages/plugins/src/plugins/raster-symbology-texture.ts create mode 100644 packages/plugins/src/plugins/raster-symbology.ts create mode 100644 packages/plugins/src/plugins/route-animation-geometry.ts create mode 100644 packages/plugins/src/plugins/shared-deck-overlay.ts create mode 100644 packages/plugins/src/plugins/time-slider-binding.ts create mode 100644 packages/plugins/src/plugins/time-slider-pixel-series.ts create mode 100644 packages/plugins/src/plugins/vector-layer-sync.ts create mode 100644 packages/plugins/src/plugins/weather-layer.ts create mode 100644 packages/plugins/src/plugins/web-service-sync.ts create mode 100644 packages/plugins/src/right-panel-registry.ts create mode 100644 packages/plugins/src/toolbar-menu-registry.ts create mode 100644 packages/plugins/src/types.ts create mode 100644 packages/plugins/tsconfig.json create mode 100644 packages/processing/package.json create mode 100644 packages/processing/src/cog-convert.ts create mode 100644 packages/processing/src/h3-tools.ts create mode 100644 packages/processing/src/index.ts create mode 100644 packages/processing/src/network-tools.ts create mode 100644 packages/processing/src/raster-client.ts create mode 100644 packages/processing/src/raster-subset.ts create mode 100644 packages/processing/src/raster-tools.ts create mode 100644 packages/processing/src/registry.ts create mode 100644 packages/processing/src/runner.ts create mode 100644 packages/processing/src/sidecar-client.ts create mode 100644 packages/processing/src/spectral-indices.ts create mode 100644 packages/processing/src/statistics-tools.ts create mode 100644 packages/processing/src/types.ts create mode 100644 packages/processing/src/vector-tools.ts create mode 100644 packages/processing/src/wasm-client.ts create mode 100644 packages/processing/tsconfig.json create mode 100644 packages/ui/package.json create mode 100644 packages/ui/src/components/button.tsx create mode 100644 packages/ui/src/components/color-field.tsx create mode 100644 packages/ui/src/components/color-ramp-select.tsx create mode 100644 packages/ui/src/components/dialog.tsx create mode 100644 packages/ui/src/components/dropdown-menu.tsx create mode 100644 packages/ui/src/components/error-boundary.tsx create mode 100644 packages/ui/src/components/input.tsx create mode 100644 packages/ui/src/components/label.tsx create mode 100644 packages/ui/src/components/scroll-area.tsx create mode 100644 packages/ui/src/components/select.tsx create mode 100644 packages/ui/src/components/separator.tsx create mode 100644 packages/ui/src/components/slider.tsx create mode 100644 packages/ui/src/components/table.tsx create mode 100644 packages/ui/src/components/textarea.tsx create mode 100644 packages/ui/src/components/tooltip.tsx create mode 100644 packages/ui/src/globals.css create mode 100644 packages/ui/src/index.ts create mode 100644 packages/ui/src/lib/utils.ts create mode 100644 packages/ui/tsconfig.json create mode 100644 packaging/aur/PKGBUILD create mode 100644 packaging/aur/README.md create mode 100644 packaging/copr/README.md create mode 100644 packaging/copr/geolibre.spec create mode 100644 packaging/linux/org.geolibre.desktop.metainfo.xml create mode 100644 packaging/msix/README.md create mode 100644 packaging/msix/build-msix.ps1 create mode 100644 packaging/portable/README.md create mode 100644 packaging/portable/build-portable.ps1 create mode 100644 packaging/winget/OpenGeos.GeoLibre.installer.yaml create mode 100644 packaging/winget/OpenGeos.GeoLibre.locale.en-US.yaml create mode 100644 packaging/winget/OpenGeos.GeoLibre.yaml create mode 100644 packaging/winget/README.md create mode 100644 playwright.config.ts create mode 100644 python/.gitignore create mode 100644 python/LICENSE create mode 100644 python/README.md create mode 100644 python/examples/getting-started.ipynb create mode 100644 python/hatch_build.py create mode 100644 python/jupyter-config/jupyter_server_config.d/geolibre.json create mode 100644 python/pyproject.toml create mode 100644 python/src/geolibre/__init__.py create mode 100644 python/src/geolibre/_extension.py create mode 100644 python/src/geolibre/_frontend.js create mode 100644 python/src/geolibre/_server.py create mode 100644 python/src/geolibre/basemaps.py create mode 100644 python/src/geolibre/color_ramp.py create mode 100644 python/src/geolibre/geolibre.py create mode 100644 python/src/geolibre/legends.py create mode 100644 python/src/geolibre/project.py create mode 100644 python/tests/test_color_ramp.py create mode 100644 python/tests/test_extension.py create mode 100644 python/tests/test_extension_routes.py create mode 100644 python/tests/test_map.py create mode 100644 python/tests/test_project.py create mode 100644 python/tests/test_scripting.py create mode 100644 python/tests/test_server.py create mode 100644 requirements-docs.txt create mode 100644 scripts/build-embed.mjs create mode 100644 scripts/build-jupyterlite.mjs create mode 100644 scripts/gen-osm-fixture.mjs create mode 100644 scripts/gen-whitebox-menu-catalog.mjs create mode 100755 scripts/render-aur-pkgbuild.sh create mode 100755 scripts/render-copr-spec.sh create mode 100755 scripts/render-homebrew-cask.sh create mode 100755 scripts/render-linux-metainfo.sh create mode 100755 scripts/render-official-cask.sh create mode 100644 scripts/tauri-build.mjs create mode 100644 snap1.yaml create mode 100644 tests/add-data-helpers.test.ts create mode 100644 tests/add-data-i18n.test.ts create mode 100644 tests/add-tile-layer.test.ts create mode 100644 tests/apply-service.test.ts create mode 100644 tests/arcgis-feature-layer.test.ts create mode 100644 tests/arcgis-i3s-tiles.test.ts create mode 100644 tests/assistant-basemaps.test.ts create mode 100644 tests/assistant-os-env.test.ts create mode 100644 tests/assistant-provider-fields.test.ts create mode 100644 tests/assistant-provider.test.ts create mode 100644 tests/assistant-symbology.test.ts create mode 100644 tests/attribute-calculator.test.ts create mode 100644 tests/attribute-charts.test.ts create mode 100644 tests/attribute-columns.test.ts create mode 100644 tests/attribute-selection.test.ts create mode 100644 tests/attribute-stats.test.ts create mode 100644 tests/basemap-control-plugin.test.ts create mode 100644 tests/browser-folders.test.ts create mode 100644 tests/browser-tree.test.ts create mode 100644 tests/cesium-camera.test.ts create mode 100644 tests/cesium-ion-token.test.ts create mode 100644 tests/cesium-layer-sync.test.ts create mode 100644 tests/clouds.test.ts create mode 100644 tests/cog-convert.test.ts create mode 100644 tests/collab-protocol.test.ts create mode 100644 tests/color-field-transparent.test.ts create mode 100644 tests/color-ramp.test.ts create mode 100644 tests/colorbar-state-normalization.test.ts create mode 100644 tests/colormap-colors.test.ts create mode 100644 tests/column-explorer.test.ts create mode 100644 tests/commands.test.ts create mode 100644 tests/components-constructors-loader.test.ts create mode 100644 tests/control-owns-paint.test.ts create mode 100644 tests/coordinates.test.ts create mode 100644 tests/core-project.test.ts create mode 100644 tests/dashboard-widgets.test.ts create mode 100644 tests/data-parsing.test.ts create mode 100644 tests/deck-viz.test.ts create mode 100644 tests/diagnostics.test.ts create mode 100644 tests/directions.test.ts create mode 100644 tests/dms.test.ts create mode 100644 tests/duckdb-geometry.test.ts create mode 100644 tests/duckdb-vector-guard.test.ts create mode 100644 tests/effects-settings.test.ts create mode 100644 tests/elevation-3d.test.ts create mode 100644 tests/elevation-profile.test.ts create mode 100644 tests/error-boundary.test.ts create mode 100644 tests/external-deck-order.test.ts create mode 100644 tests/external-map-links.test.ts create mode 100644 tests/external-native-layer.test.ts create mode 100644 tests/external-plugin-assets.test.ts create mode 100644 tests/external-raster-tile-sync.test.ts create mode 100644 tests/fetch-error.test.ts create mode 100644 tests/field-collection.test.ts create mode 100644 tests/file-names.test.ts create mode 100644 tests/fixtures/sample-nc3-xy.nc create mode 100644 tests/fixtures/sample-nc3.nc create mode 100644 tests/fixtures/sample.osm.pbf create mode 100644 tests/fixtures/striped.tif create mode 100644 tests/fixtures/untagged-relation.osm.pbf create mode 100644 tests/fixtures/untagged-way.osm.pbf create mode 100644 tests/fixtures/vector/SPEC.md create mode 100644 tests/fixtures/vector/cases/aggregate-sum-by-group.json create mode 100644 tests/fixtures/vector/cases/attribute-join-left.json create mode 100644 tests/fixtures/vector/cases/bounding-box-points.json create mode 100644 tests/fixtures/vector/cases/buffer-points-km.json create mode 100644 tests/fixtures/vector/cases/centroids-polys.json create mode 100644 tests/fixtures/vector/cases/clip-square.json create mode 100644 tests/fixtures/vector/cases/convex-hull-points.json create mode 100644 tests/fixtures/vector/cases/difference-overlap.json create mode 100644 tests/fixtures/vector/cases/dissolve-by-field.json create mode 100644 tests/fixtures/vector/cases/error-attribute-join-missing-key.json create mode 100644 tests/fixtures/vector/cases/error-select-missing-field.json create mode 100644 tests/fixtures/vector/cases/error-select-unknown-operator.json create mode 100644 tests/fixtures/vector/cases/error-spatial-join-bad-how.json create mode 100644 tests/fixtures/vector/cases/explode-multipolygon.json create mode 100644 tests/fixtures/vector/cases/intersection-overlap.json create mode 100644 tests/fixtures/vector/cases/reproject-webmercator.json create mode 100644 tests/fixtures/vector/cases/select-by-location-intersects.json create mode 100644 tests/fixtures/vector/cases/select-by-value-contains-ci.json create mode 100644 tests/fixtures/vector/cases/select-by-value-numeric-gt.json create mode 100644 tests/fixtures/vector/cases/select-by-value-string-eq.json create mode 100644 tests/fixtures/vector/cases/simplify-line.json create mode 100644 tests/fixtures/vector/cases/smooth-line-chaikin.json create mode 100644 tests/fixtures/vector/cases/spatial-join-inner-intersects.json create mode 100644 tests/fixtures/vector/cases/spatial-join-left-null-fill.json create mode 100644 tests/fixtures/vector/cases/union-two-squares.json create mode 100644 tests/fixtures/vector/cases/voronoi-points.json create mode 100644 tests/geo-editor-geometry.test.ts create mode 100644 tests/geo-editor-plugin.test.ts create mode 100644 tests/geo-editor-view-import.test.ts create mode 100644 tests/geoagent-layer-sync.test.ts create mode 100644 tests/geocoding.test.ts create mode 100644 tests/geojson-vt-tiling.test.ts create mode 100644 tests/geometry-measure.test.ts create mode 100644 tests/geometry-wkb-decode.test.ts create mode 100644 tests/geopackage-writer.test.ts create mode 100644 tests/georeference.test.ts create mode 100644 tests/geotagged-photos.test.ts create mode 100644 tests/globe-halo-ellipse.test.ts create mode 100644 tests/globe-popup-occlusion.test.ts create mode 100644 tests/google-maps-api-key.test.ts create mode 100644 tests/gpkg-ogr-contents.test.ts create mode 100644 tests/gpkg-reader.test.ts create mode 100644 tests/graticule.test.ts create mode 100644 tests/h3-tools.test.ts create mode 100644 tests/html-export.test.ts create mode 100644 tests/i18n-catalogs.test.ts create mode 100644 tests/i18n-languages.test.ts create mode 100644 tests/is-mobile.test.ts create mode 100644 tests/kerchunk-reference-store.test.ts create mode 100644 tests/kml-ground-overlay.test.ts create mode 100644 tests/kml-model-layer.test.ts create mode 100644 tests/kml-timespan.test.ts create mode 100644 tests/knowledge.test.ts create mode 100644 tests/label-dedup.test.ts create mode 100644 tests/label-sync.test.ts create mode 100644 tests/layer-bounds.test.ts create mode 100644 tests/layer-control-style-sync.test.ts create mode 100644 tests/layer-groups.test.ts create mode 100644 tests/layer-refresh.test.ts create mode 100644 tests/layout-options.test.ts create mode 100644 tests/local-netcdf.test.ts create mode 100644 tests/map-controller.test.ts create mode 100644 tests/map-projection-utils.test.ts create mode 100644 tests/map-recorder.test.ts create mode 100644 tests/mapbox-style-export.test.ts create mode 100644 tests/mapbox-style-import.test.ts create mode 100644 tests/martin-source-match.test.ts create mode 100644 tests/metainfo-generated.test.ts create mode 100644 tests/movement-tools.test.ts create mode 100644 tests/native-http.test.ts create mode 100644 tests/network-tools.test.ts create mode 100644 tests/offline-regions.test.ts create mode 100644 tests/offline-tiles.test.ts create mode 100644 tests/ogc-vector-tiles.test.ts create mode 100644 tests/onboarding-suppression.test.ts create mode 100644 tests/openaerialmap-api.test.ts create mode 100644 tests/osm-pbf.test.ts create mode 100644 tests/pglite-workspace.test.ts create mode 100644 tests/planetary-basemap.test.ts create mode 100644 tests/planetary-scale-control.test.ts create mode 100644 tests/plugin-archive-unpack.test.ts create mode 100644 tests/plugin-integrity.test.ts create mode 100644 tests/plugin-manager.test.ts create mode 100644 tests/plugin-trust.test.ts create mode 100644 tests/plugin-ui-surfaces.test.ts create mode 100644 tests/point-renderer-sync.test.ts create mode 100644 tests/postgis-connections.test.ts create mode 100644 tests/precipitation.test.ts create mode 100644 tests/print-capture.test.ts create mode 100644 tests/print-layout.test.ts create mode 100644 tests/print-legend.test.ts create mode 100644 tests/prj-sidecar.test.ts create mode 100644 tests/processing-runner.test.ts create mode 100644 tests/processing.test.ts create mode 100644 tests/project-url.test.ts create mode 100644 tests/protomaps-basemap.test.ts create mode 100644 tests/pyodide-config.test.ts create mode 100644 tests/qml-export.test.ts create mode 100644 tests/qml-import.test.ts create mode 100644 tests/qml-roundtrip.test.ts create mode 100644 tests/raster-client.test.ts create mode 100644 tests/raster-layer-sync.test.ts create mode 100644 tests/raster-palette.test.ts create mode 100644 tests/raster-symbology-texture.test.ts create mode 100644 tests/raster-symbology.test.ts create mode 100644 tests/raster-tools.test.ts create mode 100644 tests/reproject.test.ts create mode 100644 tests/reset-bearing-control.test.ts create mode 100644 tests/restore-control-order.test.ts create mode 100644 tests/reverse-geocode.test.ts create mode 100644 tests/right-panel-registry.test.ts create mode 100644 tests/route-animation.test.ts create mode 100644 tests/routing.test.ts create mode 100644 tests/service-library.test.ts create mode 100644 tests/shapefile-export-warnings.test.ts create mode 100644 tests/shapefile-writer.test.ts create mode 100644 tests/shapefile-zip-multipatch.test.ts create mode 100644 tests/share-fetch.test.ts create mode 100644 tests/share-gallery.test.ts create mode 100644 tests/share-geolibre.test.ts create mode 100644 tests/shared-deck-overlay.test.ts create mode 100644 tests/simplestyle.test.ts create mode 100644 tests/sld-export.test.ts create mode 100644 tests/sld-import.test.ts create mode 100644 tests/sld-roundtrip.test.ts create mode 100644 tests/spatial-extension-config.test.ts create mode 100644 tests/spectral-indices.test.ts create mode 100644 tests/sql-completion.test.ts create mode 100644 tests/stale-chunk-reload.test.ts create mode 100644 tests/statistics-tools.test.ts create mode 100644 tests/storymap-pdf.test.ts create mode 100644 tests/stroke-width-unit.test.ts create mode 100644 tests/sun-simulation.test.ts create mode 100644 tests/terrain-control.test.ts create mode 100644 tests/terrain-exaggeration.test.ts create mode 100644 tests/theme-mode.test.ts create mode 100644 tests/theme-normalize-hex.test.ts create mode 100644 tests/three-d-tiles.test.ts create mode 100644 tests/time-slider-binding.test.ts create mode 100644 tests/time-slider-config.test.ts create mode 100644 tests/time-slider-pixel-series.test.ts create mode 100644 tests/tour-recorder.test.ts create mode 100644 tests/ui-profile.test.ts create mode 100644 tests/undo-redo.test.ts create mode 100644 tests/updates.test.ts create mode 100644 tests/vector-desktop-picker.test.ts create mode 100644 tests/vector-golden.test.ts create mode 100644 tests/vector-layer-sync.test.ts create mode 100644 tests/vector-symbology.test.ts create mode 100644 tests/wasm-tool-manifests.test.ts create mode 100644 tests/weather-layer.test.ts create mode 100644 tests/web-service-sync.test.ts create mode 100644 tsconfig.base.json create mode 100644 workers/collab/package.json create mode 100644 workers/collab/src/index.ts create mode 100644 workers/collab/src/protocol.ts create mode 100644 workers/collab/src/session.ts create mode 100644 workers/collab/tsconfig.json create mode 100644 workers/collab/wrangler.toml create mode 100644 workers/tiles/package.json create mode 100644 workers/tiles/src/index.ts create mode 100644 workers/tiles/src/reproject.ts create mode 100644 workers/tiles/tsconfig.json create mode 100644 workers/tiles/wrangler.toml create mode 100644 workers/viewer/package-lock.json create mode 100644 workers/viewer/package.json create mode 100644 workers/viewer/src/index.ts create mode 100644 workers/viewer/tsconfig.json create mode 100644 workers/viewer/wrangler.toml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0fb9fa5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,20 @@ +.git +.github +.vscode +.idea +node_modules +**/node_modules +apps/geolibre-desktop/dist +apps/geolibre-desktop/src-tauri +backend/geolibre_server/.venv +backend/**/__pycache__ +workers +docs +sample-data +coverage +dist +build +*.log +.DS_Store +.env +.env.* diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..2feec2e --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: giswqs +buy_me_a_coffee: giswqs diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..e146858 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,76 @@ +name: Bug report +description: Report unexpected behavior or a possible flaw in GeoLibre. +title: "[Bug]: " +labels: ["unconfirmed possible issue"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a problem. Please fill out the sections below so we can reproduce and confirm the issue. + + Reports start as **unconfirmed possible issue**. Once a maintainer reproduces the problem, it is promoted to **bug**. + - type: checkboxes + id: checks + attributes: + label: Before you start + options: + - label: I searched the [existing issues](https://github.com/opengeos/GeoLibre/issues) and did not find a duplicate. + required: true + - label: This is a bug report, not a usage question (questions belong in [Discussions](https://github.com/opengeos/GeoLibre/discussions)). + required: true + - type: textarea + id: what-happened + attributes: + label: What happened? + description: A clear and concise description of the unexpected behavior. + placeholder: When I do X, Y happens instead of Z. + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: Tell us how to reproduce the behavior, step by step. + placeholder: | + 1. Open '...' + 2. Add data '...' + 3. Click on '...' + 4. See error + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen instead? + validations: + required: true + - type: input + id: app + attributes: + label: How are you running GeoLibre? + description: Web app, desktop app, or Jupyter, plus the version if you know it. + placeholder: Desktop app v0.x.y / Web (https://geolibre.app) / Jupyter + validations: + required: true + - type: input + id: os + attributes: + label: Operating system and browser + description: e.g. Windows 11 + Chrome 126, macOS 14 + Safari, Ubuntu 24.04. + validations: + required: false + - type: textarea + id: data + attributes: + label: Sample data + description: If the bug is tied to a specific dataset, share a small sample or a link so we can reproduce it. + validations: + required: false + - type: textarea + id: screenshots + attributes: + label: Screenshots or logs + description: Add screenshots, screen recordings, or console output if they help explain the problem. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..9da5919 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Question or usage help + url: https://github.com/opengeos/GeoLibre/discussions/new?category=q-a + about: Have a "how do I do X?" question? Please ask in Discussions (Q&A) to keep the issue tracker focused on bugs and feature requests. + - name: Ideas and general discussion + url: https://github.com/opengeos/GeoLibre/discussions + about: Share early-stage ideas, show your work, or chat with the community in Discussions. + - name: Documentation + url: https://geolibre.app + about: Browse the docs and guides before opening an issue. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..8b47afd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,52 @@ +name: Feature request +description: Suggest a new feature, enhancement, or UX improvement for GeoLibre. +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for helping make GeoLibre better. Please describe what you would like and why it matters. + + This form labels the issue **enhancement**. The scope you pick below is informational: a maintainer will read your selection and add the matching **enhancement (small)**, **enhancement (medium)**, or **wishlist** label during triage. + - type: checkboxes + id: checks + attributes: + label: Before you start + options: + - label: I searched the [existing issues](https://github.com/opengeos/GeoLibre/issues) and did not find a duplicate request. + required: true + - type: textarea + id: problem + attributes: + label: What problem does this solve? + description: Describe the workflow, pain point, or limitation that motivates this request. + placeholder: When working with ..., it is hard to ... because ... + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe what you would like to see. Mockups or examples are welcome. + validations: + required: true + - type: dropdown + id: scope + attributes: + label: Estimated scope + description: Your best guess at the size. A maintainer will confirm and apply the matching label. + options: + - "Small: a minor tweak, small UI change, or text adjustment" + - "Medium: a broader feature that is feasible in a reasonable timeframe" + - "Wishlist: a larger or longer-term idea" + - "Not sure" + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Any workarounds you currently use, or other approaches you thought about. + validations: + required: false diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..1c2c33a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,92 @@ +# Dependabot keeps dependencies and their security advisories current across the +# monorepo's four ecosystems. Updates are grouped so a fast-moving repo gets a +# few consolidated PRs per week rather than a flood of one-per-dependency PRs. +version: 2 +updates: + # JavaScript — one npm workspaces lockfile at the root wires up every JS + # workspace, so a single npm entry covers apps/*, packages/*, and workers/*. + - package-ecosystem: npm + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 10 + groups: + # Security fixes land on their own, immediately actionable PRs. + npm-security: + applies-to: security-updates + patterns: + - "*" + # Routine minor/patch bumps are batched into one PR to cut review noise. + npm-minor-patch: + applies-to: version-updates + update-types: + - minor + - patch + + # Python — the FastAPI sidecar. + - package-ecosystem: pip + directory: "/backend/geolibre_server" + schedule: + interval: weekly + open-pull-requests-limit: 5 + groups: + backend-security: + applies-to: security-updates + patterns: + - "*" + backend-minor-patch: + applies-to: version-updates + update-types: + - minor + - patch + + # Python — the `geolibre` Jupyter anywidget package. + - package-ecosystem: pip + directory: "/python" + schedule: + interval: weekly + open-pull-requests-limit: 5 + groups: + widget-security: + applies-to: security-updates + patterns: + - "*" + widget-minor-patch: + applies-to: version-updates + update-types: + - minor + - patch + + # Rust — the Tauri desktop crate. + - package-ecosystem: cargo + directory: "/apps/geolibre-desktop/src-tauri" + schedule: + interval: weekly + open-pull-requests-limit: 5 + groups: + cargo-security: + applies-to: security-updates + patterns: + - "*" + cargo-minor-patch: + applies-to: version-updates + update-types: + - minor + - patch + + # GitHub Actions used by the workflows in .github/workflows/. + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 5 + groups: + actions-security: + applies-to: security-updates + patterns: + - "*" + actions-minor-patch: + applies-to: version-updates + update-types: + - minor + - patch diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..1b778db --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,47 @@ +# Source of truth for this repository's issue/PR labels. +# Synced to GitHub by .github/workflows/labels.yml on push to main. +# The sync is additive (delete-other-labels is off), so labels not listed +# here are left untouched. + +- name: bug + color: "d73a4a" + description: Something isn't working +- name: unconfirmed possible issue + color: "fef2c0" + description: Reported behavior not yet reproduced or confirmed as a bug +- name: enhancement + color: "a2eeef" + description: New feature or request +- name: enhancement (small) + color: "c5f0f5" + description: Minor feature, small UI tweak, or text adjustment +- name: enhancement (medium) + color: "76d3dd" + description: Broader feature, feasible within a reasonable timeframe +- name: wishlist + color: "4a0aca" + description: Feature requests that require significant efforts +- name: question + color: "d876e3" + description: Further information is requested +- name: waiting on user feedback + color: "fbca04" + description: Progress depends on the reporter (e.g. sample data or verification) +- name: documentation + color: "0075ca" + description: Improvements or additions to documentation +- name: duplicate + color: "cfd3d7" + description: This issue or pull request already exists +- name: good first issue + color: "7057ff" + description: Good for newcomers +- name: help wanted + color: "008672" + description: Extra attention is needed +- name: invalid + color: "e4e669" + description: This doesn't seem right +- name: wontfix + color: "ffffff" + description: This will not be worked on diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 0000000..2a0fdb4 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,201 @@ +name: Android + +# Android builds run on published releases (matching release.yml), not on every +# PR — the Rust cross-compile + Gradle build is slow and rarely needs per-PR +# coverage. Use the manual "Run workflow" button (workflow_dispatch) to build a +# signed APK on demand from any branch. +on: + release: + types: [published] + workflow_dispatch: + +# Least privilege at the workflow level; the build job below elevates to +# contents: write only where it needs to attach release assets. +permissions: + contents: read + +concurrency: + group: android-${{ github.ref }} + cancel-in-progress: true + +env: + # Keep these in sync with docs/android.md and the local setup. + ANDROID_PLATFORM: "platforms;android-34" + ANDROID_BUILD_TOOLS: "build-tools;34.0.0" + # NDK r27 LTS — Tauri v2's supported line. Bump deliberately. + ANDROID_NDK_VERSION: "27.3.13750724" + +jobs: + build: + name: Build Android APK (release) + runs-on: ubuntu-22.04 + # Elevated here (not workflow-level) so only this job can write release + # assets; workflow_dispatch runs never attach but the grant is harmless. + permissions: + contents: write + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + cache: npm + cache-dependency-path: package-lock.json + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "21" + + - name: Set up Android SDK + # Third-party action pinned to a full commit SHA (v3 tag head) per the + # repo's policy for non-official actions; a tag could be re-pointed. + uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3 + + - name: Install Android NDK, platform, and build-tools + run: | + sdkmanager --install \ + "platform-tools" \ + "$ANDROID_PLATFORM" \ + "$ANDROID_BUILD_TOOLS" \ + "ndk;$ANDROID_NDK_VERSION" + echo "NDK_HOME=$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" >> "$GITHUB_ENV" + + - name: Install Rust stable with Android targets + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable + with: + toolchain: stable + targets: >- + aarch64-linux-android, + armv7-linux-androideabi, + i686-linux-android, + x86_64-linux-android + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 + with: + workspaces: apps/geolibre-desktop/src-tauri -> target + + - name: Install frontend dependencies + run: npm ci + + - name: Generate Android project + # gen/android is not committed; regenerate it on the clean runner. The + # Tauri CLI is resolved through the geolibre-desktop workspace. + working-directory: apps/geolibre-desktop + run: npx tauri android init + + - name: Apply GeoLibre launcher icons + # `tauri android init` writes default Tauri icons; overwrite the generated + # mipmaps with the GeoLibre launcher icons checked in under src-tauri/icons. + working-directory: apps/geolibre-desktop + run: cp -r src-tauri/icons/android/. src-tauri/gen/android/app/src/main/res/ + + - name: Build release APKs (per ABI) + # Release (not --debug): the size-optimized + stripped Cargo profile keeps + # each .so small. --split-per-abi emits one ~40 MB APK per architecture + # instead of a single ~150 MB universal APK bundling all four ABIs. + # Release APKs are unsigned by default; the next step signs them. + working-directory: apps/geolibre-desktop + run: npx tauri android build --apk --split-per-abi + env: + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + + - name: Sign APKs + id: sign + # With release-keystore secrets set, the APKs are signed for distribution. + # Without them, they're signed with a throwaway debug keystore so the CI + # artifacts are still installable for testing (do NOT publish those). + # Emits signed=release|debug so the release-upload step can refuse to + # attach debug-signed APKs to a public GitHub Release. + env: + KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} + KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} + run: | + set -euo pipefail + build_tools="$(ls -d "$ANDROID_HOME"/build-tools/* | sort -V | tail -1)" + store_pass_file="$RUNNER_TEMP/ks.pass" + key_pass_file="$RUNNER_TEMP/key.pass" + if [ -n "${KEYSTORE_BASE64:-}" ]; then + # Fail fast if the keystore secret is set but its companions are not, + # instead of a cryptic apksigner error later. + if [ -z "${KEYSTORE_PASSWORD:-}" ] || [ -z "${KEY_ALIAS:-}" ]; then + echo "::error::ANDROID_KEYSTORE_PASSWORD and ANDROID_KEY_ALIAS must be set when ANDROID_KEYSTORE_BASE64 is provided" + exit 1 + fi + echo "Signing with the release keystore from secrets." + echo "$KEYSTORE_BASE64" | base64 -d > "$RUNNER_TEMP/release.jks" + keystore="$RUNNER_TEMP/release.jks" + printf '%s' "$KEYSTORE_PASSWORD" > "$store_pass_file" + printf '%s' "${KEY_PASSWORD:-$KEYSTORE_PASSWORD}" > "$key_pass_file" + alias="$KEY_ALIAS" + sign_mode=release + else + echo "::warning::No ANDROID_KEYSTORE_BASE64 secret set — signing with a throwaway debug keystore. Installable for testing only, NOT for distribution." + sign_mode=debug + keystore="$RUNNER_TEMP/debug.jks" + "$JAVA_HOME/bin/keytool" -genkeypair -v -keystore "$keystore" \ + -storepass android -keypass android -alias androiddebugkey \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -dname "CN=Android Debug,O=Android,C=US" + printf '%s' android > "$store_pass_file" + printf '%s' android > "$key_pass_file" + alias=androiddebugkey + fi + out="$RUNNER_TEMP/apks"; mkdir -p "$out" + found=0 + while IFS= read -r unsigned; do + found=1 + # e.g. app-arm64-v8a-release-unsigned.apk -> geolibre-arm64-v8a.apk + abi="$(basename "$unsigned" | sed -E 's/^app-(.*)-release-unsigned\.apk$/\1/')" + aligned="$RUNNER_TEMP/aligned-$abi.apk" + signed="$out/geolibre-android-$abi.apk" + "$build_tools/zipalign" -p -f 4 "$unsigned" "$aligned" + # Pass passwords via files (pass:file:) so they never appear in the + # process argument list / CI logs. + "$build_tools/apksigner" sign --ks "$keystore" \ + --ks-pass "file:$store_pass_file" --key-pass "file:$key_pass_file" \ + --ks-key-alias "$alias" --out "$signed" "$aligned" + "$build_tools/apksigner" verify "$signed" + echo "signed $signed ($(du -h "$signed" | cut -f1))" + done < <(find apps/geolibre-desktop/src-tauri/gen/android \ + -name '*release-unsigned.apk') + rm -f "$store_pass_file" "$key_pass_file" + if [ "$found" -eq 0 ]; then + echo "::error::No release-unsigned APKs found"; exit 1 + fi + # Emit the outcome only after every APK has signed and verified, so a + # downstream always() step can never read signed=release on a failure. + echo "signed=$sign_mode" >> "$GITHUB_OUTPUT" + + - name: Upload signed APKs + uses: actions/upload-artifact@v4 + with: + name: geolibre-android-release-apks + path: ${{ runner.temp }}/apks/*.apk + if-no-files-found: error + retention-days: 14 + + - name: Attach APKs to GitHub Release + # Only on a published release, and only when the APKs were signed with the + # real release keystore — never publish debug-signed builds as official + # downloads. workflow_dispatch runs still get the CI artifact above. + if: github.event_name == 'release' && steps.sign.outputs.signed == 'release' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ github.event.release.tag_name }} + run: gh release upload "$TAG" "$RUNNER_TEMP"/apks/*.apk --clobber + + - name: Note skipped release upload + # Surface why a release run did not attach APKs (missing keystore secrets), + # so it does not look like a silent failure. + if: github.event_name == 'release' && steps.sign.outputs.signed != 'release' + run: | + echo "::warning::APKs were debug-signed (no ANDROID_KEYSTORE_BASE64 secret) and were NOT attached to the release. They are available as the CI artifact for testing only." diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a77be72 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,203 @@ +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + audit: + name: Dependency audit + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + + # Reads package-lock.json and queries the registry — no install needed, so + # this stays fast. Blocking at `high` catches high/critical advisories + # without reddening CI for the moderate/low noise Dependabot handles via PR. + - name: Audit npm dependencies (high and critical) + run: npm audit --audit-level=high + + e2e: + name: E2E smoke (Playwright) + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Resolve Playwright version + id: pw + run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> "$GITHUB_OUTPUT" + + - name: Cache Playwright browsers + id: pw-cache + uses: actions/cache@v6 + with: + path: ~/.cache/ms-playwright + key: playwright-${{ runner.os }}-${{ steps.pw.outputs.version }} + + - name: Install Playwright Chromium (cache miss) + if: steps.pw-cache.outputs.cache-hit != 'true' + run: npx playwright install --with-deps chromium + + - name: Install Playwright system deps (cache hit) + if: steps.pw-cache.outputs.cache-hit == 'true' + run: npx playwright install-deps chromium + + - name: Run E2E smoke tests + run: npm run test:e2e + env: + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + + - name: Upload Playwright report + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: playwright-report + path: | + playwright-report/ + test-results/ + retention-days: 7 + + citation: + name: Validate CITATION.cff + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + + - name: Install cffconvert + run: python -m pip install cffconvert + + - name: Validate CITATION.cff against the CFF schema + run: cffconvert --validate -i CITATION.cff + + - name: Ensure version matches package.json + run: | + cff_version="$(sed -n 's/^version: *//p' CITATION.cff | tr -d '"' | head -n1)" + pkg_version="$(python -c "import json; print(json.load(open('package.json'))['version'])")" + echo "CITATION.cff version: $cff_version" + echo "package.json version: $pkg_version" + if [ "$cff_version" != "$pkg_version" ]; then + echo "::error file=CITATION.cff::version ($cff_version) does not match package.json ($pkg_version). Update CITATION.cff version and date-released when bumping the release version." + exit 1 + fi + + checks: + name: Build and test + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + cache: npm + cache-dependency-path: package-lock.json + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: backend/geolibre_server/pyproject.toml + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable + with: + toolchain: stable + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 + with: + workspaces: apps/geolibre-desktop/src-tauri -> target + + - name: Install Linux desktop dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + curl \ + file \ + libayatana-appindicator3-dev \ + libssl-dev \ + libwebkit2gtk-4.1-dev \ + libxdo-dev \ + patchelf \ + wget + + - name: Install frontend dependencies + run: npm ci + + - name: Install backend test dependencies + # The full test suite needs the optional engines; without them the + # vector/raster/SQL/ML tests skip themselves and CI is green but hollow. + run: python -m pip install -e "backend/geolibre_server[test]" + + # Audit the resolved backend environment for known advisories. Non-blocking + # (continue-on-error): the sidecar pulls a heavy geospatial/ML dependency + # tree whose transitive advisories are often upstream and not immediately + # fixable, so this surfaces them without halting the release cadence. + # Dependabot opens the fix PRs; this step keeps the signal visible in CI. + # + # pip-audit runs in a throwaway venv against a frozen snapshot of the test + # environment (--exclude-editable drops the local geolibre_server checkout, + # which isn't on PyPI). This keeps its own dependency resolution from + # mutating the environment the "Run CI gate" step below tests against. + - name: Audit Python dependencies (advisory, non-blocking) + continue-on-error: true + run: | + python -m pip freeze --exclude-editable > /tmp/backend-freeze.txt + python -m venv /tmp/pip-audit-venv + /tmp/pip-audit-venv/bin/pip install --quiet pip-audit + /tmp/pip-audit-venv/bin/pip-audit \ + --progress-spinner off \ + --requirement /tmp/backend-freeze.txt + + # Drive the documented `npm run ci` gate directly (lint -> build -> + # frontend+worker+backend coverage -> rust) so this workflow cannot drift + # from the script in package.json. + - name: Run CI gate (lint, build, frontend/worker/backend tests, rust) + run: npm run ci + env: + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml new file mode 100644 index 0000000..0b9501a --- /dev/null +++ b/.github/workflows/claude-code-review.yml @@ -0,0 +1,78 @@ +name: Claude Code Review + +# Uses pull_request_target so the workflow has access to repository secrets +# (CLAUDE_CODE_OAUTH_TOKEN) even for PRs opened from forks, which lets Claude +# review and comment on ALL PRs. This is safe here because the job only reads +# the diff and posts comments. It never installs dependencies or executes the +# PR's code, so untrusted fork code is never run with the elevated token. +on: + pull_request_target: + types: [opened, synchronize, ready_for_review, reopened] + # Optional: Only run on specific file changes + # paths: + # - "src/**/*.ts" + # - "src/**/*.tsx" + # - "src/**/*.js" + # - "src/**/*.jsx" + +jobs: + claude-review: + # Optional: Filter by PR author + # if: | + # github.event.pull_request.user.login == 'external-contributor' || + # github.event.pull_request.user.login == 'new-developer' || + # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' + + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + issues: write + id-token: write + + steps: + - name: Checkout PR head (read-only; code is reviewed, not executed) + uses: actions/checkout@v6 + with: + # pull_request_target defaults to the base ref; explicitly check out + # the PR head so Claude reviews the proposed changes. + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 1 + + - name: Run Claude Code Review + id: claude-review + uses: anthropics/claude-code-action@v1 + with: + # Use the workflow's GITHUB_TOKEN for GitHub API calls instead of the + # default OIDC -> Claude GitHub App token exchange. That exchange + # returns "401 Invalid OIDC token" for OIDC tokens minted in a + # pull_request_target context, which broke review on fork PRs. Under + # pull_request_target GITHUB_TOKEN already carries the pull-requests + # and issues write scopes this job declares, so it can post the review + # (as github-actions[bot]). claude_code_oauth_token still authenticates + # Claude to the model. + github_token: ${{ secrets.GITHUB_TOKEN }} + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + prompt: | + Perform a thorough code review of pull request ${{ github.repository }}/pull/${{ github.event.pull_request.number }}. + + Inspect the changes with `gh pr diff` and `gh pr view`. When the diff alone is not enough to judge correctness, read the surrounding source files for context. + + Review the changed code for: + - Bugs and logic errors, including edge cases, race conditions, and missing error handling + - Security issues such as injection, unsafe input handling, and leaked secrets + - Performance problems and obvious inefficiencies + - Code quality, readability, naming, and maintainability + - Adherence to any CLAUDE.md guidelines that apply to the changed files + + Concentrate on the changed lines, but use repository context to judge whether they are correct. Report findings across a range of confidence levels, not only near-certain ones. It is fine to raise a well-reasoned concern even when you are not fully certain, as long as you state your confidence and reasoning. Skip pre-existing issues unrelated to this change. + + Post specific findings as inline review comments on the relevant lines using the create_inline_comment tool. For each comment, briefly explain the issue and, when the fix is small and self-contained, include a committable suggestion block. Group minor nits together rather than posting many separate inline comments. + + After posting inline comments, post exactly one summary comment with `gh pr comment` that starts with the heading "## Code review" and lists the findings grouped by category (Bugs, Security, Performance, Quality, CLAUDE.md), each with a one-line description and confidence. If you genuinely find nothing worth raising, say so and note what you checked. + + Do not approve, merge, or modify any code. Only review and comment. Do not use web fetch; use the gh CLI for all GitHub interactions. + claude_args: | + --allowedTools "Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr comment:*),Read,Grep,Glob,mcp__github_inline_comment__create_inline_comment" + # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md + # or https://code.claude.com/docs/en/cli-reference for available options diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml new file mode 100644 index 0000000..e654315 --- /dev/null +++ b/.github/workflows/claude.yml @@ -0,0 +1,102 @@ +name: Claude Code + +on: + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + issues: + types: [opened, assigned] + pull_request_review: + types: [submitted] + +jobs: + # First-line gate: only proceed on an explicit @claude mention, and resolve + # the invoking user's REAL repository permission level before any token is + # granted. `author_association == 'COLLABORATOR'` is not sufficient on its + # own -- read-only and triage-only collaborators also report COLLABORATOR, so + # gating on the enum alone would let a non-push user invoke the agent. This + # job runs with a read-only token and emits `trusted=true` only for users who + # can already push (write / maintain / admin roles). + check-access: + if: | + (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || + (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) + runs-on: ubuntu-latest + # This job only calls the REST API (via gh) and never checks out or reads + # repository content, so it needs no repository scopes. The + # collaborators/permission endpoint requires only metadata:read, which the + # GITHUB_TOKEN always retains even with an empty permissions block. + permissions: {} + outputs: + trusted: ${{ steps.check.outputs.trusted }} + steps: + - name: Resolve actor permission level + id: check + env: + GH_TOKEN: ${{ github.token }} + REPO: ${{ github.repository }} + ACTOR: ${{ github.actor }} + run: | + if role=$(gh api "repos/${REPO}/collaborators/${ACTOR}/permission" --jq '.role_name' 2>err.log); then + echo "Actor ${ACTOR} resolved to role: ${role}" + case "${role}" in + admin | maintain | write) echo "trusted=true" >> "${GITHUB_OUTPUT}" ;; + *) echo "trusted=false" >> "${GITHUB_OUTPUT}" ;; + esac + elif grep -q 'HTTP 404' err.log; then + # 404 = the actor is not a collaborator with any role: not trusted. + echo "Actor ${ACTOR} is not a repository collaborator; marking untrusted." + echo "trusted=false" >> "${GITHUB_OUTPUT}" + else + # Any other failure (auth, rate limit, network) must not be silently + # downgraded to "untrusted" -- surface it and fail the job instead. + echo "::error::Permission lookup for ${ACTOR} failed:" + cat err.log + exit 1 + fi + + claude: + needs: check-access + if: needs.check-access.outputs.trusted == 'true' + runs-on: ubuntu-latest + # Least-privilege token. Each scope maps to a concrete operation the agent + # performs, and this job only runs after check-access confirms the invoking + # user already has push access. `id-token: write` is intentionally omitted: + # this workflow authenticates with an OAuth token and has no OIDC use case. + # + # Residual risk: this gate controls WHO can invoke the agent, not WHAT it + # reads. A trusted maintainer invoking @claude on an issue/PR authored by an + # untrusted user still exposes the agent to attacker-controlled text (the + # diff or issue body) and thus to prompt injection while it holds a + # write-capable token. Review the target before invoking on untrusted input. + permissions: + contents: write # commit and push changes on a branch when asked to edit code + pull-requests: write # open/update PRs and post review replies + issues: write # post replies on the triggering issue + actions: read # read CI results on PRs + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - name: Run Claude Code + id: claude + uses: anthropics/claude-code-action@v1 + with: + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + + # This is an optional setting that allows Claude to read CI results on PRs + additional_permissions: | + actions: read + + # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it. + # prompt: 'Update the pull request description to include a summary of changes.' + + # Optional: Add claude_args to customize behavior and configuration + # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md + # or https://code.claude.com/docs/en/cli-reference for available options + # claude_args: '--allowed-tools Bash(gh pr *)' diff --git a/.github/workflows/cloudflare-preview.yml b/.github/workflows/cloudflare-preview.yml new file mode 100644 index 0000000..63a4e47 --- /dev/null +++ b/.github/workflows/cloudflare-preview.yml @@ -0,0 +1,165 @@ +name: Cloudflare preview + +# Builds the docs site + web demo for every pull request and uploads it to a +# Cloudflare Pages project as a *preview* deployment, then comments the URL on +# the PR. This replaces the old Netlify Deploy Previews. +# +# The build mirrors .github/workflows/pages.yml (the GitHub Pages production +# deploy) so previews match what ships: +# docs deps -> jupyterlite deps -> npm ci -> web demo build -> docs build -> +# bundle demo into site/demo. +# +# NOTE on fork PRs: the `pull_request` event does NOT expose repository secrets +# to PRs opened from forks, so previews only run for branches pushed to this +# repo (maintainers and collaborators). External fork PRs are skipped — the job +# guard below short-circuits them instead of failing with a missing token. +# +# Required repository secrets (already present for the Workers deploys): +# CLOUDFLARE_API_TOKEN - needs the "Cloudflare Pages: Edit" permission +# CLOUDFLARE_ACCOUNT_ID +# Optional (baked into the client bundle, same as pages.yml): +# VITE_GEE_OAUTH_CLIENT_ID, VITE_PROTOMAPS_API_KEY, +# VITE_GOOGLE_MAPS_API_KEY or GOOGLE_MAPS_API_KEY + +on: + pull_request: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pull-requests: write + +concurrency: + group: cf-preview-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + preview: + name: Build and deploy preview + runs-on: ubuntu-latest + # Skip fork PRs: secrets are unavailable there, so the deploy would fail. + if: github.event_name == 'workflow_dispatch' || github.event.pull_request.head.repo.full_name == github.repository + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + # Match ci.yml: don't leave the GITHUB_TOKEN in .git/config where an + # npm lifecycle script during `npm ci`/`npm run build` could read it. + persist-credentials: false + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: | + requirements-docs.txt + apps/geolibre-desktop/jupyterlite/requirements.txt + + - name: Install documentation dependencies + run: python -m pip install -r requirements-docs.txt + + - name: Install JupyterLite build dependencies + run: python -m pip install -r apps/geolibre-desktop/jupyterlite/requirements.txt + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: npm + cache-dependency-path: package-lock.json + + - name: Install frontend dependencies + run: npm ci + + - name: Build web demo + run: npm run build -w geolibre-desktop + env: + GEOLIBRE_APP_BASE: ./ + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + VITE_PROTOMAPS_API_KEY: ${{ secrets.VITE_PROTOMAPS_API_KEY }} + VITE_GOOGLE_MAPS_API_KEY: ${{ secrets.VITE_GOOGLE_MAPS_API_KEY }} + GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }} + VITE_MAPILLARY_ACCESS_TOKEN: ${{ secrets.VITE_MAPILLARY_ACCESS_TOKEN || vars.VITE_MAPILLARY_ACCESS_TOKEN }} + VITE_GEOLIBRE_COLLAB_URL: wss://collab.geolibre.app + + - name: Build documentation + run: zensical build --strict + + - name: Add web demo to site + run: | + mkdir -p site/demo + cp -R apps/geolibre-desktop/dist/. site/demo/ + test -f site/demo/index.html + test -f site/demo/jupyterlite/lab/index.html + + - name: Offload oversized DuckDB WASM to CDN + # Cloudflare Pages rejects any single file > 25 MiB. The bundled DuckDB + # WASM modules (duckdb-eh ~35 MiB, duckdb-mvp ~40 MiB) exceed that, so we + # drop the local copies and redirect their hashed URLs to jsDelivr at the + # exact pinned version (byte-identical to the bundled file). This only + # affects the Cloudflare preview; GitHub Pages still serves them locally. + # Any OTHER oversized file is a hard error so we never ship a broken site. + run: | + set -euo pipefail + version=$(node -e "console.log(require('./node_modules/@duckdb/duckdb-wasm/package.json').version)") + echo "duckdb-wasm version: $version" + redirects=site/_redirects + touch "$redirects" + moved=0 + # 26214400 bytes = 25 MiB, Cloudflare Pages' exact per-file limit. + while IFS= read -r -d '' f; do + rel=${f#site} + base=$(basename "$f") + case "$base" in + duckdb-eh-*) cdn=duckdb-eh.wasm ;; + duckdb-mvp-*) cdn=duckdb-mvp.wasm ;; + duckdb-coi-*) cdn=duckdb-coi.wasm ;; + *) + echo "::error::Oversized file not handled by CDN redirect: $rel ($(du -h "$f" | cut -f1)). Cloudflare Pages rejects files > 25 MiB." + exit 1 ;; + esac + echo "$rel https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@${version}/dist/${cdn} 302" >> "$redirects" + rm "$f" + echo "redirect: $rel -> $cdn" + moved=$((moved + 1)) + done < <(find site -type f -size +26214400c -print0) + echo "offloaded $moved oversized file(s)" + echo "----- site/_redirects -----" + cat "$redirects" + + - name: Deploy to Cloudflare Pages + id: deploy + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + # --branch is anything other than the project's production branch, so + # every run here is a preview deployment with its own URL. + command: >- + pages deploy site + --project-name=geolibre-preview + --branch="${{ github.head_ref || github.ref_name }}" + --commit-dirty=true + + - name: Comment preview URL on PR + if: github.event_name == 'pull_request' + uses: actions/github-script@v9 + env: + DEPLOY_URL: ${{ steps.deploy.outputs.deployment-url }} + with: + script: | + const url = process.env.DEPLOY_URL; + if (!url) return; + const marker = ''; + const body = `${marker}\n### ⚡ Cloudflare Pages preview\n\n| Item | Value |\n| --- | --- |\n| Preview | ${url} |\n| Demo app | ${url}/demo/ |\n| Commit | \`${context.sha.slice(0, 7)}\` |`; + const { owner, repo } = context.repo; + const issue_number = context.issue.number; + const { data: comments } = await github.rest.issues.listComments({ owner, repo, issue_number, per_page: 100 }); + const existing = comments.find((c) => c.body && c.body.includes(marker)); + if (existing) { + await github.rest.issues.updateComment({ owner, repo, comment_id: existing.id, body }); + } else { + await github.rest.issues.createComment({ owner, repo, issue_number, body }); + } diff --git a/.github/workflows/deploy-collab.yml b/.github/workflows/deploy-collab.yml new file mode 100644 index 0000000..1d26a8f --- /dev/null +++ b/.github/workflows/deploy-collab.yml @@ -0,0 +1,31 @@ +name: Deploy collab + +on: + push: + branches: [main] + paths: + - "workers/collab/**" + - ".github/workflows/deploy-collab.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: deploy-collab-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy: + name: Deploy collaboration relay to Cloudflare Workers + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Deploy to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: workers/collab diff --git a/.github/workflows/deploy-tiles.yml b/.github/workflows/deploy-tiles.yml new file mode 100644 index 0000000..2e7d2ed --- /dev/null +++ b/.github/workflows/deploy-tiles.yml @@ -0,0 +1,47 @@ +name: Deploy tiles + +on: + push: + branches: [main] + paths: + - "workers/tiles/**" + - ".github/workflows/deploy-tiles.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: deploy-tiles-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy: + name: Deploy planetary tile proxy to Cloudflare Workers + runs-on: ubuntu-latest + # workflow_dispatch can target any branch; only ever deploy main to + # production so a manual run can't publish unmerged code. + if: github.ref == 'refs/heads/main' + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + # Unlike the viewer/collab workers, this one has a real runtime dependency + # (upng-js) that wrangler must bundle, so the workspace deps have to be + # installed before deploy. wrangler-action does not install for us. + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Deploy to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: workers/tiles diff --git a/.github/workflows/deploy-viewer.yml b/.github/workflows/deploy-viewer.yml new file mode 100644 index 0000000..6b71e7b --- /dev/null +++ b/.github/workflows/deploy-viewer.yml @@ -0,0 +1,31 @@ +name: Deploy viewer + +on: + push: + branches: [main] + paths: + - "workers/viewer/**" + - ".github/workflows/deploy-viewer.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: deploy-viewer-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy: + name: Deploy viewer proxy to Cloudflare Workers + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Deploy to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: workers/viewer diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml new file mode 100644 index 0000000..7ebe74e --- /dev/null +++ b/.github/workflows/labels.yml @@ -0,0 +1,27 @@ +name: Sync labels + +# Keeps the repository's labels in sync with .github/labels.yml so they are +# version-controlled and recreated automatically if deleted. The sync is +# additive: existing labels not listed in the manifest are left untouched. + +on: + push: + branches: [main] + paths: + - .github/labels.yml + - .github/workflows/labels.yml + workflow_dispatch: + +permissions: + issues: write + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: EndBug/label-sync@v2 + with: + config-file: .github/labels.yml + delete-other-labels: false + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/msix-store.yml b/.github/workflows/msix-store.yml new file mode 100644 index 0000000..94bcda0 --- /dev/null +++ b/.github/workflows/msix-store.yml @@ -0,0 +1,55 @@ +name: Build Store MSIX + +# Manually builds the Windows MSIX package for a Microsoft Store submission and +# uploads it as a workflow artifact. This does NOT touch any GitHub release; it +# exists so a Store-ready package can be produced on demand (e.g. to fix a +# rejected submission) without re-publishing a release. + +on: + workflow_dispatch: + +permissions: + contents: read + +jobs: + build: + name: Build MSIX + runs-on: windows-2025 + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: npm + cache-dependency-path: package-lock.json + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + + - name: Install frontend dependencies + run: npm ci + + - name: Build Tauri release binary + env: + NODE_OPTIONS: --max-old-space-size=4096 + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + # Strip the in-app "Check for updates" flow from this Store-only build + # so the package updates solely through the Store (Microsoft policy + # 10.2.5). Set only here — the release.yml installers keep the updater. + GEOLIBRE_STORE_BUILD: "1" + run: npm run tauri:build -- --no-sign + + - name: Build MSIX package + id: build_msix + shell: pwsh + run: ./packaging/msix/build-msix.ps1 + + - name: Upload MSIX artifact + uses: actions/upload-artifact@v4 + with: + name: geolibre-store-msix + path: ${{ steps.build_msix.outputs.msix_path }} + if-no-files-found: error diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..0e62971 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,105 @@ +name: Deploy Website + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build website and demo + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: | + requirements-docs.txt + apps/geolibre-desktop/jupyterlite/requirements.txt + + - name: Install documentation dependencies + run: python -m pip install -r requirements-docs.txt + + - name: Install JupyterLite build dependencies + # Lets the web build's `prebuild` hook generate the self-hosted + # JupyterLite site (served in the Notebook panel); without these the step + # skips and the demo's notebook 404s on the published site. + run: python -m pip install -r apps/geolibre-desktop/jupyterlite/requirements.txt + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: npm + cache-dependency-path: package-lock.json + + - name: Install frontend dependencies + run: npm ci + + - name: Build web demo + run: npm run build -w geolibre-desktop + env: + GEOLIBRE_APP_BASE: ./ + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + # Protomaps API key, baked into the client bundle so the New map + # dialog can offer Protomaps basemaps. When unset, those options are + # hidden (see getProtomapsStyleUrl in @geolibre/core). + VITE_PROTOMAPS_API_KEY: ${{ secrets.VITE_PROTOMAPS_API_KEY }} + # Google Photorealistic 3D Tiles and Google Street View use the same + # Maps key. Prefer the Vite-prefixed secret name, but also pass the + # bare name below so vite.config.ts can expose local/CI test setups. + VITE_GOOGLE_MAPS_API_KEY: ${{ secrets.VITE_GOOGLE_MAPS_API_KEY }} + GOOGLE_MAPS_API_KEY: ${{ secrets.GOOGLE_MAPS_API_KEY }} + # Mapillary access token, baked into the client bundle so the + # Mapillary/Street View plugins work without each visitor pasting a + # token. It ends up publicly readable in the served JS, so it is not a + # true secret; a repo variable works as well as a secret here. + VITE_MAPILLARY_ACCESS_TOKEN: ${{ secrets.VITE_MAPILLARY_ACCESS_TOKEN || vars.VITE_MAPILLARY_ACCESS_TOKEN }} + # Public relay URL (baked into the client bundle), not a secret. Lights + # up live collaboration; requires the workers/collab relay to be + # deployed (see docs/collaboration.md). + VITE_GEOLIBRE_COLLAB_URL: wss://collab.geolibre.app + + - name: Build documentation + run: zensical build --strict + + - name: Add web demo to site + run: | + mkdir -p site/demo + cp -R apps/geolibre-desktop/dist/. site/demo/ + test -f site/demo/index.html + test -f site/demo/jupyterlite/lab/index.html + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v5 + with: + path: site + + deploy: + name: Deploy to GitHub Pages + if: github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml new file mode 100644 index 0000000..ec0873e --- /dev/null +++ b/.github/workflows/publish-container.yml @@ -0,0 +1,70 @@ +name: Publish Container Image + +on: + push: + branches: [main] + tags: ["v*"] + pull_request: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + packages: write + +concurrency: + group: container-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + build: + name: Build and publish container image + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set image name + id: image + run: echo "name=ghcr.io/${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT" + + - name: Set up QEMU + if: github.event_name != 'pull_request' + uses: docker/setup-qemu-action@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v4 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: metadata + uses: docker/metadata-action@v5 + with: + images: ${{ steps.image.outputs.name }} + tags: | + type=ref,event=branch + type=ref,event=tag + type=sha,prefix=sha- + type=raw,value=latest,enable={{is_default_branch}} + + - name: Build and publish image + uses: docker/build-push-action@v7 + with: + context: . + file: Dockerfile + push: ${{ github.event_name != 'pull_request' }} + platforms: ${{ github.event_name == 'pull_request' && 'linux/amd64' || 'linux/amd64,linux/arm64' }} + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} + build-args: | + VITE_GEE_OAUTH_CLIENT_ID=${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + VITE_MAPILLARY_ACCESS_TOKEN=${{ secrets.VITE_MAPILLARY_ACCESS_TOKEN || vars.VITE_MAPILLARY_ACCESS_TOKEN }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/publish-python.yml b/.github/workflows/publish-python.yml new file mode 100644 index 0000000..b652afe --- /dev/null +++ b/.github/workflows/publish-python.yml @@ -0,0 +1,99 @@ +name: Publish Python package + +on: + release: + types: [published] + pull_request: + branches: [main] + paths: + - "python/**" + - "apps/geolibre-desktop/src/**" + - "packages/**" + - "scripts/build-embed.mjs" + - ".github/workflows/publish-python.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: publish-python-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: Test Python package + runs-on: ubuntu-22.04 + strategy: + matrix: + # Cover the declared minimum (requires-python >= 3.11) and current + # releases so newer-only syntax can't slip in unnoticed. + python-version: ["3.11", "3.12", "3.13", "3.14"] + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + + # Tests cover the pure-Python builders and do not need the bundled web + # app, so install only the runtime/test deps and run against the sources. + - name: Install test dependencies + run: python -m pip install anywidget traitlets pytest + + - name: Run tests + run: python -m pytest python/tests + env: + PYTHONPATH: python/src + + publish: + name: Build wheel and publish + runs-on: ubuntu-22.04 + needs: test + if: github.event_name == 'release' + environment: pypi + permissions: + contents: read + id-token: write # PyPI Trusted Publishing (OIDC) + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + cache: npm + cache-dependency-path: package-lock.json + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + + - name: Install frontend dependencies + run: npm ci + + - name: Install build backend + run: python -m pip install build + + - name: Build wheel and sdist + working-directory: python + run: python -m build + env: + # Force a fresh embed build so the published wheel always carries the + # current app bundle. + GEOLIBRE_FORCE_JS_BUILD: "1" + NODE_OPTIONS: --max-old-space-size=4096 + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1 + with: + packages-dir: python/dist diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..bd08dc6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,361 @@ +name: Release Desktop App + +on: + release: + types: [published] + +permissions: + contents: write + +concurrency: + group: release-${{ github.event.release.tag_name }} + cancel-in-progress: false + +jobs: + build: + name: Build ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - name: Linux x64 + os: ubuntu-22.04 + args: --bundles deb,rpm,appimage + rust-targets: "" + + - name: Windows x64 + os: windows-2025 + args: --no-sign + rust-targets: "" + + # macOS bundles are Developer ID signed and notarized via the + # APPLE_* secrets wired into the tauri-action step below, so users can + # open the DMG without stripping the quarantine attribute. Do not pass + # --no-sign here. + - name: macOS Apple Silicon + os: macos-latest + args: --target aarch64-apple-darwin + rust-targets: aarch64-apple-darwin + + - name: macOS Intel + os: macos-latest + args: --target x86_64-apple-darwin + rust-targets: x86_64-apple-darwin + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: lts/* + cache: npm + cache-dependency-path: package-lock.json + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + + - name: Install macOS Rust target + if: matrix.rust-targets != '' + run: rustup target add ${{ matrix.rust-targets }} + + - name: Install Linux dependencies + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + curl \ + file \ + libayatana-appindicator3-dev \ + libfuse2 \ + librsvg2-dev \ + libssl-dev \ + libwebkit2gtk-4.1-dev \ + libxdo-dev \ + patchelf \ + rpm \ + wget + + - name: Install frontend dependencies + run: npm ci + + - name: Build and upload release assets + uses: tauri-apps/tauri-action@v0.6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_OPTIONS: --max-old-space-size=4096 + VITE_GEE_OAUTH_CLIENT_ID: ${{ secrets.VITE_GEE_OAUTH_CLIENT_ID }} + # macOS Developer ID signing + notarization. The secrets only resolve + # to real values on macOS runners; Linux/Windows get empty strings so + # the credentials are never placed in their process environment. + # APPLE_SIGNING_IDENTITY defaults to "-" when the secret is absent + # (e.g. a fork without secrets) so macOS still ad-hoc signs rather + # than failing the build now that tauri.conf.json no longer pins it. + APPLE_CERTIFICATE: ${{ runner.os == 'macOS' && secrets.APPLE_CERTIFICATE || '' }} + APPLE_CERTIFICATE_PASSWORD: ${{ runner.os == 'macOS' && secrets.APPLE_CERTIFICATE_PASSWORD || '' }} + APPLE_SIGNING_IDENTITY: ${{ runner.os == 'macOS' && (secrets.APPLE_SIGNING_IDENTITY || '-') || '' }} + APPLE_ID: ${{ runner.os == 'macOS' && secrets.APPLE_ID || '' }} + APPLE_PASSWORD: ${{ runner.os == 'macOS' && secrets.APPLE_PASSWORD || '' }} + APPLE_TEAM_ID: ${{ runner.os == 'macOS' && secrets.APPLE_TEAM_ID || '' }} + with: + projectPath: apps/geolibre-desktop + releaseId: ${{ github.event.release.id }} + tagName: ${{ github.event.release.tag_name }} + args: ${{ matrix.args }} + uploadPlainBinary: true + + - name: Build MSIX package + id: build_msix + if: runner.os == 'Windows' + shell: pwsh + run: ./packaging/msix/build-msix.ps1 + + - name: Upload MSIX release asset + if: runner.os == 'Windows' + shell: pwsh + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + $msix = "${{ steps.build_msix.outputs.msix_path }}" + if (-not (Test-Path $msix)) { + throw "No MSIX package was created at '$msix'." + } + gh release upload "${{ github.event.release.tag_name }}" "$msix" --clobber + + - name: Build portable zip + id: build_portable + if: runner.os == 'Windows' + shell: pwsh + run: ./packaging/portable/build-portable.ps1 + + - name: Upload portable zip release asset + if: runner.os == 'Windows' + shell: pwsh + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + $portable = "${{ steps.build_portable.outputs.portable_path }}" + if (-not (Test-Path $portable)) { + throw "No portable zip was created at '$portable'." + } + gh release upload "${{ github.event.release.tag_name }}" "$portable" --clobber + + homebrew: + name: Update Homebrew cask + needs: build + runs-on: ubuntu-latest + # The primary cask is in the official homebrew/homebrew-cask repo, which + # BrewTestBot auto-bumps via livecheck. This job only updates the self-hosted + # tap (opengeos/homebrew-geolibre), kept as a fallback. + # Serialise tap pushes so two close releases can't race on a non-fast-forward. + concurrency: + group: homebrew-tap-update + cancel-in-progress: false + # Only update the tap for full releases, not prereleases. + if: ${{ !github.event.release.prerelease }} + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Compute DMG checksums + id: checksums + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ github.event.release.tag_name }} + run: | + version="${TAG#v}" + arm="GeoLibre.Desktop_${version}_aarch64.dmg" + intel="GeoLibre.Desktop_${version}_x64.dmg" + gh release download "$TAG" --repo "$GITHUB_REPOSITORY" \ + --pattern "$arm" --pattern "$intel" --dir dmgs + { + echo "version=$version" + echo "sha_arm=$(sha256sum "dmgs/$arm" | awk '{print $1}')" + echo "sha_intel=$(sha256sum "dmgs/$intel" | awk '{print $1}')" + } >> "$GITHUB_OUTPUT" + + - name: Check out Homebrew tap + uses: actions/checkout@v6 + with: + repository: opengeos/homebrew-geolibre + token: ${{ secrets.HOMEBREW_TAP_TOKEN }} + path: tap + persist-credentials: false + + - name: Render and commit cask + env: + VERSION: ${{ steps.checksums.outputs.version }} + SHA256_ARM: ${{ steps.checksums.outputs.sha_arm }} + SHA256_INTEL: ${{ steps.checksums.outputs.sha_intel }} + HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} + run: | + mkdir -p tap/Casks + scripts/render-homebrew-cask.sh > tap/Casks/geolibre.rb + cd tap + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add Casks/geolibre.rb + # --cached so an initially untracked cask (fresh tap) is still detected. + if git diff --cached --quiet; then + echo "Cask already up to date for ${VERSION}." + exit 0 + fi + git commit -m "geolibre ${VERSION}" + git push "https://x-access-token:${HOMEBREW_TAP_TOKEN}@github.com/opengeos/homebrew-geolibre.git" HEAD:main + + aur: + name: Publish AUR package + needs: build + runs-on: ubuntu-latest + # Fully isolated from the asset build and the Homebrew job: it only `needs` + # build for the .deb, nothing depends on it, and continue-on-error means a + # failed AUR push leaves the release (and its other publish targets) green. + continue-on-error: true + # Serialise AUR pushes so two close releases can't race on a non-fast-forward. + concurrency: + group: aur-publish + cancel-in-progress: false + # Only publish for full releases, not prereleases. + if: ${{ !github.event.release.prerelease }} + env: + # Surfaced as an env var so steps can skip cleanly when the secret is + # absent (forks, or before the maintainer configures it). + AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }} + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Render PKGBUILD from the release .deb + if: ${{ env.AUR_SSH_PRIVATE_KEY != '' }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ github.event.release.tag_name }} + run: | + version="${TAG#v}" + deb="GeoLibre.Desktop_${version}_amd64.deb" + gh release download "$TAG" --repo "$GITHUB_REPOSITORY" --pattern "$deb" --dir debs + sha="$(sha256sum "debs/$deb" | awk '{print $1}')" + mkdir -p aur + VERSION="$version" SHA256_AMD64="$sha" REPO="$GITHUB_REPOSITORY" \ + scripts/render-aur-pkgbuild.sh > aur/PKGBUILD + echo "----- rendered PKGBUILD -----" + cat aur/PKGBUILD + + - name: Publish to the AUR + if: ${{ env.AUR_SSH_PRIVATE_KEY != '' }} + # Pinned to a commit SHA (not a mutable tag) because this step receives + # the AUR SSH private key. Update deliberately when bumping the version. + uses: KSXGitHub/github-actions-deploy-aur@da03e160361ce01bf087e790b6ffd196d7dccff7 # v4.1.3 + with: + pkgname: geolibre-bin + pkgbuild: aur/PKGBUILD + commit_username: github-actions[bot] + commit_email: github-actions[bot]@users.noreply.github.com + ssh_private_key: ${{ env.AUR_SSH_PRIVATE_KEY }} + commit_message: "Update to ${{ github.event.release.tag_name }}" + allow_empty_commits: false + updpkgsums: false + + copr: + name: Publish Fedora COPR package + needs: build + runs-on: ubuntu-latest + # Same isolation as the AUR job: only needs build for the .rpm, nothing + # depends on it, continue-on-error keeps a COPR failure from reddening the + # release, and it skips itself when the API token is absent (forks). + continue-on-error: true + concurrency: + group: copr-publish + cancel-in-progress: false + if: ${{ !github.event.release.prerelease }} + env: + COPR_API_TOKEN: ${{ secrets.COPR_API_TOKEN }} + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Build SRPM and submit to COPR + if: ${{ env.COPR_API_TOKEN != '' }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ github.event.release.tag_name }} + COPR_PROJECT: giswqs/geolibre + run: | + version="${TAG#v}" + # Release date (YYYY-MM-DD) for the metainfo and %changelog. + release_date="$(gh release view "$TAG" --repo "$GITHUB_REPOSITORY" \ + --json publishedAt --jq '.publishedAt' | cut -dT -f1)" + + sudo apt-get update -qq + sudo apt-get install -y -qq rpm appstream + pipx install copr-cli + # copr-cli imports `rich` but does not always declare it as a dependency. + pipx inject copr-cli rich + + # COPR API token config from the secret. Create it with restrictive + # permissions atomically (umask), not chmod-after-write. + mkdir -p ~/.config + (umask 177; printf '%s\n' "$COPR_API_TOKEN" > ~/.config/copr) + + mkdir -p ~/rpmbuild/SPECS ~/rpmbuild/SOURCES + VERSION="$version" DATE="$release_date" \ + scripts/render-linux-metainfo.sh > ~/rpmbuild/SOURCES/org.geolibre.desktop.metainfo.xml + VERSION="$version" DATE="$release_date" REPO="$GITHUB_REPOSITORY" \ + scripts/render-copr-spec.sh > ~/rpmbuild/SPECS/geolibre.spec + # The spec ships the project license as Source2. + cp LICENSE ~/rpmbuild/SOURCES/ + + # Validate the metainfo in CI, independently of COPR's mock build. + appstreamcli validate --no-net ~/rpmbuild/SOURCES/org.geolibre.desktop.metainfo.xml + + # The upstream RPM is Source0; rpmbuild needs it locally to build the + # SRPM (it does not fetch URLs). + gh release download "$TAG" --repo "$GITHUB_REPOSITORY" \ + --pattern "GeoLibre.Desktop-${version}-1.x86_64.rpm" --dir ~/rpmbuild/SOURCES + # Log the checksum of the repackaged RPM for auditability. + sha256sum ~/rpmbuild/SOURCES/"GeoLibre.Desktop-${version}-1.x86_64.rpm" \ + | tee -a "$GITHUB_STEP_SUMMARY" + + srpm="$(rpmbuild -bs ~/rpmbuild/SPECS/geolibre.spec \ + --define "_topdir $HOME/rpmbuild" | sed -n 's/^Wrote: //p')" + [[ -n "$srpm" ]] || { echo "::error::rpmbuild produced no SRPM path"; exit 1; } + echo "Built SRPM: $srpm" + copr-cli build --nowait "$COPR_PROJECT" "$srpm" + + winget: + name: Publish to winget + needs: build + runs-on: ubuntu-latest + # Isolated like the AUR/COPR jobs: only needs build for the release assets, + # nothing depends on it, continue-on-error keeps a winget hiccup from + # failing the release, and it skips itself when WINGET_TOKEN is unset (forks, + # or before the maintainer configures it). + continue-on-error: true + concurrency: + group: winget-publish + cancel-in-progress: false + # Only publish for full releases, not prereleases. + if: ${{ !github.event.release.prerelease }} + env: + WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }} + steps: + - name: Submit OpenGeos.GeoLibre to winget-pkgs + if: ${{ env.WINGET_TOKEN != '' }} + # Pinned to a commit SHA (not the mutable v2 tag) because this step + # receives a token with access to the winget-pkgs fork. winget-releaser + # derives the version from the release tag and uses komac under the hood. + uses: vedantmgoyal9/winget-releaser@4ffc7888bffd451b357355dc214d43bb9f23917e # v2 + with: + identifier: OpenGeos.GeoLibre + installers-regex: '_x64-setup\.exe$' + fork-user: giswqs + token: ${{ env.WINGET_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c6d70f --- /dev/null +++ b/.gitignore @@ -0,0 +1,65 @@ +node_modules/ +dist/ +dist-embed/ +# Generated by `npm run build:jupyterlite` (best-effort prebuild); not committed. +apps/geolibre-desktop/public/jupyterlite/ +# JupyterLite (doit) build cache, written to the working dir during the build. +.jupyterlite.doit.db +# The kernel-side geolibre client and the Welcome example are staged here from +# their canonical backend copies by scripts/build-jupyterlite.mjs. +apps/geolibre-desktop/jupyterlite/files/geolibre.py +apps/geolibre-desktop/jupyterlite/files/Welcome.ipynb +site/ +target/ +.tauri/ +*.log +.DS_Store +.env +.env.local +__pycache__/ +*.pyc + +# Generated by the copy-vector-ops Vite plugin from the backend source of truth +# (backend/geolibre_server/geolibre_server/vector_ops.py). +apps/geolibre-desktop/src/lib/pyodide/vector_ops.generated.py + +# Generated by the copy-rtl-text Vite plugin from @mapbox/mapbox-gl-rtl-text. +apps/geolibre-desktop/src/lib/vendor/mapbox-gl-rtl-text.generated.js + +# Generated by the copy-cesium-assets Vite plugin from node_modules/cesium. +apps/geolibre-desktop/public/cesium/ +.venv/ +*.egg-info/ +.pytest_cache/ +# Coverage artifacts (pytest-cov data file, HTML/XML reports, c8 output) +.coverage +.coverage.* +coverage/ +htmlcov/ +coverage.xml +.idea/ +.vscode/ +*.tsbuildinfo +**/src-tauri/gen/ +.playwright-cli/ +.claude/ +uv.lock + +# Playwright E2E artifacts +test-results/ +playwright-report/ +blob-report/ +.playwright/ +private/ + +# Documentation screenshots are hosted on Cloudflare R2 (data.geolibre.app/images), +# not committed to the repo, to save space. +docs/assets/screenshots/ +python/examples/my-map.geolibre.json + +# Cloudflare Workers local dev state (wrangler dev / miniflare) +.wrangler/ + +# Rendered Homebrew cask, emitted to the working dir by scripts/render-*-cask.sh +# for submission to a tap / homebrew-cask; not committed to this repo. +/geolibre.rb diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..9e280f4 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,40 @@ +ci: + skip: [npm-build, eslint] + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-json + # This E2E fixture is intentionally malformed JSON — it drives the + # error-handling spec that asserts the app rejects a broken drop. + exclude: ^e2e/fixtures/malformed\.geojson$ + - id: check-added-large-files + args: ["--maxkb=1024", "--enforce-all"] + - id: check-merge-conflict + - id: check-toml + - id: check-yaml + args: ["--unsafe"] + - id: end-of-file-fixer + - id: mixed-line-ending + args: ["--fix=lf"] + - id: trailing-whitespace + + - repo: local + hooks: + - id: eslint + name: eslint + entry: npm run lint + language: system + pass_filenames: false + types_or: [ts, tsx, javascript, jsx] + - id: npm-build + name: npm build + entry: npm run build + language: system + pass_filenames: false + + - repo: https://github.com/kynan/nbstripout + rev: 0.9.1 + hooks: + - id: nbstripout diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..b7b942e --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,24 @@ +cff-version: 1.2.0 +title: GeoLibre +message: "If you use this software, please cite it using the metadata from this file." +type: software +abstract: "GeoLibre is a free and open-source, lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data across web browsers, desktop applications, mobile devices, and Jupyter notebooks while keeping data local and private." +authors: + - given-names: Qiusheng + family-names: Wu + email: giswqs@gmail.com + affiliation: "University of Tennessee, Knoxville, USA" + orcid: "https://orcid.org/0000-0001-5437-4073" +version: 2.0.0 +date-released: 2026-07-10 +doi: 10.5281/zenodo.20785400 +repository-code: "https://github.com/opengeos/GeoLibre" +url: "https://geolibre.app" +license: MIT +keywords: + - GIS + - geospatial + - remote sensing + - data visualization + - MapLibre + - Python diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..8123859 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,94 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Repository shape + +GeoLibre is a single **npm workspaces monorepo** (`apps/*`, `packages/*`, `workers/*`) plus two non-npm components: a Python FastAPI sidecar (`backend/geolibre_server`) and a separate Python package (`python/`, the `geolibre` Jupyter anywidget). One `npm install` at the root wires up every JS workspace. Use **npm** (the repo tracks `package-lock.json`), Node **22+**. + +The same React app ships three ways: native desktop via **Tauri v2** (`apps/geolibre-desktop/src-tauri`), a browser web build served by nginx (Docker), and embedded in Jupyter (the `python/` package bundles a build of the web app into its wheel). + +## Commands + +```bash +npm run dev # web dev server → http://localhost:5173 +npm run tauri:dev # desktop app (required for filesystem dialogs, local MBTiles, local raster reads) +npm run build # production web build → apps/geolibre-desktop/dist/ +npm run tauri:build # desktop installers → apps/geolibre-desktop/src-tauri/target/release/bundle/ +npm run typecheck # alias for the full build (tsc -b && vite build) — writes to dist/, not a pure type-check +npm run ci # full local gate: build + frontend + worker + backend + rust check +``` + +Tests: + +```bash +npm run test:frontend # node --test over tests/*.test.ts (tsx loader) +npm run test:frontend:coverage # same, plus a per-file coverage summary (Node built-in) +node --import tsx --test tests/.test.ts # a single frontend test file +npm run test:backend # pytest backend/geolibre_server/tests +npm run test:backend:coverage # same, plus a pytest-cov term-missing report +python -m pytest backend/geolibre_server/tests/test_x.py::test_y # a single backend test +npm run test:worker # typecheck workers/viewer +npm run test:e2e # Playwright smoke tests (e2e/) against the built web app +npm run check:rust # cargo check the Tauri crate +``` + +The `:coverage` variants run the same suites and print a coverage summary; CI +runs them so every build reports coverage. They are now **gated on a floor**: +`test:frontend:coverage` fails below 78% lines / 78% branches / 63% functions, +and `test:backend:coverage` fails below 55% (`--cov-fail-under`). The floors sit +a few points under the current numbers as a **ratchet** — regressions fail CI, +and when coverage rises comfortably above a floor, raise the floor to lock in the +gain. The frontend +report only counts files a test actually imports, so a module with no test does +not appear at all rather than as 0%. The backend coverage run (and `npm run ci`, +which calls the `:coverage` variants) needs `pytest-cov` from the backend `dev` +extra. Install the **`test`** extra to run the *full* backend suite — without +the optional engines (geopandas/rasterio/sedona/httpx) the vector/raster/SQL/ML +tests skip themselves and CI is green but hollow: +`pip install -e "backend/geolibre_server[test]"`. + +`npm run test:e2e` builds the web app, serves it with `vite preview`, and drives +it with Playwright (`@playwright/test`). First run: `npx playwright install +chromium`. The webServer reuses an already-running preview locally and rebuilds +in CI; add specs under `e2e/`. + +Dependencies are watched two ways: **Dependabot** (`.github/dependabot.yml`) +opens grouped weekly update PRs for npm, pip (backend + `python/`), cargo, and +Actions, and the CI **`audit` job** runs `npm audit --audit-level=high` +(blocking) plus a non-blocking `pip-audit` of the resolved backend environment. + +The `python/` package has its own pytest suite (`cd python && pytest`) and is built into a wheel via `npm run build:embed` (produces `apps/geolibre-desktop/dist-embed`, consumed by `python/hatch_build.py`). Its version is dynamic, sourced from `python/src/geolibre/__init__.py`. + +## Pre-commit + +`.pre-commit-config.yaml` includes a **local `npm-build` hook**, so `pre-commit run` compiles the whole app — it is slow and can touch unrelated build state. Scope it to the files you changed: `pre-commit run --files `. Run it before pushing. + +## Architecture (the parts that span files) + +The app is **store-driven**. `@geolibre/core` holds the Zustand store, domain types, and the `.geolibre.json` project schema — it is the single source of truth. Data flows one way: + +1. Data enters through the Add Data menus, Tauri dialogs, the browser file picker, drag-and-drop, or a plugin control. +2. Local vector files that MapLibre can't render directly are converted to GeoJSON in-browser by **DuckDB-WASM Spatial** (`INSTALL spatial; LOAD spatial;` → `ST_Read`; GeoParquet via the Parquet reader; zipped Shapefiles via `shpjs` with a DuckDB fallback; KMZ unzipped client-side). The result calls `addGeoJsonLayer`. +3. Tile/service/raster/ArcGIS/MBTiles/plugin layers become `GeoLibreLayer` records. +4. `MapCanvas` subscribes to `layers`; `MapController.syncLayers` (`@geolibre/map`) reconciles MapLibre sources/layers and the layer control. **You don't mutate MapLibre directly from UI** — you change store state and let sync apply it. + +Rendering is MapLibre GL JS in the webview, with **deck.gl** for raster/point-cloud/3D overlays. + +**Packages:** `@geolibre/core` (types, project format, store) · `@geolibre/map` (MapLibre lifecycle + layer sync) · `@geolibre/ui` (shadcn-style primitives) · `@geolibre/processing` (client-side algorithm registry) · `@geolibre/plugins` (plugin interface + built-in plugins) · `geolibre-desktop` (shell layout, Tauri I/O, composition). + +**Plugins:** Built-in plugins live in `packages/plugins/src/plugins/`, are exported from that package's `index.ts`, and registered in `apps/geolibre-desktop/src/hooks/usePlugins.ts`. External plugins load from zips or a `plugin.json` manifest; bundled drop-ins under `apps/geolibre-desktop/public/plugins//` bake into both web and desktop builds. See `docs/plugin-api.md`. + +**Python sidecar** (`backend/geolibre_server`, FastAPI on `127.0.0.1:8765`): backs the Whitebox toolbox, format Conversion tools, and Raster tools (rasterio). The desktop app starts it on demand. It is **optional** — Vector tools (Processing → Vector) run client-side with Turf.js and only use the sidecar's `/vector` endpoints (GeoPandas/Shapely) when the optional `vector` extra is installed; the dialog falls back to the client engine via `/vector/status`. Optional extras: `conversion`, `vector`, `raster`. Some conversions (PMTiles, Whitebox) are amd64-only. + +The browser build proxies the sidecar at `/sidecar` (same-origin, no CORS); confined to `GEOLIBRE_CONVERSION_ROOTS` (default `/data`). Local MBTiles use a custom MapLibre protocol backed by Tauri commands. + +## Conventions + +- Never commit directly to `main`; branch and open a PR. +- Tauri CSP allowlists tile/style hosts (OpenFreeMap, CARTO) — new external map/tile hosts must be added there. +- Map/tile-host CORS for selected release assets is handled by a dev-server raster proxy. +- For MapLibre control styling fixes, add scoped overrides in `apps/geolibre-desktop/src/index.css`, never edit `node_modules`. +- The Processing **menu** (`ProcessingMenu.tsx`) renders from a checked-in, auto-generated catalog, `apps/geolibre-desktop/src/lib/whitebox-menu-catalog.ts` (do not hand-edit). Whenever `geolibre-wasm` is bumped (in `packages/processing/package.json`) — including Dependabot PRs — run `node scripts/gen-whitebox-menu-catalog.mjs` and commit the result, or new/renamed WASM tools silently miss the menu (the Processing **dialog** lists them dynamically, so the gap only shows in the menu). +- UI strings are translatable via **react-i18next**; catalogs live in `apps/geolibre-desktop/src/i18n/locales/*.json` (`en.json` is the source of truth, typed by `i18next.d.ts`). Use `t()` for new user-facing strings; a `?locale`/`?lang` query param sets the embed language. See `docs/i18n.md`. +- Reference docs: `docs/architecture.md`, `docs/project-format.md`, `docs/plugin-api.md`, `docs/python.md`, `docs/i18n.md`, `docs/contributing.md`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..7463320 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,28 @@ +# Contributing to GeoLibre + +Thanks for your interest in improving GeoLibre. The full contributing guide, +including development setup, the repository layout, the quality gate, and the +pull request workflow, lives in the documentation: + +**** (source: [`docs/contributing.md`](docs/contributing.md)) + +## Quick start + +```bash +git clone https://github.com/opengeos/GeoLibre.git +cd GeoLibre +npm install +npm run dev # web build at http://localhost:5173 +``` + +Before opening a pull request: + +```bash +pre-commit run --all-files +npm run ci +``` + +Branch off `main` (never commit to it directly), keep changes focused, follow +[Conventional Commits](https://www.conventionalcommits.org/) for messages, and +open your pull request against `main`. Found a bug or have an idea? Open an +[issue](https://github.com/opengeos/GeoLibre/issues). diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..00078f5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,101 @@ +# Run the build stage on the builder's native platform: the output is +# arch-independent static files, so emulating arm64 with QEMU here only +# slows down multi-arch builds without changing the result. +# ($BUILDPLATFORM is a Docker-provided automatic ARG, set by BuildKit.) +FROM --platform=$BUILDPLATFORM node:22-alpine AS build + +WORKDIR /app + +# Copy every workspace member's package.json before npm ci so the install +# layer is cached. Adding a new package under apps/ or packages/ requires +# adding its package.json here, or npm ci fails with a missing workspace. +COPY package.json package-lock.json ./ +COPY apps/geolibre-desktop/package.json apps/geolibre-desktop/package.json +COPY packages/core/package.json packages/core/package.json +COPY packages/map/package.json packages/map/package.json +COPY packages/plugins/package.json packages/plugins/package.json +COPY packages/processing/package.json packages/processing/package.json +COPY packages/ui/package.json packages/ui/package.json + +RUN npm ci + +COPY . . + +ARG GEOLIBRE_APP_BASE=/ +ARG VITE_GEE_OAUTH_CLIENT_ID= +ARG VITE_MAPILLARY_ACCESS_TOKEN= +ENV GEOLIBRE_APP_BASE=${GEOLIBRE_APP_BASE} +ENV VITE_GEE_OAUTH_CLIENT_ID=${VITE_GEE_OAUTH_CLIENT_ID} +ENV VITE_MAPILLARY_ACCESS_TOKEN=${VITE_MAPILLARY_ACCESS_TOKEN} + +RUN npm run build + +# Runtime image bundles the static web app (served by nginx) and the optional +# Python conversion/Whitebox sidecar (uvicorn), reverse-proxied at /sidecar. +# A glibc base (not alpine/musl) is required for the prebuilt geo wheels +# (duckdb, rasterio/rio-cogeo, freestiler, whitebox-workflows). +FROM python:3.12-slim-bookworm AS runtime + +# TARGETARCH is provided by BuildKit (amd64 / arm64). +ARG TARGETARCH + +# libexpat1 is a runtime dependency of rasterio (pulled in by rio-cogeo) that +# the slim base image does not ship. openssl provides `openssl passwd` used by +# entrypoint.sh to hash the optional Basic Auth password. +RUN apt-get update \ + && apt-get install -y --no-install-recommends nginx libexpat1 openssl \ + && rm -rf /var/lib/apt/lists/* \ + && rm -f /etc/nginx/sites-enabled/default + +# Install the sidecar package plus the core conversion stack. duckdb and +# rio-cogeo (rasterio) publish linux/arm64 wheels, so Vector->GeoParquet, +# CSV->GeoParquet and Raster->COG work on both architectures. +COPY backend/geolibre_server /opt/geolibre_server +RUN pip install --no-cache-dir /opt/geolibre_server \ + && pip install --no-cache-dir "duckdb>=1.1.0" "rio-cogeo>=5.0.0" + +# freestiler (PMTiles) and whitebox-workflows publish no linux/arm64 wheels, so +# they are installed on amd64 only. On arm64 those tools report unavailable +# while the other conversions keep working. +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + pip install --no-cache-dir "freestiler>=0.1.0" "whitebox-workflows>=2.0.2"; \ + else \ + echo "Skipping freestiler + whitebox-workflows on $TARGETARCH (no wheels)"; \ + fi + +# Point the sidecar at this interpreter so it skips the managed-runtime +# bootstrap and uses the prebaked packages. Confine conversion reads/writes to +# /data by default: the sidecar is reachable same-origin through the nginx +# proxy, so without this an arbitrary same-origin caller could read or +# overwrite container paths. Mount input files at /data (read-write for +# outputs); override GEOLIBRE_CONVERSION_ROOTS to widen or disable. +ENV GEOLIBRE_CONVERSION_PYTHON=/usr/local/bin/python \ + WBW_EXTERNAL_PYTHON=/usr/local/bin/python \ + GEOLIBRE_CONVERSION_ROOTS=/data +RUN mkdir -p /data + +# WARNING: docker/nginx.conf's CSP allows http://localhost:* / http://127.0.0.1:* +# (and ws:// equivalents) in connect-src for local-dev data sources (PMTiles/COGs +# from a dev server on another port). This image is intended for local/single-user +# use; on a public host those allowances let the served JS probe each visitor's +# loopback. Drop them from the CSP before publishing publicly. +# Ship nginx.conf as an immutable template (not loaded directly). entrypoint.sh +# renders it to /etc/nginx/conf.d/default.conf on every boot, substituting the +# per-launch sidecar token, so a container restart never keeps a stale token. +COPY docker/nginx.conf /etc/nginx/nginx.conf.template +COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod +x /usr/local/bin/entrypoint.sh \ + # Default auth snippet (disabled). entrypoint.sh rewrites it at start based + # on GEOLIBRE_AUTH_USER/GEOLIBRE_AUTH_PASSWORD; baking a valid default keeps + # `nginx -t` and non-entrypoint invocations working. + && printf '# Basic Auth disabled (GEOLIBRE_AUTH_USER/GEOLIBRE_AUTH_PASSWORD not set).\n' > /etc/nginx/geolibre-auth.conf +COPY --from=build /app/apps/geolibre-desktop/dist /usr/share/nginx/html + +EXPOSE 80 + +# /healthz is exempt from the optional Basic Auth, so the check keeps passing +# when GEOLIBRE_AUTH_USER/GEOLIBRE_AUTH_PASSWORD are set. +HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \ + CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1/healthz', timeout=4).status==200 else 1)" || exit 1 + +CMD ["/usr/local/bin/entrypoint.sh"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8e06999 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Qiusheng Wu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..750de0c --- /dev/null +++ b/README.md @@ -0,0 +1,647 @@ +# GeoLibre + +[![Launch GeoLibre Web](https://img.shields.io/badge/Launch-GeoLibre%20Web-green.svg)](https://web.geolibre.app/?url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json) +[![GeoLibre shared project](https://img.shields.io/badge/GeoLibre-share-green.svg)](https://share.geolibre.app) +[![GeoLibre plugins](https://img.shields.io/badge/GeoLibre-plugins-green.svg)](https://plugins.geolibre.app) +[![image](https://img.shields.io/pypi/v/geolibre.svg)](https://pypi.python.org/pypi/geolibre) +[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/opengeos/GeoLibre/blob/main/python/examples/getting-started.ipynb) +[![image](https://img.shields.io/conda/vn/conda-forge/geolibre.svg)](https://anaconda.org/conda-forge/geolibre) +[![Conda Recipe](https://img.shields.io/badge/recipe-geolibre-green.svg)](https://github.com/conda-forge/geolibre-feedstock) +[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/p/github/opengeos/geolibre) +[![Open in StackBlitz](https://img.shields.io/badge/Open%20in-StackBlitz-blue?logo=stackblitz)](https://stackblitz.com/github/opengeos/geolibre) +[![Microsoft Store](https://img.shields.io/badge/Microsoft%20Store-GeoLibre-0078D4?logo=windows)](https://apps.microsoft.com/detail/9nwt67rv531x) +[![AUR version](https://img.shields.io/aur/version/geolibre-bin?logo=archlinux&label=AUR)](https://aur.archlinux.org/packages/geolibre-bin) +[![FlatPark](https://img.shields.io/badge/FlatPark-GeoLibre-4A90D9?logo=flatpak)](https://flatpark.org/apps/app.geolibre.GeoLibre/) +[![image](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20785400.svg)](https://doi.org/10.5281/zenodo.20785400) + + +A free and open-source, lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs everywhere you do, in the web browser, on the desktop, on mobile, and inside Jupyter notebooks, all while keeping your data local and private. + +GeoLibre is built with **Tauri v2**, **React**, **TypeScript**, **MapLibre GL JS**, **DuckDB-WASM Spatial**, and **deck.gl**. The same workspace runs as a native desktop app, a native Android app, in any modern web browser, and adapts responsively to mobile and small screens. + +[![GeoLibre demo showing 3D Tiles rendered on a MapLibre map](https://files.opengeos.org/GeoLibre-demo.webp)](https://web.geolibre.app/?url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json) + +**Video tutorials:** + +- [GeoLibre 1.0: A Free, Open-Source Cloud-Native GIS That Runs Anywhere (Browser, Desktop & Jupyter)](https://youtu.be/87Cm0QagtxI) +- [Geoprocessing in the Browser: 700+ Free GIS Tools in GeoLibre, Zero Install](https://youtu.be/W32bIQO_nG8) + +## Features (v2.0) + +- Runs across desktop (Tauri), web (browser), native Android (Tauri v2 mobile), and mobile or small screens, with a responsive, touch-friendly layout that adapts menus, dialogs, and panels (on phones the Layers/Style panels overlay the map as slide-over sheets), plus per-panel visibility through Layout settings +- MapLibre map workspace with OpenFreeMap, Protomaps, EOX Sentinel-2 cloudless, and Openbasiskaart basemaps, planetary basemaps for Mars and the Moon (OpenPlanetaryMap) plus Mercury, Venus, the Galilean moons (Io, Europa, Ganymede, Callisto), Titan, Pluto, and Charon (USGS Astrogeology, reprojected to Web Mercator by the tiles Worker) with a per-project ellipsoid whose radius drives distance, area, and scale measurements and a planet switcher in the Layers panel, stacking of multiple raster basemaps, blank background support, double-click to swap the core basemap from the layer panel, a right-click context menu for reading coordinates and quick actions, a Gridlines coordinate-grid overlay with edge labels and a UTM easting/northing grid mode, and toggleable navigation, fullscreen, geolocation, globe, terrain, scale, attribution, and logo controls, plus a View menu with viewport history navigation, a reset pitch and bearing control, a distinct north arrow, and View in Google Maps and View in Google Earth actions, and a double-click terrain control for setting vertical exaggeration +- Multi-map grid that splits the workspace into a grid of synchronized map views, so you can compare basemaps, layers, or time steps side by side, with any pane switchable to an optional CesiumJS 3D globe (camera-synced with the 2D maps; requires a Cesium Ion token — see [Environment variables](#environment-variables)) +- Load local vector layers supported by DuckDB-WASM Spatial, including common formats such as GeoJSON, GeoParquet, GeoPackage, Shapefile, FlatGeobuf, KML/KMZ (honoring embedded symbology, rendering GroundOverlay images as map overlays that animate through the Time Slider when time-tagged, and displaying embedded Collada `.dae` 3D models), GML, delimited text (including CSV without coordinates loaded as a standalone attribute table), GPX, and OpenStreetMap PBF extracts (parsed in-browser with osmix) +- Reproject vector layers to EPSG:4326 on load, render vector layers that carry Z coordinates in true 3D rather than flattening them onto the ground plane, and split dragged GPX files into named waypoint, track, and route layers +- Large local vector layers render through client-side vector tiling, with a warning before loading very large files +- Add Data menu for XYZ tiles, WMS and WFS (with layers and feature types discovered from the service's GetCapabilities so you pick from a populated dropdown), GeoJSON URLs, GeoRSS feeds (URL or file), vector tiles (including OGC API - Tiles vector tile services), COG and GeoTIFF rasters, Cloud-Optimized NetCDF/HDF (via kerchunk references) plus local HDF5 and NetCDF-4 files, MBTiles, ArcGIS FeatureServer and VectorTileServer layers, PMTiles, Zarr, LiDAR, 3D Tiles (including authenticated tilesets via custom request headers), ArcGIS I3S scene layers (Integrated Mesh and 3D Object layers rendered on deck.gl), CAD drawings (DXF/DWG) with a drawing-layer picker and CRS selector, Gaussian splats, glTF/GLB 3D models placed at coordinates, georeferenced video overlays, and geotagged photos imported as a point layer from their EXIF GPS (with manual placement and drag for photos lacking coordinates), with a fully internationalized dialog, comma decimal support, drag-and-dropped CSV coordinate files, sample-data dropdowns on every upstream-backed panel for loading ready-made example datasets, and a saved service library for storing and re-adding frequently used web-service endpoints +- Deck.gl Layer builder for composing deck.gl overlays from uploaded files or remote URLs +- Cloud data integrations through the Planetary Computer and Earth Engine panels, the Overture Maps plugin, and federal Web Services plugins +- Manual and automatic refresh for WFS, GeoJSON URL, and Add Vector Layer URL layers +- Layer panel for visibility, opacity, reordering, rename, zoom-to-layer, identify, labels, open attribute table, export, and remove actions, with collapsible layer groups/folders for organizing the layer stack and a Search places box in the footer for geocoding to a location without leaving the panel +- Live style panel with single, categorized, graduated, expression, and rule-based (filter-driven) symbology (fill, stroke, opacity, circle radius), proportional symbols, fill patterns, a built-in marker library, plus point heatmap and clustering renderers — all including for Add Vector Layer point layers, plus an inline color ramp picker that previews each colormap's gradient on the trigger and beside every option, and a transparent (no fill / no outline) option in the color picker, with vector layer symbology that imports and exports as OGC SLD, QGIS QML, and Mapbox GL style JSON so styles round-trip between GeoLibre, QGIS, and the Mapbox/MapLibre ecosystem +- Label engine for labeling vector features by any attribute, with ArcGIS-style placement and styling controls (anchor, X/Y offset, rotation, wrap width, letter case), a Duplicate labels option, and unique/concatenate modes that collapse points stacked at the same coordinate into a single deduplicated label +- Attribute table with filtering, sorting, resize controls, feature highlighting with Ctrl- and Shift-click multi-row selection, optional zoom to selected features, add-field and field-calculator tools (including geometry length and area calculation), a Charts panel (histogram, scatter, bar, line, box), a field statistics summary panel, column management (rename, delete, hide/show, reorder) with a column explorer for finding and toggling fields in wide tables, virtualized rows for large layers, and export to GeoJSON/GeoParquet/Shapefile/GeoPackage/CSV +- SQL Workspace for running DuckDB Spatial SQL against loaded layers, local files, and remote URLs, docked as a resizable panel beside the map with editor autocomplete for tables, columns, and SQL keywords, sample queries, query history, and adding results to the map or exporting them, plus an in-browser PostGIS SQL engine via PGlite and an Apache Sedona spatial SQL engine +- Multiple DuckDB SQL query-result layers with identify, selection, and attribute table support +- Controls menu with Measure, Bookmark, Minimap, View State, and Map annotation tools (draw text, arrows, and highlights on the map, saved with the project), a Search panel, persistent mode banners for the Directions and Reverse Geocode tools, a Camera Tour recorder that captures an animated keyframe tour to video (with per-keyframe recapture, per-keyframe hold and transition duration controls, and saving/loading a named tour setup as JSON), a Dashboard panel of configurable chart widgets that summarize the loaded layers, and a Print menu with a print layout composer (user-editable legend, explicit map-scale input, title block with editable title and footer, page-size controls, a custom print extent, and Copy to Clipboard) that exports the map to PNG or PDF +- Weather menu with live cloud and precipitation radar overlays (RainViewer), a Clouds overlay in the Controls menu, and a Google Earth-style sun position simulation that lights the scene for a given date and time +- Bookmarks that capture the active layers alongside the camera, organized into folders, with selectable export, a resizable and reorderable panel, and a save-as name prompt +- Field Collection tool for capturing point, line, and polygon observations with a per-layer custom form (text/number/date/choice fields and an optional photo), placed by device GPS or by tapping the map, written to a GeoJSON layer that flows into the attribute table, export, and offline use +- Story map builder that composes its chapters directly on the live map, with a presenter view, dedicated start and closing slides, an optional hide-itinerary toggle, a printable PDF handout generator (with subtitle and byline fields), and standalone HTML export +- Real-time multi-user collaboration (MVP; requires the `VITE_GEOLIBRE_COLLAB_URL` build variable — see [docs/collaboration.md](docs/collaboration.md)) so several people can edit the same project together, with per-participant permissions, an in-app chat panel, and an on-canvas session-status badge and roster (live dot, connected-participant count, and an expandable client list) while a session is active +- Natural-language GIS assistant that turns plain-English requests into auditable, undoable GeoLibre operations (Spatial SQL, symbology, add/remove data, and map control), provider-pluggable with your own API key (also read from OS environment variables) and a dedicated AI Providers settings section with per-feature provider dropdowns +- In-app Python Console plus a Python automation API for scripting the app +- Notebook panel docked beside the map for running Jupyter against the live map: the web build embeds a self-hosted JupyterLite site (in-browser Pyodide kernel) and the desktop build launches a uv-managed JupyterLab server, with notebook cells driving the map through an auto-loaded `geolibre` client. See [Notebook Panel](docs/notebook.md) +- Command palette (`Ctrl`/`Cmd` + `K`) that searches and runs menu and toolbar actions across Add Data, Processing, Controls, Plugins, and Help, global keyboard shortcuts for New/Open/Save/Save As and Google Earth-style camera resets (`N` north up, `U` top-down, `R` reset view), and a `?` shortcuts cheat sheet +- Conversion menu for Vector to GeoParquet/FlatGeobuf/PMTiles, a generic Vector to Vector converter that translates between any supported vector formats by file extension, CSV to GeoParquet, and Raster to COG; GeoParquet and CSV conversions run in the browser with DuckDB-WASM, while FlatGeobuf, PMTiles, and COG require the optional Python sidecar +- Whitebox toolbox that runs entirely in the browser through a WebAssembly runtime with raster I/O (no Python sidecar required), surfacing both Whitebox tools and GeoLibre's own WASM raster tools, browsable by category directly in the Processing menu with nested subcategory submenus and an offline-bundled tool catalog, with batch tools run against a selected input directory +- Vector menu with common geometry and analysis tools (buffer, centroids, convex hull, dissolve, bounding box, simplify, clip, intersection, difference, union, spatial join, attribute join, select by value, select by location, movement, space-time, and cell coverage) that run in the browser with Turf.js, an optional GeoPandas sidecar engine for every tool, and an in-browser GeoPandas engine via Pyodide (no server, same results as the sidecar) +- Raster menu with common raster tools (hillshade, slope, aspect, reproject, resample, clip by extent, clip by mask layer, polygonize, contour, zonal statistics, raster calculator, reclassify, mosaic, focal statistics) backed by a rasterio Python sidecar, with a client-side fallback so core tools also run in the browser when no sidecar is available, plus in-browser extraction of COG, WMS, and XYZ bounding-box subsets and a normalized-difference index builder for any HTTP COG +- Spectral Index toolbox (NDVI, GNDVI, NDWI, NDMI, NDBI, NBR, EVI, SAVI) with Sentinel-2, Landsat 8-9, NAIP, and custom band layouts, evaluated client-side with geotiff.js or on the rasterio sidecar +- Spatial Statistics toolbox and a Processing batch runner with model/pipeline chaining to run a sequence of tools as one job +- Raster Georeferencer (Processing → Georeferencing) that pins a non-georeferenced image to the map with ground control points using a least-squares affine fit, reporting per-GCP and RMS residuals +- Single-band pseudocolor with classification, reversed and custom color ramps, the full colormap list shown as inline gradient swatches in the Color ramp picker, a Legend populated automatically from a paletted raster's embedded color table, and RGB band combination for styling raster layers, plus COG pixel-value inspection from the Identify icon +- Network analysis tools for isochrones, service areas, origin–destination (OD) cost matrices, and sequential routes (directions) through an ordered set of waypoints +- Geocoding tools for forward, batch, and reverse geocoding through a multi-provider abstraction +- AI Segmentation (SamGeo) that turns imagery into vector features with [segment-geospatial](https://github.com/opengeos/segment-geospatial) and Meta's SAM 3 — text prompts ("trees", "buildings") or automatic segmentation, proxied to a separate `samgeo-api` model server (GPU recommended) +- H3 tools to create hexagonal grids over an extent and bin point layers into H3 cells +- Undo/redo for layer and style operations +- Drag and drop vector and GeoTIFF/COG raster files onto the map to add them as layers +- Project menu to create, open, save, and Save As `.geolibre.json` projects, export a project to a single standalone interactive HTML file that runs offline with no server, and a project gallery for browsing and opening shared projects with one click +- Desktop diagnostics panel (capturing native Tauri HTTP requests in the network log and classifying failed `fetch()` errors), a guided update workflow with a startup update check and update preferences, and MSIX packaging support, with macOS installers signed with an Apple Developer ID certificate and notarized by Apple so they open without a Gatekeeper workaround, plus Windows Package Manager (winget) distribution as `OpenGeos.GeoLibre` and a Windows portable zip build that runs without installation +- Customizable UI profiles that tailor which menus, panels, and data sources are visible, so a deployment can present a focused subset of the app to its users. See [UI Profiles](docs/ui-profiles.md) +- Plugin system with basemap, layer control, MapLibre components, swipe, street view, Mapillary coverage and street-level image viewer, Historical Imagery, Elevation Profile, Overture Maps, USGS LiDAR, GeoAgent, and GeoEditor integrations (the GeoEditor can pull the vector features currently visible in the map view into the editor for editing without re-importing the source, and write edits back to their origin, including GeoPackage and GeoJSON files and PostGIS database tables), including configurable control positions and external plugin manifests; external plugins can render on the host's shared deck.gl instance via `app.getDeckGL()`, use the maplibre-gl-raster stack and the map projection control, register native raster and tile layers, register first-class right-sidebar panels, toolbar menus, and floating panels through the plugin UI host API (including a shared-rail replace-style dock mode), and place their toolbar menus after the Help menu +- Time Slider plugin for animating time series raster and vector data, including binding existing vector layers already on the map to the timeline and a pixel time-series chart that plots a sampled pixel's value across a raster stack +- Atmosphere Effects plugin that renders a deep-space backdrop, parallax starfield, comets, and an atmospheric halo around the globe at low zoom (technique adapted from [Leonel Dias](https://leoneljdias.github.io/posts/globe-atmosphere-halo-comets/)), with a Spinning Globe panel and customizable atmosphere halo and deep-space colors +- Directions plugin for interactive routing via [maplibre-gl-directions](https://github.com/maplibre/maplibre-gl-directions): click the map to add waypoints, drag to reposition, and click a waypoint to remove it (uses the public OSRM demo server, driving only) +- Install external plugins from an uploaded zip on both desktop and web, plus external plugin zip loading from the app data plugins directory and local development plugin directories, with the Manage Plugins list sorted alphabetically +- Bundled drop-in plugins under `public/plugins//` that bake into both the web and desktop builds and load automatically with no manifest URL +- Browser deployment with Docker, embed-friendly URL parameters (including `?url=` project deep links that skip the welcome wizard and a `?welcome=0` param to opt out of onboarding), and a `maponly` chrome-free mode +- Native Android app built from the same codebase with Tauri v2 mobile, producing signed, per-architecture APKs (~40 MB) through a GitHub Actions workflow; tools that depend on a local desktop process (Whitebox, Raster, Conversion, AI Segmentation, PostgreSQL/Martin) are hidden on mobile so nothing is shown that cannot run. See [Android](docs/android.md) +- Installable, offline-capable Progressive Web App (PWA) build, plus a **Download Offline Area** tool that pre-caches the current map view's basemap tiles, and service-worker caching of the CDN-loaded Pyodide and PGlite/PostGIS engines so browser SQL and Python keep working offline after first use +- Internationalization framework with react-i18next and 13 complete per-build translation catalogs, plus a `?locale`/`?lang` query parameter to set the embed language +- Accessibility pass with axe-checked screens, keyboard navigation, and screen-reader labels +- App-wide, section, and plugin React error boundaries that contain failures and keep the rest of the workspace usable +- Python package (`geolibre`) that embeds the full app in Jupyter notebooks as an [anywidget](https://anywidget.dev), with an expanded leafmap-style API (local raster, marker/cluster, and choropleth layers; `split_map`, `add_legend`, and `add_colorbar` helpers; typed read-back of selected/drawn features; and `to_html` export) and two-way project sync +- Optional Python FastAPI sidecar for heavier processing workflows + +## Prerequisites + +- **Node.js** 22+ +- **Rust** toolchain ([rustup](https://rustup.rs/)) for Tauri desktop builds +- Linux: `webkit2gtk`, `libayatana-appindicator` (see [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/)) + +## Install + +Prebuilt desktop installers for Linux, Windows, and macOS are published on the +[Releases](https://github.com/opengeos/GeoLibre/releases) page. On Windows you +can install the signed, auto-updating build from the +[Microsoft Store](https://apps.microsoft.com/detail/9nwt67rv531x), or the +unsigned GitHub Release build via `winget install OpenGeos.GeoLibre`. On macOS +you can install and update with Homebrew — GeoLibre is in the official +[Homebrew Cask](https://github.com/Homebrew/homebrew-cask/blob/main/Casks/g/geolibre.rb) +repository, so no tap is required: + +```bash +brew install --cask geolibre +``` + +The macOS app is signed with an Apple Developer ID certificate and notarized by +Apple, so it launches normally with no quarantine workaround. See +[Downloads](docs/downloads.md) for details and the manual install steps. + +To build from source instead: + +```bash +git clone https://github.com/opengeos/GeoLibre.git +cd GeoLibre +npm install +``` + +Bun users can run `bun install`. The root `trustedDependencies` list allows the known install scripts for `core-js`, `@google/genai`, and `protobufjs`. + +## Update + +To update an existing source checkout to the latest version, pull the changes, reinstall dependencies (in case `package.json` changed), and rebuild: + +```bash +cd /path/to/GeoLibre # your GeoLibre checkout +git pull origin main +npm install # or: bun install +``` + +If you run a production build, rebuild afterwards with `npm run build` (web) or `npm run tauri:build` (desktop). If you work from the dev servers (`npm run dev` or `npm run tauri:dev`), the `git pull` and `npm install` above are enough — just restart the dev server to pick up the changes. + +## Run (web dev, map in browser) + +```bash +npm run dev +``` + +Open http://localhost:5173. The map and browser vector import support local vector files that DuckDB-WASM Spatial can read, including common formats such as GeoJSON, GeoParquet, GeoPackage, Shapefile, FlatGeobuf, KML/KMZ, and GML, with direct handling for GeoJSON, zipped Shapefiles, and KMZ archives. You can choose files from Add Vector Layer or drag them onto the app. GeoTIFF/COG rasters can also be dragged onto the map to add them as raster layers. Desktop filesystem dialogs, local MBTiles, and local raster file reads require Tauri. + +## Run with Docker + +Build and run the browser version of GeoLibre: + +```bash +docker build -t geolibre . +docker run --rm -p 8080:80 geolibre +``` + +Open http://localhost:8080. The Docker image serves the production Vite build with nginx. Desktop-only features such as Tauri filesystem dialogs, local MBTiles, local raster file reads, and project save/open require the desktop app. + +### Bundled conversion sidecar + +The image also bundles the Python conversion/Whitebox sidecar (uvicorn) and +reverse-proxies it at `/sidecar`, so the browser reaches it same-origin with no +CORS or separate process to manage. `/conversion/status` is reachable at +`http://localhost:8080/sidecar/conversion/status`. + +- **Vector → GeoParquet** and **CSV → GeoParquet** run in the browser with + DuckDB-WASM and need no sidecar. +- **Vector → FlatGeobuf**, **Vector → PMTiles**, and **Raster → COG** use the + sidecar. These read a file **path on the sidecar's filesystem**, so from a + pure browser they currently work for files mounted into the container (a + browser cannot hand the container an absolute path); upload-based input is a + planned follow-up. The desktop app passes real local paths, so all + conversions work there. +- **PMTiles** and **Whitebox** are **amd64-only** in the container — + `freestiler` and `whitebox-workflows` publish no linux/arm64 wheels. On arm64 + the other conversions still work; those two report unavailable. + +Because the sidecar is reachable same-origin, conversion reads/writes are +confined to `GEOLIBRE_CONVERSION_ROOTS` (default `/data` in the image). Mount +your files there: + +```bash +docker run --rm -p 8080:80 -v "$PWD/data:/data" geolibre +``` + +Set `GEOLIBRE_DISABLE_SIDECAR=1` to run nginx only (the original web-only +behavior): + +```bash +docker run --rm -p 8080:80 -e GEOLIBRE_DISABLE_SIDECAR=1 geolibre +``` + +### Password protection (optional) + +Set `GEOLIBRE_AUTH_USER` and `GEOLIBRE_AUTH_PASSWORD` to put the whole +container (the app and the `/sidecar` API) behind HTTP Basic Auth: + +```bash +docker run --rm -p 8080:80 \ + -e GEOLIBRE_AUTH_USER=admin \ + -e GEOLIBRE_AUTH_PASSWORD='change-me' \ + geolibre +``` + +The browser prompts for the credentials on first visit. `/healthz` stays +unauthenticated so the container health check keeps working. When the +variables are unset (the default), no authentication is applied. + +As with any Docker env var, a password passed with `-e` lands in your shell +history and is readable on the host via `docker inspect`. Beyond quick local +testing, prefer `--env-file` with a permission-restricted file, or a secrets +manager. + +This is a single shared credential, not per-user accounts. Basic Auth sends +credentials with every request, so on anything beyond a trusted local network +put a TLS-terminating reverse proxy (Caddy, Traefik, nginx) in front of the +container. For multi-user or SSO needs, use an auth proxy such as +`oauth2-proxy` or Authelia in front of the unmodified image instead. Also see +the note in `docker/nginx.conf` about dropping the `localhost` CSP allowances +before exposing the image publicly. + +The published image is available from GitHub Container Registry: + +```bash +docker pull ghcr.io/opengeos/geolibre:latest +docker run --rm -p 8080:80 ghcr.io/opengeos/geolibre:latest +``` + +For deployments under a URL subpath, pass `GEOLIBRE_APP_BASE` at build time: + +```bash +docker build --build-arg GEOLIBRE_APP_BASE=/geolibre/ -t geolibre . +``` + +The container always serves the app from its root path. The build argument only sets the URL prefix that the app expects, so subpath deployments also require a reverse proxy in front of the container that strips the prefix before forwarding requests (for example, nginx `proxy_pass http://geolibre/;` with a trailing slash). + +## SQL Workspace + +The SQL Workspace runs DuckDB SQL (with the Spatial extension loaded, so `ST_*` functions are available) directly in the browser against your loaded layers and remote data. Open it from the Processing menu. + +- **Query loaded layers.** Every vector layer with in-memory features is exposed as a table; the queryable table names are listed at the top of the dialog. +- **Read files and URLs.** Use `read_parquet()`, `read_csv_auto()`, `read_json_auto()`, or `ST_Read()`. A bare URL or path after `FROM`/`JOIN` (for example `SELECT * FROM https://host/data.parquet`) is auto-wrapped in the matching reader. Remote files are streamed over HTTP range requests, so large datasets are not downloaded in full. +- **Sample queries.** A dropdown of ready-to-run examples (attribute-only, aggregate, and spatial queries) against a public sample dataset, plus a per-layer "sample query for layer" dropdown. +- **Query history.** Recently run queries are saved (in `localStorage`) and can be reloaded from the History dropdown. +- **Results and export.** Results show in a grid (capped for display; the full result is kept for export). When a query returns a geometry column, you can add the result to the map as a new layer (with an optional custom **layer name**) or export it as CSV or GeoParquet. + +```sql +SELECT NAME, CONTINENT, POP_EST, geom +FROM https://data.source.coop/giswqs/opengeos/countries.parquet +WHERE POP_EST > 50000000 +ORDER BY POP_EST DESC; +``` + +Only a single statement is supported per run. Cloud object-store URLs (`s3://`, `gs://`, `az://`) are transparently rewritten to their public HTTPS equivalents, so they work for anonymous / public datasets. + +## Vector tools + +The **Processing → Vector** menu opens a single Vector tools dialog with common geometry operations that run against your loaded GeoJSON layers. Pick a tool, choose the input layer (and an overlay layer for the two-layer tools), set the parameters, and the result is added to the map as a new layer. + +- **Geometry tools.** **Buffer** (by a distance in kilometers, meters, or miles), **Centroids** (one centroid point per feature), **Convex hull** (a single polygon enclosing all features), **Dissolve** (merge polygons, optionally grouped by an attribute field), **Bounding box** (the rectangular envelope of all features), **Simplify** (Douglas-Peucker vertex reduction), **Smooth** (spline-based line/polygon smoothing), **Regular grid** (a point or polygon grid over an extent), and **Voronoi / Delaunay** (Voronoi polygons or a Delaunay triangulation from a point layer). +- **Overlay tools.** **Clip** (clip the input to an overlay layer, keeping input attributes), **Intersection**, **Difference**, and **Union** between two polygon layers. +- **Join tools.** **Spatial join** (attach a join layer's attributes to each input feature by a spatial relationship — intersects, within, or contains — with an inner or left join, for any geometry type) and **Attribute join** (attach a join table's attributes by a matching key field, no geometry — e.g. join census stats to boundary polygons — choosing which fields to bring over, with an inner or left join). +- **Select tools.** **Select by value** (extract features whose attribute matches a condition — =, ≠, >, ≥, <, ≤, contains, starts with, is empty/not empty) and **Select by location** (extract features by their spatial relationship to a second layer — intersects, within, contains, or disjoint) into new layers. +- **Three engines.** Every tool runs fully in the browser with [Turf.js](https://turfjs.org/), so no sidecar is required. Every tool can also run on the optional GeoPandas sidecar for projection-aware results; when the sidecar is unavailable the dialog falls back to the client engine. A third **Python (Pyodide)** engine runs the same GeoPandas/Shapely code as the sidecar but **entirely in the browser** via [Pyodide](https://pyodide.org) — no server, so it works on the web build too. The first run lazily downloads the Python runtime from a CDN (override with `VITE_PYODIDE_INDEX_URL` to self-host for offline use); results match the sidecar because both share one `vector_ops.py`. + +To enable the sidecar engine, install the optional `vector` extra (it is not bundled by default to keep the sidecar small): + +```bash +# install the vector extras (GeoPandas, Shapely) +pip install -e "backend/geolibre_server[vector]" +# run it +geolibre-server # or: uvicorn geolibre_server.app.main:app --host 127.0.0.1 --port 8765 +``` + +## Raster tools + +The **Processing → Raster** menu opens a single Raster tools dialog with common raster operations. Because raster processing cannot run in the browser, these tools run on the Python sidecar (rasterio) with a file path in and a file path out: pick a tool, choose an input raster and an output file, set the parameters, and run the job. + +- **Terrain.** **Hillshade**, **Slope** (degrees or percent), and **Aspect** from an elevation model. +- **Reproject.** **Reproject** to a target CRS and **Resample** to a new pixel size, with selectable resampling (nearest, bilinear, cubic). +- **Clip.** **Clip by extent** (a bounding box in the raster's CRS) and **Clip by mask layer** (a GeoJSON mask, reprojected to the raster automatically). +- **Raster to vector.** **Polygonize** (vector polygons grouped by pixel value) and **Contour** (contour lines from an elevation model), written as GeoJSON. +- **Vector to raster.** **Interpolation (IDW / Kriging)** turns a point layer's numeric attribute into a continuous raster surface via inverse distance weighting or ordinary kriging. + +The tools share the conversion sidecar job runner. Install the optional `raster` extra (rasterio is also pulled in by the `conversion` extra): + +```bash +# install the raster extras (rasterio, numpy, contourpy) +pip install -e "backend/geolibre_server[raster]" +# run it +geolibre-server # or: uvicorn geolibre_server.app.main:app --host 127.0.0.1 --port 8765 +``` + +## AI segmentation + +The **Processing → AI Segmentation** dialog turns imagery into vector features with [segment-geospatial](https://github.com/opengeos/segment-geospatial) (SamGeo) and Meta's **SAM 3** model: choose a GeoTIFF, type a text prompt (e.g. "trees", "buildings", "water") or run automatic segmentation, and the resulting polygons are added as a new layer. + +The model stack does not run inside the sidecar. The sidecar exposes a thin `/ml` reverse-proxy in front of a separate `samgeo-api` server (the REST server shipped with `segment-geospatial`), which runs SAM 3 and returns GeoJSON. A CUDA GPU is strongly recommended. + +```bash +# install the model server (in an env with a working PyTorch build) +pip install "segment-geospatial[api,samgeo3]" +# install the sidecar's ml extra (just an HTTP client; models live in samgeo-api) +pip install -e "backend/geolibre_server[ml]" +``` + +`samgeo-api` is launched on demand when it's on the `PATH`, or point the sidecar at an existing server with `GEOLIBRE_ML_SAMGEO_URL=http://127.0.0.1:8000`. See [docs/user-guide/segmentation.md](docs/user-guide/segmentation.md) for details. Uses SAM 3. + +## Embed the demo + +The browser demo supports URL parameters for iframe-friendly layouts. + +Open a project by URL: + + + +Supported query parameters: + +| Parameter | Example | Description | +| ------------ | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `url` | `url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json` | Loads a `.geolibre.json` project from a public URL. | +| `layout` | `layout=compact` | Uses the compact embed layout with icon-only toolbar buttons and hidden project metadata. `embed` and `iframe` are aliases. | +| `toolbar` | `toolbar=icons` | Shows icon-only toolbar buttons without enabling the full compact layout. | +| `panels` | `panels=none` | Hides the Layers, Style, and Attribute table panels. `hidden`, `hide`, and `off` are aliases. | +| `hidePanels` | `hidePanels=true` | Alternative way to hide the Layers, Style, and Attribute table panels. | +| `maponly` | `maponly` | Hides all chrome (toolbar menu, Layers/Style/Attribute panels, and status bar), leaving only the map. The bare flag or any of `true`, `1`, `yes`, `on` enable it. | +| `theme` | `theme=dark` | Sets the initial color theme on load, overriding the OS preference. Accepts `dark` or `light`; the in-app toggle still works afterwards. | + +Use compact mode for narrow embeds. This shows icon-only toolbar buttons and hides project metadata: + +```text +https://web.geolibre.app/?url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json&layout=compact +``` + +Hide the Layers, Style, and Attribute table panels for map-focused embeds: + +```text +https://web.geolibre.app/?url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json&layout=compact&panels=none +``` + +Use `toolbar=icons` when you only want icon-only toolbar buttons. `panels=hidden`, `panels=hide`, `panels=off`, and `hidePanels=true` are accepted aliases for hiding panels. + +For a fully chrome-free, map-only embed, use `maponly`. It hides the toolbar menu, all panels, and the status bar: + +```text +https://web.geolibre.app/?url=https://share.geolibre.app/giswqs/3d-tiles.geolibre.json&maponly +``` + +## Python package (Jupyter) + +GeoLibre ships a Python package that embeds the **full** GeoLibre app (menus, +panels, processing tools) in a Jupyter notebook cell as an +[anywidget](https://anywidget.dev), with a leafmap-style API. State syncs both +ways through a single `.geolibre.json` project, so data you add from Python +appears in the UI, and edits you make in the UI are readable back from Python. + +```bash +pip install geolibre +``` + +Or with conda: + +```bash +conda install -c conda-forge geolibre +``` + +```python +from geolibre import Map + +m = Map(center=(-100, 40), zoom=4) +m.add_geojson("https://example.com/data.geojson", name="Data") +m.add_tile_layer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", name="OpenStreetMap") +m.add_cog("https://example.com/dem.tif", name="DEM") +m # the full GeoLibre UI renders in the cell +``` + +Read state edited in the UI, and round-trip projects: + +```python +m.to_project()["mapView"]["center"] # reflects the live UI view after panning +m.save_project("my-map.geolibre.json") +Map().load_project("my-map.geolibre.json") +``` + +The package source lives in [`python/`](python/), and the bundled web app is +built into the wheel by `npm run build:embed`. The interactive widget works in +local Jupyter, VS Code, Google Colab (its built-in port proxy is used +automatically), and JupyterHub / remote servers (through a Jupyter Server +extension bundled with the wheel and auto-enabled on install, so managed hubs +work without `jupyter-server-proxy`; pass `Map(server_proxy=True)` on non-Hub +remote setups). See the [Python package guide](docs/python.md) for the full API. + +## Environment variables + +The Street View plugin can use Google Street View and Mapillary imagery. Create `apps/geolibre-desktop/.env.local` and set one or both provider credentials: + +```env +VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key +VITE_MAPILLARY_ACCESS_TOKEN=your_mapillary_access_token +``` + +For Google Street View, enable the Maps Embed API for the key in Google Cloud. For Mapillary, create an app in the Mapillary developer dashboard and use its client access token. + +The optional **Cesium 3D-globe view** — a split-pane globe rendered with [CesiumJS](https://cesium.com/platform/cesiumjs/) alongside the 2D MapLibre map — needs a [Cesium Ion](https://ion.cesium.com/) access token for its world imagery and terrain. Create a free Ion account, copy your default access token, and set it at build time: + +```env +CESIUM_TOKEN=your_cesium_ion_access_token +``` + +`CESIUM_TOKEN` (or the `VITE_`-prefixed `VITE_CESIUM_TOKEN`) is read by `vite.config.ts` and baked into the build. A user can **also set it at runtime** — with no rebuild — in the Settings dialog's **Environment Variables** section, which has a dedicated masked **Cesium Ion token** field. That token is stored locally on the device (in browser storage on the web build), **not** in the shared project file, and overrides the build-time value; it is how a web user brings their own Ion token. (A free-form `VITE_CESIUM_TOKEN` variable in the same section still works and takes precedence, as an override.) Without a token from any source, the 3D-globe toggle is hidden entirely (the 2D map is unaffected). Ion access tokens are designed to ship in client bundles. See [docs/architecture.md](docs/architecture.md#3d-globe-view-cesiumjs) for how the globe integrates. + +The optional **Python (Pyodide)** vector engine loads its runtime from the public jsDelivr CDN by default. To self-host it for offline or production use, point it at a mirrored copy of the Pyodide distribution: + +```env +VITE_PYODIDE_INDEX_URL=https://your-host/pyodide/v0.27.7/full/ +``` + +Similarly, the DuckDB Spatial extension is installed from DuckDB's remote +extension repository by default. To load it from a mirror instead (so +`INSTALL spatial` is skipped and the extension is loaded directly), set the full +path or URL to the extension file: + +```env +VITE_DUCKDB_SPATIAL_EXTENSION_PATH=https://your-host/duckdb/spatial.duckdb_extension.wasm +``` + +Both `VITE_PYODIDE_INDEX_URL` and `VITE_DUCKDB_SPATIAL_EXTENSION_PATH` can also be set at runtime through the Settings dialog's runtime environment variables (no rebuild required), so air-gapped or corporate deployments can point Pyodide and the DuckDB Spatial extension at internal mirrors without rebuilding. + +Restart `npm run dev` or `npm run tauri:dev` after changing these values. Vite only exposes variables with the `VITE_` prefix to the frontend. + +## Run (desktop) + +```bash +npm run tauri:dev +``` + +## Build + +```bash +npm run build +npm run tauri:build +``` + +The default desktop build keeps the Linux binary small and uses DuckDB-WASM for +DuckDB-backed browser features. To build a larger desktop binary with the native +`duckdb-rs` vector loader enabled, run: + +```bash +npm run tauri:build:native-duckdb +``` + +Where to find the output: + +- **Web build** — static files in `apps/geolibre-desktop/dist/`. Serve this directory with any static web server (or the Docker image above). +- **Desktop installers** — `apps/geolibre-desktop/src-tauri/target/release/bundle/`, with per-platform subfolders: `deb/`, `rpm/`, and `appimage/` on Linux; `msi/` and `nsis/` on Windows; `dmg/` and `macos/` on macOS. The unbundled executable is in `apps/geolibre-desktop/src-tauri/target/release/`. On Linux, `npm run tauri:build` builds `deb` and `rpm` by default; passing `--bundles` replaces that default selection rather than adding to it, so list every format you want, for example `npm run tauri:build -- --bundles deb,rpm,appimage` for all three. + +## Android + +GeoLibre builds as a native Android app from the same codebase via Tauri v2 +mobile. You need the Android SDK + NDK, a JDK (17 or 21), and the Rust Android +targets; see [docs/android.md](docs/android.md) for the full toolchain setup, +signing, and sideloading guide. Once set up: + +```bash +cd apps/geolibre-desktop +npx tauri android init # generate the Gradle project (once) +npm run tauri android dev # run on a connected device/emulator +npx tauri android build --apk --split-per-abi # release APKs, ~40 MB per ABI +``` + +Install the `arm64-v8a` APK on real phones. The CI workflow +(`.github/workflows/android.yml`) builds and signs per-ABI release APKs on each +published GitHub release (and on demand via the "Run workflow" button) and +uploads them as artifacts; set the `ANDROID_KEYSTORE_*` repository secrets +to sign with a real release key (otherwise a debug key is used for testable +builds). Heavy tools that need the Python sidecar or local helper processes are +hidden on mobile. + +## Quality checks + +Run the fast TypeScript unit tests: + +```bash +npm run test:frontend +``` + +Run the full local quality gate: + +```bash +npm run ci +``` + +## Optional Python sidecar + +```bash +cd backend/geolibre_server +python -m venv .venv && source .venv/bin/activate +pip install -e . +uvicorn geolibre_server.app.main:app --host 127.0.0.1 --port 8765 +``` + +### Conversion tools (Processing → Conversion) + +The **Processing → Conversion** menu (Vector → GeoParquet / FlatGeobuf, +CSV → GeoParquet, Vector → PMTiles, Raster → COG) talks to this sidecar at +`http://127.0.0.1:8765`. **Vector → GeoParquet** and **CSV → GeoParquet** also +run fully in the browser with DuckDB-WASM and need no sidecar; the others +require it. + +To use them from the **web** build, start the sidecar and serve the app from +`localhost:5173` (CORS is restricted to that origin and the Tauri origins): + +```bash +# install the conversion extras (DuckDB, rio-cogeo, freestiler) +pip install -e "backend/geolibre_server[conversion]" +# run it +geolibre-server # or: uvicorn geolibre_server.app.main:app --host 127.0.0.1 --port 8765 +``` + +The sidecar self-bootstraps a managed runtime on first use; set +`GEOLIBRE_CONVERSION_PYTHON=$(which python)` to reuse the current environment +instead. See [backend/geolibre_server/README.md](backend/geolibre_server/README.md) +for details. + +## Repository layout + +``` +apps/geolibre-desktop # Tauri + React app +packages/core # Types, store, project format +packages/map # MapLibre integration +packages/ui # Tailwind + shadcn/ui +packages/plugins # Plugin API +packages/processing # Algorithm registry +backend/geolibre_server # FastAPI sidecar +python/ # geolibre Python package (Jupyter anywidget) +docs/ # Architecture & API docs +``` + +## Add a plugin + +Built-in plugins live in `packages/plugins/src/plugins/` and are registered by the desktop app in `apps/geolibre-desktop/src/hooks/usePlugins.ts`. Map control plugins can expose a control position through `getMapControlPosition()` and `setMapControlPosition()` so the Plugins menu can move them between map corners. + +For external plugin development, start from the [GeoLibre plugin template](https://github.com/opengeos/geolibre-plugin-template). It includes a `plugin.json` manifest, a GeoLibre plugin wrapper entry point, and a `package:geolibre` script that creates a zip file for the desktop app data `plugins/` directory. During development, Settings → Manage Plugins can scan an additional local plugin directory, including an unpacked bundle folder such as the template's `geolibre-plugin/` directory, or a hosted `plugin.json` manifest URL. See the [Plugin API](docs/plugin-api.md) for the external plugin contract. + +To bake an external plugin into the build so it loads automatically — with no Settings entry and no manifest URL — drop its built folder into `apps/geolibre-desktop/public/plugins//` (the same `plugin.json` + `dist/` a manifest URL would serve). The `bundledPlugins()` Vite plugin discovers it at build time and the app loads it through the normal external-plugin path. The same folder serves both the web build and the desktop build (which ships the same frontend), so one drop-in covers both. Private plugin bundles are git-ignored under that folder and copied in at build/deploy time. See the [Plugin API](docs/plugin-api.md#bundled-plugins-baked-into-the-build) for details and the security model. + +1. Create a plugin file in `packages/plugins/src/plugins/`. + +```typescript +import type { GeoLibreAppAPI, GeoLibrePlugin } from "../types"; + +export const myPlugin: GeoLibrePlugin = { + id: "my-plugin", + name: "My Plugin", + version: "0.1.0", + activate: (app: GeoLibreAppAPI) => { + app.setBasemap("https://example.com/style.json"); + }, + deactivate: () => {}, +}; +``` + +2. Export it from `packages/plugins/src/index.ts`. + +```typescript +export { myPlugin } from "./plugins/my-plugin"; +``` + +3. Register it in `apps/geolibre-desktop/src/hooks/usePlugins.ts`. + +```typescript +import { myPlugin } from "@geolibre/plugins"; + +manager.registerAll([ + maplibreLayerControlPlugin, + maplibreGeoAgentPlugin, + maplibreGeoEditorPlugin, + myPlugin, +]); +``` + +Plugins can use the app API to change basemaps, add GeoJSON layers, or attach MapLibre controls. For a MapLibre control plugin, add the package dependency, import its CSS in `apps/geolibre-desktop/src/main.tsx`, then call `app.addMapControl(control, "top-left")` in `activate()` and `app.removeMapControl(control)` in `deactivate()`. + +Built-in MapLibre controls such as Navigation, Fullscreen, Geolocate, Globe, Terrain, Scale, Attribution, and Logo are toggled from the desktop app's Controls menu. The same menu also opens Search, a standalone place search panel backed by the Components plugin. Keep project-specific controls such as Layer Control and Components in the plugin menu when they use the plugin API or need plugin lifecycle behavior. + +The Components plugin wraps `maplibre-gl-components` controls and wires their layer events into the GeoLibre store. It provides Add Data shortcuts for FlatGeobuf, PMTiles, Zarr, LiDAR, and Gaussian splats, while raster COG and GeoTIFF layers can also be added through the standard Add Raster Layer dialog. + +If a third-party MapLibre control needs app-specific styling fixes, add scoped overrides in `apps/geolibre-desktop/src/index.css` instead of editing files in `node_modules`. Keep selectors limited to the plugin control class. For example, GeoEditor toolbar buttons need a local override because MapLibre's default control button CSS can override their flex centering: + +```css +.geo-editor-control .geo-editor-tool-button { + align-items: center; + display: flex !important; + justify-content: center; + line-height: 0; + padding: 0; +} + +.geo-editor-control .geo-editor-tool-button svg { + display: block; + flex: 0 0 auto; + margin: 0; +} +``` + +Run checks before submitting changes: + +```bash +npm run build +pre-commit run --all-files +``` + +## Documentation + +Full documentation, including the User Guide and Tutorials, is published at +**[geolibre.app](https://geolibre.app)**. + +- **User Guide** - a [feature-by-feature reference](https://geolibre.app/user-guide/interface/) for the interface, adding data, layers, styling, the attribute table, map controls, processing, the SQL Workspace, data integrations, plugins, settings, and embedding. +- **Tutorials** - [hands-on, end-to-end workflows](https://geolibre.app/tutorials/): your first map, cloud-native data, vector analysis, terrain analysis, spatial SQL, and sharing and embedding. +- **Reference** + - [Architecture](docs/architecture.md) + - [Android](docs/android.md) + - [Project format](docs/project-format.md) + - [Plugin API](docs/plugin-api.md) + - [UI Profiles](docs/ui-profiles.md) + - [Python package (Jupyter)](docs/python.md) + - [Roadmap](docs/roadmap.md) + - [How to Cite](docs/citation.md) + +## Acknowledgements + +GeoLibre is built on the free and open-source geospatial and web communities — including MapLibre GL JS, deck.gl, DuckDB-WASM Spatial, Turf.js, Tauri, React, and many more. See the full [Acknowledgements](https://geolibre.app/acknowledgements/) page for the complete list of projects and community contributors. + +- The **Atmosphere Effects** plugin (deep-space backdrop, parallax starfield, comets, and the globe atmosphere halo) adapts the technique and visual design from [Leonel Dias](https://leoneljdias.github.io/)'s article [*Globe atmosphere, halo, and comets*](https://leoneljdias.github.io/posts/globe-atmosphere-halo-comets/) — the layered Canvas 2D approach, the halo gradient and "screen" blend, the limb-sampling that keeps the halo aligned under pitch, and the starfield/comet parameters. +- **Community contributors** — thanks to [**Ryanphoenix**](https://github.com/Ryanphoenix) for many valued contributions, including issue reports, feedback, and improvements. +- **Beta testers** — thanks to [**René van der Velde**](https://github.com/renevandervelde) (Netherlands) for early testing, detailed bug reports, and feature requests. + +## Citation + +If you use GeoLibre in your work, please cite it. GeoLibre is archived on [Zenodo](https://zenodo.org/), which mints a DOI for every release. The concept DOI below always resolves to the latest version. + +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20785400.svg)](https://doi.org/10.5281/zenodo.20785400) + +> Wu, Q. (2026). GeoLibre: A lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. Zenodo. + +You can also use GitHub's **"Cite this repository"** button (which reads [`CITATION.cff`](CITATION.cff)) to copy a ready-made APA or BibTeX entry. See the [How to Cite](https://geolibre.app/citation/) page for more formats. + +## License + +MIT diff --git a/README.wehub.md b/README.wehub.md new file mode 100644 index 0000000..067aacb --- /dev/null +++ b/README.wehub.md @@ -0,0 +1,7 @@ +# WeHub 来源说明 + +- 原始项目:`opengeos/GeoLibre` +- 原始仓库:https://github.com/opengeos/GeoLibre +- 导入方式:上游默认分支的最新快照 +- 原作者、版权和许可证信息以原始仓库及本仓库 LICENSE 为准 +- 本文件仅用于记录来源,不代表 WeHub 是原项目作者 diff --git a/apps/geolibre-desktop/index.html b/apps/geolibre-desktop/index.html new file mode 100644 index 0000000..eb27a17 --- /dev/null +++ b/apps/geolibre-desktop/index.html @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + GeoLibre + + +
+ + + diff --git a/apps/geolibre-desktop/jupyterlite/jupyter-lite.json b/apps/geolibre-desktop/jupyterlite/jupyter-lite.json new file mode 100644 index 0000000..82436b8 --- /dev/null +++ b/apps/geolibre-desktop/jupyterlite/jupyter-lite.json @@ -0,0 +1,6 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "exposeAppInBrowser": true + } +} diff --git a/apps/geolibre-desktop/jupyterlite/jupyter_lite_config.json b/apps/geolibre-desktop/jupyterlite/jupyter_lite_config.json new file mode 100644 index 0000000..5cd345a --- /dev/null +++ b/apps/geolibre-desktop/jupyterlite/jupyter_lite_config.json @@ -0,0 +1,6 @@ +{ + "LiteBuildConfig": { + "apps": ["lab", "tree", "notebooks", "repl"], + "no_unused_shared_packages": true + } +} diff --git a/apps/geolibre-desktop/jupyterlite/requirements.txt b/apps/geolibre-desktop/jupyterlite/requirements.txt new file mode 100644 index 0000000..61827d5 --- /dev/null +++ b/apps/geolibre-desktop/jupyterlite/requirements.txt @@ -0,0 +1,12 @@ +# Build-time dependencies for the self-hosted JupyterLite site embedded in the +# GeoLibre web build (see scripts/build-jupyterlite.mjs). These are NOT runtime +# app dependencies — they are only needed by whoever runs `npm run +# build:jupyterlite` to regenerate apps/geolibre-desktop/public/jupyterlite/. +# +# The in-browser Python kernel itself ships as WASM via jupyterlite-pyodide-kernel +# and pulls Pyodide (numpy, pandas, …) at runtime from a CDN; geopandas/shapely +# install on demand with `%pip install ...` / piplite. +jupyterlite-core>=0.4,<0.6 +jupyterlite-pyodide-kernel>=0.4,<0.6 +jupyterlab>=4.2,<5 +notebook>=7.2,<8 diff --git a/apps/geolibre-desktop/package.json b/apps/geolibre-desktop/package.json new file mode 100644 index 0000000..e64591a --- /dev/null +++ b/apps/geolibre-desktop/package.json @@ -0,0 +1,110 @@ +{ + "name": "geolibre-desktop", + "version": "2.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "predev": "node ../../scripts/build-jupyterlite.mjs --if-missing", + "prebuild": "node ../../scripts/build-jupyterlite.mjs", + "build": "tsc -b && vite build", + "preview": "vite preview", + "tauri": "tauri", + "tauri:dev": "tauri dev", + "tauri:build": "node ../../scripts/tauri-build.mjs", + "tauri:build:native-duckdb": "node ../../scripts/tauri-build.mjs --native-duckdb" + }, + "dependencies": { + "@anthropic-ai/sdk": "^0.110.0", + "@carbonplan/zarr-layer": "^0.6.0", + "@cereusdb/standard": "^0.2.0", + "@deck.gl/aggregation-layers": "9.3.6", + "@deck.gl/core": "^9.3.6", + "@deck.gl/geo-layers": "^9.3.6", + "@deck.gl/layers": "^9.3.6", + "@deck.gl/mapbox": "^9.3.6", + "@deck.gl/mesh-layers": "^9.3.6", + "@developmentseed/deck.gl-geotiff": "^0.7.0", + "@developmentseed/deck.gl-raster": "^0.7.0", + "@duckdb/duckdb-wasm": "1.33.1-dev57.0", + "@dvt3d/maplibre-three-plugin": "^1.6.0", + "@electric-sql/pglite": "^0.5.4", + "@electric-sql/pglite-postgis": "^0.2.4", + "@geolibre/core": "*", + "@geolibre/map": "*", + "@geolibre/plugins": "*", + "@geolibre/processing": "*", + "@geolibre/ui": "*", + "@geoman-io/maplibre-geoman-free": "^0.8.4", + "@google/genai": "^2.10.0", + "@mapbox/mapbox-gl-rtl-text": "^0.4.0", + "@modelcontextprotocol/sdk": "^1.25.2", + "@opentelemetry/api": "^1.9.0", + "@osmix/core": "^0.1.10", + "@osmix/geojson": "^0.0.15", + "@osmix/pbf": "^0.0.9", + "@strands-agents/sdk": "^1.7.0", + "@tanstack/react-virtual": "^3.14.5", + "@tauri-apps/api": "^2.11.1", + "@tauri-apps/plugin-dialog": "^2.7.1", + "@tauri-apps/plugin-fs": "^2.5.1", + "@tauri-apps/plugin-http": "^2.5.2", + "@tauri-apps/plugin-opener": "^2.5.4", + "apache-arrow": "^21.1.0", + "cesium": "^1.143.0", + "dompurify": "^3.4.10", + "exifr": "^7.1.3", + "fflate": "^0.8.3", + "gdal3.js": "^2.8.1", + "i18next": "^26.3.4", + "jspdf": "^4.2.1", + "mapillary-js": "^4.1.2", + "maplibre-gl": "^5.24.0", + "maplibre-gl-3d-tiles": "^0.5.4", + "maplibre-gl-basemap-control": "^0.12.0", + "maplibre-gl-components": "^0.25.4", + "maplibre-gl-duckdb": "^0.2.3", + "maplibre-gl-earth-engine": "^0.4.2", + "maplibre-gl-enviroatlas": "^0.1.1", + "maplibre-gl-esri-wayback": "^0.2.2", + "maplibre-gl-fema-wms": "^0.1.2", + "maplibre-gl-geo-editor": "^0.10.1", + "maplibre-gl-geoagent": "^0.5.4", + "maplibre-gl-lidar": "^0.16.2", + "maplibre-gl-nasa-earthdata": "^0.1.4", + "maplibre-gl-national-map": "^0.1.1", + "maplibre-gl-planetary-computer": "^0.3.0", + "maplibre-gl-raster": "^0.10.1", + "maplibre-gl-splat": "^0.2.8", + "maplibre-gl-streetview": "^0.7.0", + "maplibre-gl-swipe": "^0.10.1", + "maplibre-gl-time-slider": "^1.1.0", + "maplibre-gl-usgs-lidar": "^0.11.1", + "maplibre-gl-vector": "^0.9.2", + "openai": "^6.39.0", + "qrcode.react": "^4.2.0", + "react": "^19.2.7", + "react-dom": "^19.2.7", + "react-i18next": "^17.0.8", + "shpjs": "^6.2.0", + "sql.js": "^1.14.0", + "three": "^0.185.1", + "zod": "^4.4.3" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.3.2", + "@tauri-apps/cli": "^2.11.4", + "@types/geojson": "^7946.0.16", + "@types/react": "^19.2.17", + "@types/react-dom": "^19.2.3", + "@types/sql.js": "^1.4.9", + "@vitejs/plugin-react": "^6.0.3", + "esbuild": "^0.28.0", + "osmix": "^0.2.2", + "postcss": "^8.5.16", + "tailwindcss": "^4.3.0", + "typescript": "^6.0.3", + "vite": "^8.1.3", + "vite-plugin-pwa": "^1.3.0" + } +} diff --git a/apps/geolibre-desktop/postcss.config.js b/apps/geolibre-desktop/postcss.config.js new file mode 100644 index 0000000..c2ddf74 --- /dev/null +++ b/apps/geolibre-desktop/postcss.config.js @@ -0,0 +1,5 @@ +export default { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; diff --git a/apps/geolibre-desktop/public/apple-touch-icon.png b/apps/geolibre-desktop/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3b48a6f70552dec90bd3aea0028d85ac5daee1d5 GIT binary patch literal 20808 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/public/favicon.png b/apps/geolibre-desktop/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1153edf46d9c51e4cd9df68d8f4389d38c9c13f GIT binary patch literal 2588 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ɋozN(nT$}~1EUlOL7+P!_hS|2xCMyo(W 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%0AB8#x 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/public/plugins/.gitignore b/apps/geolibre-desktop/public/plugins/.gitignore new file mode 100644 index 0000000..c8cb122 --- /dev/null +++ b/apps/geolibre-desktop/public/plugins/.gitignore @@ -0,0 +1,6 @@ +# Plugins baked into the build are dropped here as public/plugins//. +# The plugin bundles themselves are not committed (they may be private and are +# copied in at build/deploy time); only this folder's convention docs are. +* +!.gitignore +!README.md diff --git a/apps/geolibre-desktop/public/plugins/README.md b/apps/geolibre-desktop/public/plugins/README.md new file mode 100644 index 0000000..60517c2 --- /dev/null +++ b/apps/geolibre-desktop/public/plugins/README.md @@ -0,0 +1,44 @@ +# Bundled plugins (drop-in folder) + +Drop a plugin here to **bake it into the GeoLibre build**. It loads +automatically on startup with no Settings entry and no manifest URL — on both +the **web** build and the **desktop** build (the desktop app ships the same +frontend, so one folder serves both). + +## Layout + +One folder per plugin, named by its plugin id, with a `plugin.json` at its root +(the exact same content a manifest URL would serve): + +```text +public/plugins/ + my-plugin/ + plugin.json # { "id", "name", "version", "entry", "style"? } + dist/ + index.js # the "entry" referenced by plugin.json + style.css # the optional "style" referenced by plugin.json +``` + +`entry` and `style` in `plugin.json` are resolved relative to the manifest, so +keep them inside the plugin's own folder. + +## How it works + +The `bundledPlugins()` Vite plugin +(`apps/geolibre-desktop/vite-plugins/bundled-plugins.ts`) scans this directory +at build and dev-server start and exposes the discovered manifest paths via the +`virtual:bundled-plugins` module. `usePlugins.ts` turns those into origin-absolute +URLs and loads them through the normal external-plugin path (fetch → blob import +→ register). Adding or removing a plugin is just adding or removing a folder — +no code changes. + +Discovery happens at **build time**, so a dev server or production build must be +(re)started after adding, updating, or removing a plugin folder. + +## Private plugins + +The bundles are **git-ignored** (see `.gitignore`) so private plugin code stays +out of this repo's history. Copy the plugin folder in at build/deploy time (for +example, in CI before `npm run build`, or with a plugin repo's own install +script). The discovery code is generic and committed; only the plugin payload +is excluded. diff --git a/apps/geolibre-desktop/public/pwa-192x192.png b/apps/geolibre-desktop/public/pwa-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..a570783bf775dfb1db50bf5bc67eadb17f8beb42 GIT binary patch literal 39326 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 z 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 MNhL_NxM9Hm10AkYX8-^I literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/public/pyodide/pyodide-worker.js b/apps/geolibre-desktop/public/pyodide/pyodide-worker.js new file mode 100644 index 0000000..986fbbb --- /dev/null +++ b/apps/geolibre-desktop/public/pyodide/pyodide-worker.js @@ -0,0 +1,103 @@ +/* + * GeoLibre Pyodide vector worker (classic Web Worker). + * + * Runs the GeoPandas/Shapely vector tools entirely in the browser. This is a + * plain JS file served from public/ (NOT bundled by Vite) on purpose: Pyodide + * 0.27's loader only supports a classic worker (importScripts) or the main + * thread — a module worker hits its "Cannot determine runtime environment" + * error. Loading the CDN UMD via importScripts also avoids bundling + * pyodide.mjs's dynamic node: imports. + * + * Protocol (postMessage): + * in: { type: "init", indexURL, vectorOpsSource } + * { type: "run", id, request } // request = {tool_id, geojson, overlay, parameters} + * out: { type: "progress", phase } + * { type: "ready" } + * { type: "result", id, geojson, messages } + * { type: "error", id, message } // id omitted for init failures + * + * The main thread (pyodide-vector-loader.ts) reads the Python source via a Vite + * ?raw import and hands it over in the init message, so the single + * source-of-truth backend module is what runs here. + */ + +let readyPromise = null; +let pyodide = null; + +async function initialize(indexURL, vectorOpsSource) { + self.postMessage({ type: "progress", phase: "Downloading Python runtime" }); + // The UMD build attaches loadPyodide to the worker global scope. + // Trust note: importScripts has no SRI, and Pyodide loads its own + // pyodide.asm.js/WASM from indexURL internally, so verifying this entry + // script alone would not secure the runtime. The default CDN therefore + // carries a trust assumption; self-host via VITE_PYODIDE_INDEX_URL to remove + // the external dependency (see docs/user-guide/processing.md). + self.importScripts(`${indexURL}pyodide.js`); + pyodide = await self.loadPyodide({ indexURL }); + + self.postMessage({ type: "progress", phase: "Loading GeoPandas" }); + // geopandas pulls shapely, pyproj, pandas, numpy, fiona transitively. + await pyodide.loadPackage("geopandas"); + + // Define run_vector_tool / run_vector_tool_json (the shared backend module). + pyodide.runPython(vectorOpsSource); + self.postMessage({ type: "ready" }); +} + +self.onmessage = async (event) => { + const data = event.data || {}; + + if (data.type === "init") { + readyPromise ??= initialize(data.indexURL, data.vectorOpsSource).catch( + (err) => { + // Reset so a later init can retry after a transient failure. + readyPromise = null; + self.postMessage({ + type: "error", + message: + err && err.message ? err.message : "Failed to load Python runtime", + }); + // Do not re-throw: the posted "error" message is the sole error + // channel, and re-throwing would reject this catch() promise with no + // live awaiter (readyPromise is already null) — an unhandled rejection. + }, + ); + return; + } + + if (data.type === "run") { + const { id, request } = data; + try { + if (!readyPromise) throw new Error("Pyodide worker not initialized"); + await readyPromise; + // A run that was awaiting readyPromise when init failed lands here with no + // runtime; surface a clean error rather than a null dereference below. + if (!pyodide) throw new Error("Python runtime is not available"); + // JSON-string boundary: avoids PyProxy lifetime management and matches the + // sidecar's JSON contract exactly. + const fn = pyodide.globals.get("run_vector_tool_json"); + // fn is a PyProxy and must be destroyed even if the call throws (e.g. a + // GeoPandas ValueError), or it leaks the underlying Python object. Use + // optional chaining so a missing global doesn't mask the original error. + let out; + try { + out = fn(JSON.stringify(request)); + } finally { + fn?.destroy(); + } + const parsed = JSON.parse(out); + self.postMessage({ + type: "result", + id, + geojson: parsed.geojson, + messages: parsed.messages, + }); + } catch (err) { + self.postMessage({ + type: "error", + id, + message: err && err.message ? err.message : String(err), + }); + } + } +}; diff --git a/apps/geolibre-desktop/public/whitebox-catalog-snapshot.json b/apps/geolibre-desktop/public/whitebox-catalog-snapshot.json new file mode 100644 index 0000000..1e455f8 --- /dev/null +++ b/apps/geolibre-desktop/public/whitebox-catalog-snapshot.json @@ -0,0 +1 @@ +{"tool_count":775,"tools":[{"id":"build_object_hierarchy_multiscale","display_name":"Build Object Hierarchy Multiscale","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"coarse_segments","description":"Coarse Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"fine_segments","description":"Fine Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"classify_objects_ensemble_pro","display_name":"Classify Objects Ensemble Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"features","description":"Features","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"training","description":"Training","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"segment_id_field","description":"Segment Id Field","type":"str","required":false,"default":"segment_id","options":[],"kind":"string"},{"name":"class_field","description":"Class Field","type":"str","required":false,"default":"class","options":[],"kind":"lidar_in"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":400,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"classify_objects_random_forest","display_name":"Classify Objects Random Forest","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"features","description":"Features","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"training","description":"Training","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"segment_id_field","description":"Segment Id Field","type":"str","required":false,"default":"segment_id","options":[],"kind":"string"},{"name":"class_field","description":"Class Field","type":"str","required":false,"default":"class","options":[],"kind":"lidar_in"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"classify_objects_rules_basic","display_name":"Classify Objects Rules Basic","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"features","description":"Features","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"rules","description":"Rules","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"default_class","description":"Default Class","type":"str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"classify_objects_rules_hierarchical","display_name":"Classify Objects Rules Hierarchical","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"features","description":"Features","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"rules","description":"Rules","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"default_class","description":"Default Class","type":"str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"classify_objects_svm","display_name":"Classify Objects Svm","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"features","description":"Features","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"training","description":"Training","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"segment_id_field","description":"Segment Id Field","type":"str","required":false,"default":"segment_id","options":[],"kind":"string"},{"name":"class_field","description":"Class Field","type":"str","required":false,"default":"class","options":[],"kind":"lidar_in"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"evaluate_object_classification_accuracy","display_name":"Evaluate Object Classification Accuracy","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"predictions","description":"Predictions","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"reference","description":"Reference","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"segment_id_field","description":"Segment Id Field","type":"str","required":false,"default":"segment_id","options":[],"kind":"string"},{"name":"predicted_field","description":"Predicted Field","type":"str","required":false,"default":"predicted_class","options":[],"kind":"string"},{"name":"reference_field","description":"Reference Field","type":"str","required":false,"default":"class","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"evaluate_segmentation_quality_pro","display_name":"Evaluate Segmentation Quality Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"reference","description":"Reference","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"image_segmentation","display_name":"Image Segmentation","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"steps","description":"Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"min_area","description":"Min Area","type":"int","required":false,"default":4,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"image_slider","display_name":"Image Slider","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"left_raster","description":"Left Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"right_raster","description":"Right Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output_html_file","description":"Output Html File","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"left_label","description":"Left Label","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"right_label","description":"Right Label","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"image_height","description":"Image Height","type":"int","required":false,"default":600,"options":[],"kind":"int"}],"return_type":"str"},{"id":"image_stack_profile","display_name":"Image Stack Profile","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output_html","description":"Output Html","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"obia_audit_report_pro","display_name":"Obia Audit Report Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"artifacts","description":"Artifacts","type":"list[str]","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"obia_batch_orchestrator_pro","display_name":"Obia Batch Orchestrator Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"jobs","description":"Jobs","type":"list[dict[str, Any]]","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"dict[str, Any]"},{"id":"obia_pipeline_basic","display_name":"Obia Pipeline Basic","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training","description":"Training","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output Prefix","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"segment_method","description":"Segment Method","type":"str","required":false,"default":"slic","options":[],"kind":"string"},{"name":"min_size","description":"Min Size","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"class_field","description":"Class Field","type":"str","required":false,"default":"class","options":[],"kind":"lidar_in"}],"return_type":"dict[str, Any]"},{"id":"object_class_probability_maps","display_name":"Object Class Probability Maps","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"predictions","description":"Predictions","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_features_context_neighbors","display_name":"Object Features Context Neighbors","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_features_shape_basic","display_name":"Object Features Shape Basic","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_features_spectral_basic","display_name":"Object Features Spectral Basic","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_features_texture_glcm_basic","display_name":"Object Features Texture Glcm Basic","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"levels","description":"Levels","type":"int","required":false,"default":16,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_features_topology_relations","display_name":"Object Features Topology Relations","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"object_uncertainty_diagnostics_pro","display_name":"Object Uncertainty Diagnostics Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"probabilities","description":"Probabilities","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"low_conf_threshold","description":"Low Conf Threshold","type":"float","required":false,"default":0.7,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"objects_boundary_refinement_pro","display_name":"Objects Boundary Refinement Pro","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"iterations","description":"Iterations","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"min_size","description":"Min Size","type":"int","required":false,"default":6,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"objects_enforce_min_mapping_unit","display_name":"Objects Enforce Min Mapping Unit","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_size","description":"Min Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"method","description":"Method","type":"str","required":false,"default":"longest","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"polygons_to_segments","display_name":"Polygons To Segments","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"field","description":"Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"propagate_labels_across_hierarchy","display_name":"Propagate Labels Across Hierarchy","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"hierarchy","description":"Hierarchy","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"parent_labels","description":"Parent Labels","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"child_labels","description":"Child Labels","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"segment_graph_felzenszwalb","display_name":"Segment Graph Felzenszwalb","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"k","description":"K","type":"float","required":false,"default":500,"options":[],"kind":"double"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":0.8,"options":[],"kind":"double"},{"name":"min_area","description":"Min Area","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"segment_multiresolution_hierarchical","display_name":"Segment Multiresolution Hierarchical","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"coarse_k","description":"Coarse K","type":"float","required":false,"default":800,"options":[],"kind":"double"},{"name":"fine_k","description":"Fine K","type":"float","required":false,"default":250,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, str]"},{"id":"segment_scale_parameter_optimizer","display_name":"Segment Scale Parameter Optimizer","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"candidate_scales","description":"Candidate Scales","type":"list[float] | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"segment_slic_superpixels","display_name":"Segment Slic Superpixels","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"region_size","description":"Region Size","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"compactness","description":"Compactness","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"min_area","description":"Min Area","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"segment_watershed_markers","display_name":"Segment Watershed Markers","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"gradient_weight","description":"Gradient Weight","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"min_area","description":"Min Area","type":"int","required":false,"default":12,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"segments_merge_small_regions","display_name":"Segments Merge Small Regions","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_size","description":"Min Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"method","description":"Method","type":"str","required":false,"default":"longest","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"segments_split_low_cohesion","display_name":"Segments Split Low Cohesion","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"split_scale","description":"Split Scale","type":"float","required":false,"default":120,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"segments_to_polygons","display_name":"Segments To Polygons","summary":"","category":"Remote Sensing - OBIA","taxonomy_category":"remote_sensing","taxonomy_subcategory":"obia","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"segments","description":"Segments","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"field","description":"Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"evaluate_training_sites","display_name":"Evaluate Training Sites","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"fuzzy_knn_classification","display_name":"Fuzzy Knn Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"k","description":"K","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"m","description":"M","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"probability_output","description":"Probability Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"tuple[Raster, Raster]"},{"id":"generalize_classified_raster","display_name":"Generalize Classified Raster","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"area_threshold","description":"Area Threshold","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"method","description":"Method","type":"str","required":false,"default":"longest","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"generalize_with_similarity","display_name":"Generalize With Similarity","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"similarity_rasters","description":"Similarity Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_size","description":"Min Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"k_means_clustering","display_name":"K Means Clustering","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"classes","description":"Classes","type":"int","required":true,"default":null,"options":[],"kind":"int"},{"name":"max_iterations","description":"Max Iterations","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"class_change","description":"Class Change","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"initialize","description":"Initialize","type":"str","required":false,"default":"diagonal","options":[],"kind":"string"},{"name":"min_class_size","description":"Min Class Size","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"out_html","description":"Out Html","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, int, str | None]"},{"id":"knn_classification","display_name":"Knn Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"k","description":"K","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"use_clipping","description":"Use Clipping","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"knn_regression","display_name":"Knn Regression","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"k","description":"K","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"distance_weighting","description":"Distance Weighting","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"logistic_regression","display_name":"Logistic Regression","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"alpha","description":"Alpha","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"min_dist_classification","display_name":"Min Dist Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"dist_threshold","description":"Dist Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"modified_k_means_clustering","display_name":"Modified K Means Clustering","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"merge_dist","description":"Merge Dist","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"start_clusters","description":"Start Clusters","type":"int","required":false,"default":1000,"options":[],"kind":"int"},{"name":"max_iterations","description":"Max Iterations","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"class_change","description":"Class Change","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"out_html","description":"Out Html","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, int, str | None]"},{"id":"nnd_classification","display_name":"Nnd Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"z_threshold","description":"Z Threshold","type":"float","required":false,"default":1.96,"options":[],"kind":"double"},{"name":"outlier_is_zero","description":"Outlier Is Zero","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"k","description":"K","type":"int","required":false,"default":25,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"otsu_thresholding","display_name":"Otsu Thresholding","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"parallelepiped_classification","display_name":"Parallelepiped Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_forest_classification","display_name":"Random Forest Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"min_samples_leaf","description":"Min Samples Leaf","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"min_samples_split","description":"Min Samples Split","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_forest_regression","display_name":"Random Forest Regression","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"min_samples_leaf","description":"Min Samples Leaf","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"min_samples_split","description":"Min Samples Split","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"svm_classification","display_name":"Svm Classification","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"kernel","description":"Kernel","type":"str","required":false,"default":"linear","options":[],"kind":"string"},{"name":"c","description":"C","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"gamma","description":"Gamma","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"epoch","description":"Epoch","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"svm_regression","display_name":"Svm Regression","summary":"","category":"Remote Sensing - Classification","taxonomy_category":"remote_sensing","taxonomy_subcategory":"classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"kernel","description":"Kernel","type":"str","required":false,"default":"linear","options":[],"kind":"string"},{"name":"c","description":"C","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"gamma","description":"Gamma","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"eps","description":"Eps","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"tol","description":"Tol","type":"float","required":false,"default":0.001,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"change_vector_analysis","display_name":"Change Vector Analysis","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"date1","description":"Date1","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"date2","description":"Date2","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"magnitude_output","description":"Magnitude Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"direction_output","description":"Direction Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"image_difference_change_detection","display_name":"Image Difference Change Detection","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"t1_inputs","description":"T1 Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"t2_inputs","description":"T2 Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"mode","description":"Mode","type":"str","required":false,"default":"magnitude","options":[],"kind":"string"},{"name":"threshold_sigma","description":"Threshold Sigma","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_absolute","description":"Output Absolute","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_signed","description":"Output Signed","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_mask","description":"Output Mask","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"}],"return_type":"Any"},{"id":"pca_based_change_detection","display_name":"Pca Based Change Detection","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"t1_inputs","description":"T1 Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"t2_inputs","description":"T2 Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"component","description":"Component","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"standardized","description":"Standardized","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"threshold_sigma","description":"Threshold Sigma","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_mask","description":"Output Mask","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_report","description":"Output Report","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"}],"return_type":"Any"},{"id":"post_classification_change","display_name":"Post Classification Change","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"t1_classified","description":"T1 Classified","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"t2_classified","description":"T2 Classified","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"transition_scale","description":"Transition Scale","type":"int","required":false,"default":1000,"options":[],"kind":"int"},{"name":"t1_class_remap","description":"T1 Class Remap","type":"dict[Any, Any] | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"t2_class_remap","description":"T2 Class Remap","type":"dict[Any, Any] | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"remote_sensing_change_detection","display_name":"Remote Sensing Change Detection","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_bundle","description":"Baseline Bundle","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"change_bundle","description":"Change Bundle","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"baseline_red_band_index","description":"Baseline Red Band Index","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"baseline_nir_band_index","description":"Baseline Nir Band Index","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"change_red_band_index","description":"Change Red Band Index","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"change_nir_band_index","description":"Change Nir Band Index","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"intermediate_ndvi","description":"Intermediate Ndvi","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"profile","description":"Profile","type":"str","required":false,"default":"balanced","options":[],"kind":"file_in"},{"name":"high_confidence_threshold","description":"High Confidence Threshold","type":"float","required":false,"default":0.85,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, str]"},{"id":"time_series_change_intelligence","display_name":"Time Series Change Intelligence","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input_stack","description":"Input Stack","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"qa_stack","description":"Qa Stack","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"algorithm_mode","description":"Algorithm Mode","type":"str","required":false,"default":"fast","options":[],"kind":"string"},{"name":"min_observations","description":"Min Observations","type":"int","required":false,"default":24,"options":[],"kind":"int"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster, Raster, str]"},{"id":"write_function_memory_insertion","display_name":"Write Function Memory Insertion","summary":"","category":"Remote Sensing - Change Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"change_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input3","description":"Input3","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"brdf_surface_reflectance_consistency","display_name":"Brdf Surface Reflectance Consistency","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input_red","description":"Input Red","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_nir","description":"Input Nir","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_dem","description":"Input Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"solar_zenith_deg","description":"Solar Zenith Deg","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"solar_azimuth_deg","description":"Solar Azimuth Deg","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"input_green","description":"Input Green","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"profile","description":"Profile","type":"str","required":false,"default":"balanced","options":[],"kind":"file_in"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster, str]"},{"id":"brdf_normalization","display_name":"Brdf Normalization","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_raster","description":"Input reflectance raster to normalize (single band or multi-band stack).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_dem","description":"DEM raster co-registered with the input (same grid or will be resampled to match).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"solar_zenith_deg","description":"Solar zenith angle in degrees at acquisition time.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"solar_azimuth_deg","description":"Solar azimuth angle in degrees (clockwise from north) at acquisition time.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"method","description":"Correction method: c_correction (default) or minnaert.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"minnaert_k","description":"Minnaert k coefficient in [0,1] (default 0.5). Only used when method=minnaert.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"z_factor","description":"Vertical exaggeration for DEM slope/aspect computation (default 1.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output_prefix","description":"Prefix for output files (default brdf_normalized).","type":"file","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"output","description":"Output path for normalized raster (overrides output_prefix for single-output mode).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"correct_vignetting","display_name":"Correct Vignetting","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pp","description":"Pp","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"focal_length","description":"Focal Length","type":"float","required":false,"default":304.8,"options":[],"kind":"double"},{"name":"image_width","description":"Image Width","type":"float","required":false,"default":228.6,"options":[],"kind":"double"},{"name":"n","description":"N","type":"float","required":false,"default":4,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dark_object_subtraction","display_name":"Dark Object Subtraction","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"percentile","description":"Percentile","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"clamp_non_negative","description":"Clamp Non Negative","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_diagnostic_offsets","description":"Output Diagnostic Offsets","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"dn_to_toa_reflectance","display_name":"Dn To Toa Reflectance","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"reflectance_mult","description":"Reflectance Mult","type":"Any | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"reflectance_add","description":"Reflectance Add","type":"Any | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"sensor_bundle_root","description":"Sensor Bundle Root","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"sun_elevation_deg","description":"Sun Elevation Deg","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"apply_solar_correction","description":"Apply Solar Correction","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"clamp_unit_interval","description":"Clamp Unit Interval","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"terrain_corrected_optical_analytics","display_name":"Terrain Corrected Optical Analytics","summary":"","category":"Remote Sensing - Radiometric Correction","taxonomy_category":"remote_sensing","taxonomy_subcategory":"radiometric_correction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_dem","description":"DEM raster co-registered with optical bands.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"bundle_root","description":"Optional optical sensor bundle root directory (currently Sentinel-2 SAFE, Landsat, or DIMAP SPOT/Pleiades) used to auto-resolve required bands, QA when available, and solar metadata when explicit inputs are omitted.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"input_red","description":"Red band raster (optional when bundle_root is provided).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"input_nir","description":"NIR band raster (optional when bundle_root is provided).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"input_green","description":"Green band raster (optional).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"input_blue","description":"Blue band raster (optional). Auto-resolved from bundle metadata when bundle_root is provided.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"solar_mode","description":"Solar-angle resolution mode: auto, manual, metadata, datetime_location.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"solar_zenith_deg","description":"Solar zenith angle in degrees (required in manual mode).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"solar_azimuth_deg","description":"Solar azimuth in degrees (clockwise from north, required in manual mode).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"acquisition_datetime_utc","description":"Acquisition timestamp in RFC3339 UTC for datetime_location mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"latitude","description":"Optional latitude for datetime_location mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"longitude","description":"Optional longitude for datetime_location mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"profile","description":"Processing profile: conservative, balanced, fast.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cloud_threshold","description":"Optional cloud threshold in source band units. Auto-inferred when omitted.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"shadow_threshold","description":"Optional cloud-shadow threshold in source band units. Auto-inferred when omitted.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"qa_mask","description":"Optional QA mask raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"qa_mask_format","description":"QA mask encoding: auto, landsat_qa_pixel, sentinel2_scl, sentinel2_qa60, binary.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mask_strategy","description":"Mask strategy: auto, qa_only, heuristic_only, qa_plus_heuristic.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"z_factor","description":"Vertical exaggeration for slope/aspect.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output_prefix","description":"Prefix for all output artifacts.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"land_surface_temperature_single_channel","display_name":"Land Surface Temperature Single Channel","summary":"","category":"Remote Sensing - Thermal & Emissivity","taxonomy_category":"remote_sensing","taxonomy_subcategory":"thermal_emissivity","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"thermal_input","description":"Thermal Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_is_brightness_temp","description":"Input Is Brightness Temp","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"emissivity_input","description":"Emissivity Input","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"emissivity_constant","description":"Emissivity Constant","type":"float","required":false,"default":0.98,"options":[],"kind":"double"},{"name":"sensor_bundle_root","description":"Sensor Bundle Root","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"thermal_band_number","description":"Thermal Band Number","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"radiance_mult","description":"Radiance Mult","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"radiance_add","description":"Radiance Add","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k1_constant","description":"K1 Constant","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k2_constant","description":"K2 Constant","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"wavelength_um","description":"Wavelength Um","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output_units","description":"Output Units","type":"str","required":false,"default":"celsius","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"land_surface_temperature_split_window","display_name":"Land Surface Temperature Split Window","summary":"","category":"Remote Sensing - Thermal & Emissivity","taxonomy_category":"remote_sensing","taxonomy_subcategory":"thermal_emissivity","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"thermal1_input","description":"Thermal1 Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"thermal2_input","description":"Thermal2 Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_is_brightness_temp","description":"Input Is Brightness Temp","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"emissivity_mean_input","description":"Emissivity Mean Input","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"emissivity_delta_input","description":"Emissivity Delta Input","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"emissivity_mean_constant","description":"Emissivity Mean Constant","type":"float","required":false,"default":0.98,"options":[],"kind":"double"},{"name":"emissivity_delta_constant","description":"Emissivity Delta Constant","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"sensor_bundle_root","description":"Sensor Bundle Root","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"thermal_band1_number","description":"Thermal Band1 Number","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"thermal_band2_number","description":"Thermal Band2 Number","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"radiance1_mult","description":"Radiance1 Mult","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"radiance1_add","description":"Radiance1 Add","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k1_1","description":"K1 1","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k2_1","description":"K2 1","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"radiance2_mult","description":"Radiance2 Mult","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"radiance2_add","description":"Radiance2 Add","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k1_2","description":"K1 2","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"k2_2","description":"K2 2","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"coeff_a0","description":"Coeff A0","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"coeff_a1","description":"Coeff A1","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"coeff_a2","description":"Coeff A2","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"coeff_a3","description":"Coeff A3","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"coeff_a4","description":"Coeff A4","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"coeff_a5","description":"Coeff A5","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output_units","description":"Output Units","type":"str","required":false,"default":"celsius","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"ndvi_based_emissivity","display_name":"Ndvi Based Emissivity","summary":"","category":"Remote Sensing - Thermal & Emissivity","taxonomy_category":"remote_sensing","taxonomy_subcategory":"thermal_emissivity","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"red_input","description":"Red Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"nir_input","description":"Nir Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"ndvi_soil","description":"Ndvi Soil","type":"float","required":false,"default":0.2,"options":[],"kind":"double"},{"name":"ndvi_vegetation","description":"Ndvi Vegetation","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"emissivity_soil","description":"Emissivity Soil","type":"float","required":false,"default":0.97,"options":[],"kind":"double"},{"name":"emissivity_vegetation","description":"Emissivity Vegetation","type":"float","required":false,"default":0.99,"options":[],"kind":"double"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"continuum_removal","display_name":"Continuum Removal","summary":"","category":"Remote Sensing - Spectral Analytics","taxonomy_category":"remote_sensing","taxonomy_subcategory":"spectral_analytics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"wavelengths","description":"Wavelengths","type":"Any | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"linear_spectral_unmixing","display_name":"Linear Spectral Unmixing","summary":"","category":"Remote Sensing - Spectral Analytics","taxonomy_category":"remote_sensing","taxonomy_subcategory":"spectral_analytics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"endmembers","description":"Endmembers","type":"Any","required":true,"default":null,"options":[],"kind":"string"},{"name":"sum_to_one","description":"Sum To One","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"iterations","description":"Iterations","type":"int","required":false,"default":80,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_residual","description":"Output Residual","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"minimum_noise_fraction","display_name":"Minimum Noise Fraction","summary":"","category":"Remote Sensing - Spectral Analytics","taxonomy_category":"remote_sensing","taxonomy_subcategory":"spectral_analytics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_components","description":"Num Components","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"noise_mode","description":"Noise Mode","type":"str","required":false,"default":"difference_x","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_inverse","description":"Output Inverse","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"spectral_angle_mapper","display_name":"Spectral Angle Mapper","summary":"","category":"Remote Sensing - Spectral Analytics","taxonomy_category":"remote_sensing","taxonomy_subcategory":"spectral_analytics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"endmembers","description":"Endmembers","type":"Any","required":true,"default":null,"options":[],"kind":"string"},{"name":"threshold_angle_deg","description":"Threshold Angle Deg","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_angle","description":"Output Angle","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"spectral_library_matching","display_name":"Spectral Library Matching","summary":"","category":"Remote Sensing - Spectral Analytics","taxonomy_category":"remote_sensing","taxonomy_subcategory":"spectral_analytics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"library","description":"Library","type":"Any | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"library_csv","description":"Library Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"metric","description":"Metric","type":"str","required":false,"default":"sam","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_score","description":"Output Score","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"canny_edge_detection","display_name":"Canny Edge Detection","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"low_threshold","description":"Low Threshold","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"high_threshold","description":"High Threshold","type":"float","required":false,"default":0.15,"options":[],"kind":"double"},{"name":"add_back","description":"Add Back","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"corner_detection","display_name":"Corner Detection","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"laplacian_filter","display_name":"Laplacian Filter","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"variant","description":"Variant","type":"str","required":false,"default":"3x3(1)","options":[],"kind":"string"},{"name":"clip_amount","description":"Clip Amount","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"laplacian_of_gaussians_filter","display_name":"Laplacian Of Gaussians Filter","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"prewitt_filter","display_name":"Prewitt Filter","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip_tails","description":"Clip Tails","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"roberts_cross_filter","display_name":"Roberts Cross Filter","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip_amount","description":"Clip Amount","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sobel_filter","display_name":"Sobel Filter","summary":"","category":"Remote Sensing - Edge & Feature Detection","taxonomy_category":"remote_sensing","taxonomy_subcategory":"edge_feature_detection","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"variant","description":"Variant","type":"str","required":false,"default":"3x3","options":[],"kind":"string"},{"name":"clip_tails","description":"Clip Tails","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"balance_contrast_enhancement","display_name":"Balance Contrast Enhancement","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"image","description":"Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"band_mean","description":"Band Mean","type":"float","required":false,"default":100,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"create_colour_composite","display_name":"Create Colour Composite","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"red","description":"Red","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"green","description":"Green","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"blue","description":"Blue","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"opacity","description":"Opacity","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"enhance","description":"Enhance","type":"bool | None","required":false,"default":null,"options":[],"kind":"bool"},{"name":"treat_zeros_as_nodata","description":"Treat Zeros As Nodata","type":"bool | None","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"direct_decorrelation_stretch","display_name":"Direct Decorrelation Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"image","description":"Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"achromatic_factor","description":"Achromatic Factor","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"clip_percent","description":"Clip Percent","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"false_colour_composite","display_name":"False Colour Composite","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"wbe","description":"Wbe","type":"Any","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"gamma_correction","display_name":"Gamma Correction","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"gamma_value","description":"Gamma Value","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"gaussian_contrast_stretch","display_name":"Gaussian Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"histogram_equalization","display_name":"Histogram Equalization","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"histogram_matching","display_name":"Histogram Matching","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"image","description":"Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"histogram","description":"Histogram","type":"list[list[float]]","required":true,"default":null,"options":[],"kind":"double"},{"name":"histo_is_cumulative","description":"Histo Is Cumulative","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"histogram_matching_two_images","display_name":"Histogram Matching Two Images","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"reference","description":"Reference","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"ihs_to_rgb","display_name":"Ihs To Rgb","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"intensity","description":"Intensity","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"hue","description":"Hue","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"saturation","description":"Saturation","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"red_output","description":"Red Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"green_output","description":"Green Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blue_output","description":"Blue Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster]"},{"id":"min_max_contrast_stretch","display_name":"Min Max Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_val","description":"Min Val","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"max_val","description":"Max Val","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"mosaic","display_name":"Mosaic","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"method","description":"Method","type":"str","required":false,"default":"nn","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"mosaic_with_feathering","display_name":"Mosaic With Feathering","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"method","description":"Method","type":"str","required":false,"default":"cc","options":[],"kind":"string"},{"name":"weight","description":"Weight","type":"float","required":false,"default":4,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"normalized_difference_index","display_name":"Normalized Difference Index","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"nir_image","description":"Nir Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"red_image","description":"Red Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip_percent","description":"Clip Percent","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"correction_value","description":"Correction Value","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"panchromatic_sharpening","display_name":"Panchromatic Sharpening","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"pan","description":"Pan","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"red","description":"Red","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"green","description":"Green","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"blue","description":"Blue","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"composite","description":"Composite","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"method","description":"Method","type":"str","required":false,"default":"brovey","options":[],"kind":"string"},{"name":"output_mode","description":"Output Mode","type":"str","required":false,"default":"packed","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"percentage_contrast_stretch","display_name":"Percentage Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip","description":"Clip","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"tail","description":"Tail","type":"str","required":false,"default":"both","options":[],"kind":"string"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"piecewise_contrast_stretch","display_name":"Piecewise Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"transformation_statement","description":"Transformation Statement","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"num_greytones","description":"Num Greytones","type":"float","required":false,"default":1024,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"resample","display_name":"Resample","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"base","description":"Base","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"method","description":"Method","type":"str","required":false,"default":"cc","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"rgb_to_ihs","display_name":"Rgb To Ihs","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"red","description":"Red","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"green","description":"Green","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"blue","description":"Blue","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"composite","description":"Composite","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"intensity_output","description":"Intensity Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"hue_output","description":"Hue Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"saturation_output","description":"Saturation Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster]"},{"id":"sigmoidal_contrast_stretch","display_name":"Sigmoidal Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"cutoff","description":"Cutoff","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"gain","description":"Gain","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"split_colour_composite","display_name":"Split Colour Composite","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"red_output","description":"Red Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"green_output","description":"Green Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blue_output","description":"Blue Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster]"},{"id":"standard_deviation_contrast_stretch","display_name":"Standard Deviation Contrast Stretch","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip","description":"Clip","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"num_tones","description":"Num Tones","type":"int","required":false,"default":256,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"true_colour_composite","display_name":"True Colour Composite","summary":"","category":"Remote Sensing - Enhancement & Contrast","taxonomy_category":"remote_sensing","taxonomy_subcategory":"enhancement_contrast","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"wbe","description":"Wbe","type":"Any","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"adaptive_filter","display_name":"Adaptive Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"anisotropic_diffusion_filter","display_name":"Anisotropic Diffusion Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"iterations","description":"Iterations","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"kappa","description":"Kappa","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"lambda_","description":"Lambda","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"bilateral_filter","display_name":"Bilateral Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma_dist","description":"Sigma Dist","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"sigma_int","description":"Sigma Int","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"closing","display_name":"Closing","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"conservative_smoothing_filter","display_name":"Conservative Smoothing Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"diff_of_gaussians_filter","display_name":"Diff Of Gaussians Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma1","description":"Sigma1","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"sigma2","description":"Sigma2","type":"float","required":false,"default":4,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"diversity_filter","display_name":"Diversity Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"edge_preserving_mean_filter","display_name":"Edge Preserving Mean Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":15,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"emboss_filter","display_name":"Emboss Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"direction","description":"Direction","type":"Literal[\"n\", \"s\", \"e\", \"w\", \"ne\", \"nw\", \"se\", \"sw\"]","required":false,"default":"n","options":[],"kind":"string"},{"name":"clip_amount","description":"Clip Amount","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fast_almost_gaussian_filter","display_name":"Fast Almost Gaussian Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":1.8,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"flip_image","display_name":"Flip Image","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"direction","description":"Direction","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"frangi_filter","display_name":"Frangi Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"scales","description":"Scales","type":"list[float] | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"beta","description":"Beta","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"c","description":"C","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"gabor_filter_bank","display_name":"Gabor Filter Bank","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"frequency","description":"Frequency","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"orientations","description":"Orientations","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"gaussian_filter","display_name":"Gaussian Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"glcm_texture","display_name":"Glcm Texture","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"window_size","description":"Window Size","type":"int","required":false,"default":7,"options":[],"kind":"int"},{"name":"distance","description":"Distance","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"angles","description":"Angles","type":"str","required":false,"default":"0,45,90,135","options":[],"kind":"string"},{"name":"features","description":"Features","type":"str","required":false,"default":"contrast,homogeneity,energy,entropy","options":[],"kind":"string"},{"name":"direction_aggregation","description":"Direction Aggregation","type":"str","required":false,"default":"mean","options":[],"kind":"string"},{"name":"levels","description":"Levels","type":"int","required":false,"default":32,"options":[],"kind":"int"},{"name":"symmetric","description":"Symmetric","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"guided_filter","display_name":"Guided Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"epsilon","description":"Epsilon","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"high_pass_bilateral_filter","display_name":"High Pass Bilateral Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma_dist","description":"Sigma Dist","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"sigma_int","description":"Sigma Int","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"treat_as_rgb","description":"Treat As Rgb","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"assume_three_band_rgb","description":"Assume Three Band Rgb","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"high_pass_filter","display_name":"High Pass Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"high_pass_median_filter","display_name":"High Pass Median Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"sig_digits","description":"Sig Digits","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"integral_image_transform","display_name":"Integral Image Transform","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"k_nearest_mean_filter","display_name":"K Nearest Mean Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"k","description":"K","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"kuwahara_filter","display_name":"Kuwahara Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lee_filter","display_name":"Lee Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"m_value","description":"M Value","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"line_detection_filter","display_name":"Line Detection Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"variant","description":"Variant","type":"str","required":false,"default":"v","options":[],"kind":"string"},{"name":"abs_values","description":"Abs Values","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip_tails","description":"Clip Tails","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"line_thinning","display_name":"Line Thinning","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_ground_point_filter","display_name":"Lidar Ground Point Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"min_neighbours","description":"Min Neighbours","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"slope_threshold","description":"Slope Threshold","type":"float","required":false,"default":45,"options":[],"kind":"double"},{"name":"height_threshold","description":"Height Threshold","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"height_above_ground","description":"Height Above Ground","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"majority_filter","display_name":"Majority Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"maximum_filter","display_name":"Maximum Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"mean_filter","display_name":"Mean Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"median_filter","display_name":"Median Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"sig_digits","description":"Sig Digits","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"minimum_filter","display_name":"Minimum Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"non_local_means_filter","display_name":"Non Local Means Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"search_radius","description":"Search Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"patch_radius","description":"Patch Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"h","description":"H","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"opening","display_name":"Opening","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"olympic_filter","display_name":"Olympic Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"percentile_filter","display_name":"Percentile Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"sig_digits","description":"Sig Digits","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"range_filter","display_name":"Range Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"remove_spurs","display_name":"Remove Spurs","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_iterations","description":"Max Iterations","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"savitzky_golay_2d_filter","display_name":"Savitzky Golay 2d Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"window_size","description":"Window Size","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"scharr_filter","display_name":"Scharr Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"clip_tails","description":"Clip Tails","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"standard_deviation_filter","display_name":"Standard Deviation Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"thicken_raster_line","display_name":"Thicken Raster Line","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"tophat_transform","display_name":"Tophat Transform","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"variant","description":"Variant","type":"str","required":false,"default":"white","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"total_filter","display_name":"Total Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"unsharp_masking","display_name":"Unsharp Masking","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sigma","description":"Sigma","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"amount","description":"Amount","type":"float","required":false,"default":100,"options":[],"kind":"double"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"user_defined_weights_filter","display_name":"User Defined Weights Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"weights","description":"Weights","type":"list[list[float]]","required":true,"default":null,"options":[],"kind":"double"},{"name":"kernel_center","description":"Kernel Center","type":"str","required":false,"default":"center","options":[],"kind":"string"},{"name":"normalize_weights","description":"Normalize Weights","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"wiener_filter","display_name":"Wiener Filter","summary":"","category":"Remote Sensing - Filters","taxonomy_category":"remote_sensing","taxonomy_subcategory":"filters","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"noise_variance","description":"Noise Variance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"cloude_pottier_decomposition","display_name":"Cloude Pottier Decomposition","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"matrix_format","description":"Matrix Format","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"enhanced_lee_filter","display_name":"Enhanced Lee Filter","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"enl","description":"Enl","type":"float","required":false,"default":4,"options":[],"kind":"double"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"freeman_durden_decomposition","display_name":"Freeman Durden Decomposition","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"matrix_format","description":"Matrix Format","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_clip_mask","description":"Output Clip Mask","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"frost_filter","display_name":"Frost Filter","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"damping_factor","description":"Damping Factor","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"gamma_map_filter","display_name":"Gamma Map Filter","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"enl","description":"Enl","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"h_alpha_wisart_classification","display_name":"H Alpha Wisart Classification","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"h_raster","description":"H Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"alpha_raster","description":"Alpha Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Raster"},{"id":"kuan_filter","display_name":"Kuan Filter","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"radius","description":"Radius","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"enl","description":"Enl","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"refined_lee_filter","display_name":"Refined Lee Filter","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sar_analysis_readiness","display_name":"Sar Analysis Readiness","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input_sar","description":"Input Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"input_sar_bundle","description":"Input Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"input_measurement_key","description":"Input Measurement Key","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"input_dem","description":"Input Dem","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"pair_sar","description":"Pair Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"pair_sar_bundle","description":"Pair Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"pair_measurement_key","description":"Pair Measurement Key","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"input_look_angle_deg","description":"Input Look Angle Deg","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"pair_look_angle_deg","description":"Pair Look Angle Deg","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_look_angle_diff_deg","description":"Max Look Angle Diff Deg","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"auto_coregister_pair","description":"Auto Coregister Pair","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"coreg_max_offset_px","description":"Coreg Max Offset Px","type":"int","required":false,"default":24,"options":[],"kind":"int"},{"name":"coreg_decimation","description":"Coreg Decimation","type":"int","required":false,"default":4,"options":[],"kind":"int"},{"name":"coreg_min_overlap_fraction","description":"Coreg Min Overlap Fraction","type":"float","required":false,"default":0.2,"options":[],"kind":"double"},{"name":"speckle_window","description":"Speckle Window","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"sar_coregistration","display_name":"Sar Coregistration","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"reference_sar","description":"Reference Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"moving_sar","description":"Moving Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"reference_sar_bundle","description":"Reference Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"moving_sar_bundle","description":"Moving Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"coreg_mode","description":"Coreg Mode","type":"Literal[\"translation\", \"affine\", \"local_offset_grid\"]","required":false,"default":"translation","options":[],"kind":"string"},{"name":"max_offset_px","description":"Max Offset Px","type":"int","required":false,"default":32,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"sar_interferogram_coherence","display_name":"Sar Interferogram Coherence","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"reference_sar","description":"Reference Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"moving_sar","description":"Moving Sar","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"reference_sar_real","description":"Reference Sar Real","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"reference_sar_imag","description":"Reference Sar Imag","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"moving_sar_real","description":"Moving Sar Real","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"moving_sar_imag","description":"Moving Sar Imag","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"reference_sar_bundle","description":"Reference Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"moving_sar_bundle","description":"Moving Sar Bundle","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"wisart_iterative_clustering","display_name":"Wisart Iterative Clustering","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"h_raster","description":"H Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"alpha_raster","description":"Alpha Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_iterations","description":"Max Iterations","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"convergence_threshold","description":"Convergence Threshold","type":"float","required":false,"default":0.99,"options":[],"kind":"double"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Raster"},{"id":"yamaguchi_4component_decomposition","display_name":"Yamaguchi 4component Decomposition","summary":"","category":"Remote Sensing - SAR","taxonomy_category":"remote_sensing","taxonomy_subcategory":"sar","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"matrix_format","description":"Matrix Format","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"auto_reproject","description":"Auto Reproject","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"auto_reproject_method","description":"Auto Reproject Method","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"options","description":"Options","type":"dict[str, Any] | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"multi_sensor_fusion_monitoring","display_name":"Multi Sensor Fusion Monitoring","summary":"","category":"Remote Sensing - Workflow Products","taxonomy_category":"remote_sensing","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_bundle","description":"Baseline multiband optical bundle raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"baseline_red_band_index","description":"0-based red band index in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_nir_band_index","description":"0-based NIR band index in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"change_bundle","description":"Change-date multiband optical bundle raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"change_red_band_index","description":"0-based red band index in change_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"change_nir_band_index","description":"0-based NIR band index in change_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"input_sar","description":"Input SAR intensity raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_dem","description":"Input DEM raster for terrain context and SAR normalization support.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pair_sar","description":"Optional second SAR image for coherence-aware agreement.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"thermal_bundle","description":"Optional thermal raster for experimental three-modality fusion.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"thermal_band_index","description":"0-based band index in thermal_bundle (default 0).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"profile","description":"Fusion profile: fast, balanced, conservative.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"harmonization_mode","description":"Cross-sensor bias harmonization mode: off, robust, conservative.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"high_confidence_threshold","description":"Threshold for high-confidence change zoning in [0,1].","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_zone_features","description":"Maximum number of high-confidence change polygons to emit.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"vector_output_format","description":"Vector format for high-confidence zones: gpkg, geojson, or shp (default gpkg).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"guided_uav_image_intake_workflow","display_name":"Guided Uav Image Intake Workflow","summary":"","category":"Remote Sensing - Workflow Products","taxonomy_category":"remote_sensing","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"images_dir","description":"Input directory containing UAV images.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"profile","description":"[pro] Quality profile (fast, balanced, strict); selects the adaptive-threshold suite that drives pass/review/fail mission classification.","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"recursive","description":"Recursively scan subdirectories (default true).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"blur_mode","description":"Blur scoring mode: off, fast, or full.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"registration_oriented_feature_workflow","display_name":"Registration Oriented Feature Workflow","summary":"","category":"Remote Sensing - Workflow Products","taxonomy_category":"remote_sensing","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"mode","description":"pair or set (default set).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"images_dir","description":"Input image directory for mode=set.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"left_image","description":"Left image path for mode=pair.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"right_image","description":"Right image path for mode=pair.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_pairs","description":"Maximum number of planned pairs for mode=set (default 24).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_features_per_image","description":"Maximum keypoints extracted per image (default 500).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"ratio_test","description":"Descriptor ratio-test threshold in (0,1), default 0.80.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"min_matches","description":"[pro] Minimum accepted match count per pair; drives QA gate, fallback routing, and pass/review/fail classification (default 24).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"min_match_count","description":"[pro] Minimum accepted match count per pair for QC classification (default 24).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"min_inlier_ratio","description":"[pro] Minimum inlier proxy threshold per pair for QC classification in [0,1] (default 0.18).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"qc_policy","description":"[pro] Pair-level QC policy: strict, balanced, permissive (default balanced).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"emit_pair_match_viz","description":"Emit side-by-side pair images with tie-point lines (default false).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_pair_visualizations","description":"Maximum pair visualizations to write when emit_pair_match_viz=true (default 8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_lines_per_pair","description":"Maximum tie-point lines per visualization (default 150).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"viz_scale","description":"Visualization downscale factor in [0.05, 1.0], default 0.5.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"ascii_to_las","display_name":"Ascii To Las","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_ascii_files","description":"Input Ascii Files","type":"list[str]","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"pattern","description":"Pattern","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"epsg_code","description":"Epsg Code","type":"int","required":false,"default":4326,"options":[],"kind":"int"},{"name":"output_directory","description":"Output Directory","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"las_to_ascii","display_name":"Las To Ascii","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"las_to_shapefile","display_name":"Las To Shapefile","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output_multipoint","description":"Output Multipoint","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_colourize","display_name":"Lidar Colourize","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"image","description":"Image","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_join","display_name":"Lidar Join","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Lidar | str]","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_shift","display_name":"Lidar Shift","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"x_shift","description":"X Shift","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"y_shift","description":"Y Shift","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"z_shift","description":"Z Shift","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_tile","display_name":"Lidar Tile","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"tile_width","description":"Tile Width","type":"float","required":false,"default":1000,"options":[],"kind":"double"},{"name":"tile_height","description":"Tile Height","type":"float","required":false,"default":1000,"options":[],"kind":"double"},{"name":"origin_x","description":"Origin X","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"origin_y","description":"Origin Y","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_points_in_tile","description":"Min Points In Tile","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output_laz_format","description":"Output Laz Format","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output_directory","description":"Output Directory","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_tophat_transform","display_name":"Lidar Tophat Transform","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"recover_flightline_info","display_name":"Recover Flightline Info","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"max_time_diff","description":"Max Time Diff","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"pt_src_id","description":"Pt Src Id","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"user_data","description":"User Data","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"rgb","description":"Rgb","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"select_tiles_by_polygon","display_name":"Select Tiles By Polygon","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_directory","description":"Input Directory","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"output_directory","description":"Output Directory","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"polygons","description":"Polygons","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"}],"return_type":"str"},{"id":"sort_lidar","display_name":"Sort Lidar","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"sort_criteria","description":"Sort Criteria","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"split_lidar","display_name":"Split Lidar","summary":"","category":"LiDAR - I/O & Management","taxonomy_category":"lidar","taxonomy_subcategory":"io_management","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"split_criterion","description":"Split Criterion","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"interval","description":"Interval","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"min_pts","description":"Min Pts","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output_directory","description":"Output Directory","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"classify_buildings_in_lidar","display_name":"Classify Buildings In Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"in_lidar","description":"In Lidar","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"building_footprints","description":"Building Footprints","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"classify_lidar","display_name":"Classify Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2.5,"options":[],"kind":"double"},{"name":"grd_threshold","description":"Grd Threshold","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"oto_threshold","description":"Oto Threshold","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"linearity_threshold","description":"Linearity Threshold","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"planarity_threshold","description":"Planarity Threshold","type":"float","required":false,"default":0.85,"options":[],"kind":"double"},{"name":"num_iter","description":"Num Iter","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"facade_threshold","description":"Facade Threshold","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"classify_overlap_points","display_name":"Classify Overlap Points","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"overlap_criterion","description":"Overlap Criterion","type":"str","required":false,"default":"max scan angle","options":[],"kind":"string"},{"name":"filter","description":"Filter","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"clip_lidar_to_polygon","display_name":"Clip Lidar To Polygon","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"polygons","description":"Polygons","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"erase_polygon_from_lidar","display_name":"Erase Polygon From Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"polygons","description":"Polygons","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar","display_name":"Filter Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"statement","description":"Statement","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar_by_percentile","display_name":"Filter Lidar By Percentile","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"percentile","description":"Percentile","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"block_size","description":"Block Size","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar_by_reference_surface","display_name":"Filter Lidar By Reference Surface","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"ref_surface","description":"Ref Surface","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"query","description":"Query","type":"str","required":false,"default":"within","options":[],"kind":"string"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"true_class_value","description":"True Class Value","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"false_class_value","description":"False Class Value","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"preserve_classes","description":"Preserve Classes","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar_classes","display_name":"Filter Lidar Classes","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar_noise","display_name":"Filter Lidar Noise","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"filter_lidar_scan_angles","display_name":"Filter Lidar Scan Angles","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"threshold","description":"Threshold","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"height_above_ground","display_name":"Height Above Ground","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"improved_ground_point_filter","display_name":"Improved Ground Point Filter","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"block_size","description":"Block Size","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"max_building_size","description":"Max Building Size","type":"float","required":false,"default":150,"options":[],"kind":"double"},{"name":"slope_threshold","description":"Slope Threshold","type":"float","required":false,"default":15,"options":[],"kind":"double"},{"name":"elev_threshold","description":"Elev Threshold","type":"float","required":false,"default":0.15,"options":[],"kind":"double"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"preserve_classes","description":"Preserve Classes","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"individual_tree_segmentation","display_name":"Individual Tree Segmentation","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"only_use_veg","description":"Only Use Veg","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"veg_classes","description":"Veg Classes","type":"str","required":false,"default":"3,4,5","options":[],"kind":"lidar_in"},{"name":"min_height","description":"Min Height","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"max_height","description":"Max Height","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"bandwidth_min","description":"Bandwidth Min","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"bandwidth_max","description":"Bandwidth Max","type":"float","required":false,"default":6,"options":[],"kind":"double"},{"name":"adaptive_bandwidth","description":"Adaptive Bandwidth","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"adaptive_neighbors","description":"Adaptive Neighbors","type":"int","required":false,"default":24,"options":[],"kind":"int"},{"name":"adaptive_sector_count","description":"Adaptive Sector Count","type":"int","required":false,"default":8,"options":[],"kind":"int"},{"name":"grid_acceleration","description":"Grid Acceleration","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"grid_cell_size","description":"Grid Cell Size","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"grid_refine_exact","description":"Grid Refine Exact","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"grid_refine_iterations","description":"Grid Refine Iterations","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"tile_size","description":"Tile Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"tile_overlap","description":"Tile Overlap","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"vertical_bandwidth","description":"Vertical Bandwidth","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_iterations","description":"Max Iterations","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"convergence_tol","description":"Convergence Tol","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"min_cluster_points","description":"Min Cluster Points","type":"int","required":false,"default":50,"options":[],"kind":"int"},{"name":"mode_merge_dist","description":"Mode Merge Dist","type":"float","required":false,"default":0.8,"options":[],"kind":"double"},{"name":"threads","description":"Threads","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"simd","description":"Simd","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output_id_mode","description":"Output Id Mode","type":"str","required":false,"default":"rgb","options":[],"kind":"string"},{"name":"output_sidecar_csv","description":"Output Sidecar Csv","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"seed","description":"Seed","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_classify_subset","display_name":"Lidar Classify Subset","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base_lidar","description":"Base Lidar","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"subset_lidar","description":"Subset Lidar","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"subset_class_value","description":"Subset Class Value","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"nonsubset_class_value","description":"Nonsubset Class Value","type":"int","required":false,"default":255,"options":[],"kind":"int"},{"name":"tolerance","description":"Tolerance","type":"float","required":false,"default":0.001,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_elevation_slice","display_name":"Lidar Elevation Slice","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"minz","description":"Minz","type":"float","required":false,"default":-1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"maxz","description":"Maxz","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"in_class_value","description":"In Class Value","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"out_class_value","description":"Out Class Value","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_remove_outliers","display_name":"Lidar Remove Outliers","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"elev_diff","description":"Elev Diff","type":"float","required":false,"default":50,"options":[],"kind":"double"},{"name":"use_median","description":"Use Median","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_segmentation","display_name":"Lidar Segmentation","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"num_iterations","description":"Num Iterations","type":"int","required":false,"default":50,"options":[],"kind":"int"},{"name":"num_samples","description":"Num Samples","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"inlier_threshold","description":"Inlier Threshold","type":"float","required":false,"default":0.15,"options":[],"kind":"double"},{"name":"acceptable_model_size","description":"Acceptable Model Size","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"max_planar_slope","description":"Max Planar Slope","type":"float","required":false,"default":75,"options":[],"kind":"double"},{"name":"norm_diff_threshold","description":"Norm Diff Threshold","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"max_z_diff","description":"Max Z Diff","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"classes","description":"Classes","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"ground","description":"Ground","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_segmentation_based_filter","display_name":"Lidar Segmentation Based Filter","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"norm_diff_threshold","description":"Norm Diff Threshold","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"max_z_diff","description":"Max Z Diff","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"classify_points","description":"Classify Points","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"modify_lidar","display_name":"Modify Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"statement","description":"Statement","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"normalize_lidar","display_name":"Normalize Lidar","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"dtm","description":"Dtm","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"no_negatives","description":"No Negatives","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"remove_duplicates","display_name":"Remove Duplicates","summary":"","category":"LiDAR - Filtering & Classification","taxonomy_category":"lidar","taxonomy_subcategory":"filtering_classification","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"include_z","description":"Include Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"flightline_overlap","display_name":"Flightline Overlap","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_block_maximum","display_name":"Lidar Block Maximum","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_block_minimum","display_name":"Lidar Block Minimum","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_construct_vector_tin","display_name":"Lidar Construct Vector Tin","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"returns_included","description":"Returns Included","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float","required":false,"default":-1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_contour","display_name":"Lidar Contour","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"contour_interval","description":"Contour Interval","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"base_contour","description":"Base Contour","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"smooth","description":"Smooth","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"str","required":false,"default":"elevation","options":[],"kind":"string"},{"name":"returns_included","description":"Returns Included","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float","required":false,"default":-1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_digital_surface_model","display_name":"Lidar Digital Surface Model","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_hex_bin","display_name":"Lidar Hex Bin","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"orientation","description":"Orientation","type":"str","required":false,"default":"h","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_hillshade","display_name":"Lidar Hillshade","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":-1,"options":[],"kind":"double"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":315,"options":[],"kind":"double"},{"name":"altitude","description":"Altitude","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_idw_interpolation","display_name":"Lidar Idw Interpolation","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"weight","description":"Weight","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2.5,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"min_points","description":"Min Points","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_nearest_neighbour_gridding","display_name":"Lidar Nearest Neighbour Gridding","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2.5,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_radial_basis_function_interpolation","display_name":"Lidar Radial Basis Function Interpolation","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"num_points","description":"Num Points","type":"int","required":false,"default":15,"options":[],"kind":"int"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"func_type","description":"Func Type","type":"Literal[\"thinplatespline\", \"polyharmonic\", \"gaussian\", \"multiquadric\", \"inversemultiquadric\"]","required":false,"default":"thinplatespline","options":[],"kind":"string"},{"name":"poly_order","description":"Poly Order","type":"Literal[\"none\", \"constant\", \"quadratic\"]","required":false,"default":"none","options":[],"kind":"string"},{"name":"weight","description":"Weight","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_sibson_interpolation","display_name":"Lidar Sibson Interpolation","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_thin","display_name":"Lidar Thin","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"method","description":"Method","type":"str","required":false,"default":"first","options":[],"kind":"string"},{"name":"save_filtered","description":"Save Filtered","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"},{"name":"filtered_output","description":"Filtered Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Lidar"},{"id":"lidar_thin_high_density","display_name":"Lidar Thin High Density","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"density","description":"Density","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"save_filtered","description":"Save Filtered","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"},{"name":"filtered_output","description":"Filtered Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Lidar"},{"id":"lidar_tile_footprint","display_name":"Lidar Tile Footprint","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output_hulls","description":"Output Hulls","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_tin_gridding","display_name":"Lidar Tin Gridding","summary":"","category":"LiDAR - Interpolation & Gridding","taxonomy_category":"lidar","taxonomy_subcategory":"interpolation_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float","required":false,"default":1.7976931348623157e+308,"options":[],"kind":"double"},{"name":"interpolation_parameter","description":"Interpolation Parameter","type":"Literal[\"elevation\", \"intensity\", \"class\", \"return_number\", \"number_of_returns\", \"scan_angle\", \"time\", \"rgb\", \"user_data\"]","required":false,"default":"elevation","options":[],"kind":"int"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"triangulation_backend","description":"Triangulation Backend","type":"Literal[\"auto\", \"delaunator\", \"wbtopology\"]","required":false,"default":"auto","options":[],"kind":"string"},{"name":"triangulation_auto_threshold","description":"Triangulation Auto Threshold","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"triangulation_epsilon","description":"Triangulation Epsilon","type":"float","required":false,"default":1e-12,"options":[],"kind":"double"},{"name":"triangulation_thin_cell_size","description":"Triangulation Thin Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"triangulation_thin_method","description":"Triangulation Thin Method","type":"Literal[\"nearest_center\", \"min_value\", \"max_value\"]","required":false,"default":"nearest_center","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"colourize_based_on_class","display_name":"Colourize Based On Class","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"intensity_blending_amount","description":"Intensity Blending Amount","type":"float","required":false,"default":50,"options":[],"kind":"double"},{"name":"clr_str","description":"Clr Str","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"use_unique_clrs_for_buildings","description":"Use Unique Clrs For Buildings","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"colourize_based_on_point_returns","display_name":"Colourize Based On Point Returns","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"intensity_blending_amount","description":"Intensity Blending Amount","type":"float","required":false,"default":50,"options":[],"kind":"double"},{"name":"only_ret_colour","description":"Only Ret Colour","type":"str","required":false,"default":"(230,214,170)","options":[],"kind":"string"},{"name":"first_ret_colour","description":"First Ret Colour","type":"str","required":false,"default":"(0,140,0)","options":[],"kind":"string"},{"name":"intermediate_ret_colour","description":"Intermediate Ret Colour","type":"str","required":false,"default":"(255,0,255)","options":[],"kind":"string"},{"name":"last_ret_colour","description":"Last Ret Colour","type":"str","required":false,"default":"(0,0,255)","options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"find_flightline_edge_points","display_name":"Find Flightline Edge Points","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"individual_tree_detection","display_name":"Individual Tree Detection","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"min_search_radius","description":"Min Search Radius","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"min_height","description":"Min Height","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"max_search_radius","description":"Max Search Radius","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_height","description":"Max Height","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"only_use_veg","description":"Only Use Veg","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lidar_eigenvalue_features","display_name":"Lidar Eigenvalue Features","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"num_neighbours","description":"Num Neighbours","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"search_radius","description":"Search Radius","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"lidar_histogram","display_name":"Lidar Histogram","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"parameter","description":"Parameter","type":"str","required":false,"default":"elevation","options":[],"kind":"string"},{"name":"clip_percent","description":"Clip Percent","type":"float","required":false,"default":1,"options":[],"kind":"double"}],"return_type":"str"},{"id":"lidar_info","display_name":"Lidar Info","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"show_point_density","description":"Show Point Density","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"show_vlrs","description":"Show Vlrs","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"show_geokeys","description":"Show Geokeys","type":"bool","required":false,"default":true,"options":[],"kind":"bool"}],"return_type":"str"},{"id":"lidar_kappa","display_name":"Lidar Kappa","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"classification_lidar","description":"Classification Lidar","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"reference_lidar","description":"Reference Lidar","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"report_path","description":"Report Path","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output_class_accuracy","description":"Output Class Accuracy","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_point_density","display_name":"Lidar Point Density","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2.5,"options":[],"kind":"double"},{"name":"returns_included","description":"Returns Included","type":"Literal[\"all\", \"first\", \"last\"]","required":false,"default":"all","options":[],"kind":"string"},{"name":"excluded_classes","description":"Excluded Classes","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"min_elev","description":"Min Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_elev","description":"Max Elev","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lidar_point_return_analysis","display_name":"Lidar Point Return Analysis","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"create_output","description":"Create Output","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"report_path","description":"Report Path","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"lidar_point_stats","display_name":"Lidar Point Stats","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str | None","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"num_points","description":"Num Points","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"num_pulses","description":"Num Pulses","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"avg_points_per_pulse","description":"Avg Points Per Pulse","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"z_range","description":"Z Range","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"intensity_range","description":"Intensity Range","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"predominant_class","description":"Predominant Class","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output_directory","description":"Output Directory","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"lidar_ransac_planes","display_name":"Lidar Ransac Planes","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"num_iterations","description":"Num Iterations","type":"int","required":false,"default":50,"options":[],"kind":"int"},{"name":"num_samples","description":"Num Samples","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"inlier_threshold","description":"Inlier Threshold","type":"float","required":false,"default":0.15,"options":[],"kind":"double"},{"name":"acceptable_model_size","description":"Acceptable Model Size","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"max_planar_slope","description":"Max Planar Slope","type":"float","required":false,"default":75,"options":[],"kind":"double"},{"name":"classify","description":"Classify","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"only_last_returns","description":"Only Last Returns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_rooftop_analysis","display_name":"Lidar Rooftop Analysis","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"lidar_inputs","description":"Lidar Inputs","type":"list[Lidar | str]","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"building_footprints","description":"Building Footprints","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"num_iterations","description":"Num Iterations","type":"int","required":false,"default":50,"options":[],"kind":"int"},{"name":"num_samples","description":"Num Samples","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"inlier_threshold","description":"Inlier Threshold","type":"float","required":false,"default":0.15,"options":[],"kind":"double"},{"name":"acceptable_model_size","description":"Acceptable Model Size","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"max_planar_slope","description":"Max Planar Slope","type":"float","required":false,"default":75,"options":[],"kind":"double"},{"name":"norm_diff_threshold","description":"Norm Diff Threshold","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":180,"options":[],"kind":"double"},{"name":"altitude","description":"Altitude","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"normal_vectors","display_name":"Normal Vectors","summary":"","category":"LiDAR - Analysis Metrics","taxonomy_category":"lidar","taxonomy_subcategory":"analysis_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Lidar | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"search_radius","description":"Search Radius","type":"float","required":false,"default":-1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"lidar_out"}],"return_type":"Lidar"},{"id":"lidar_qa_and_confidence","display_name":"Lidar Qa And Confidence","summary":"","category":"LiDAR - Workflow Products","taxonomy_category":"lidar","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input LiDAR path.","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"qa_mode","description":"QA mode: strict, balanced, permissive, auto.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"block_size","description":"Grid cell size in xy units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"max_building_size","description":"Maximum expected object width in xy units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"slope_threshold","description":"Minimum edge slope in degrees.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"elev_threshold","description":"Reference surface threshold in z units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"high_confidence_threshold","description":"Threshold used for high-confidence fraction metric.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"adapt_by_slope","description":"Enable slope-adaptive tolerance scaling.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"adapt_by_roughness","description":"Enable roughness-adaptive tolerance scaling.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"density_window","description":"Odd window size for local confidence-density proxy.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"roughness_window","description":"Odd window size for local roughness proxy.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"hotspot_min_cells","description":"Minimum connected hotspot size in raster cells.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"hotspot_rank_top_n","description":"Optional maximum number of ranked hotspots to include.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"checkpoints","description":"Optional checkpoint point layer for vertical validation.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"checkpoint_z_field","description":"Optional checkpoint elevation field override.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"fast_mode","description":"Enable fast mode for quick exploratory runs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Prefix for QA raster/report artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Optional output LiDAR path.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"lidar_terrain_product_suite","display_name":"Lidar Terrain Product Suite","summary":"","category":"LiDAR - Workflow Products","taxonomy_category":"lidar","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input LiDAR path (LAS/LAZ).","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"profile","description":"QA profile: strict, balanced, permissive.","type":"file","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"block_size","description":"Grid cell size in map units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"max_building_size","description":"Maximum expected object width in map units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"slope_threshold","description":"Minimum edge slope in degrees for off-terrain removal.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"elev_threshold","description":"Reference surface threshold in z units.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"z_factor","description":"Vertical exaggeration factor for slope/hillshade.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"hillshade_azimuth","description":"Sun azimuth in degrees for hillshade.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"hillshade_altitude","description":"Sun altitude in degrees for hillshade.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"high_confidence_threshold","description":"Threshold for high-confidence fraction metric.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"output_prefix","description":"Prefix for all output artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Optional output LiDAR path.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"lidar_change_and_disturbance_analysis","display_name":"Lidar Change And Disturbance Analysis","summary":"","category":"LiDAR - Workflow Products","taxonomy_category":"lidar","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_tiles","description":"Baseline Tiles","type":"list[str] | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"monitor_tiles","description":"Monitor Tiles","type":"list[str] | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"reference_perimeters","description":"Reference Perimeters","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"attribution_buffer_meters","description":"Attribution Buffer Meters","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_overlap_fraction","description":"Min Overlap Fraction","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"resolution","description":"Resolution","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"min_change_m","description":"Min Change M","type":"float","required":false,"default":0.25,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output Prefix","type":"str","required":true,"default":"lidar_change","options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"sidewalk_vegetation_accessibility_monitoring","display_name":"Sidewalk Vegetation Accessibility Monitoring","summary":"","category":"LiDAR - Workflow Products","taxonomy_category":"lidar","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"lidar_tiles","description":"Array of LiDAR tile paths or a directory containing LAS/LAZ tiles.","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"sidewalks","description":"Input sidewalk line or polygon layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"sidewalks_epsg","description":"Optional EPSG override when the sidewalk layer lacks CRS metadata.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"resolution","description":"Intermediate raster resolution in map units.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"segment_length_m","description":"Optional fixed segment length for line inputs. Ignored for polygon inputs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"clearance_height_m","description":"Vegetation height threshold considered obstructive.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"buffer_distance_m","description":"Neighborhood radius around sidewalk geometry sampled for obstruction.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_tile_workers","description":"Optional max number of parallel tile workers (0 = auto).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for GeoPackage and JSON summary artifacts.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"snap_events_to_routes","display_name":"Snap Events To Routes","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Input route line layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"events","description":"Input event point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_offset_distance","description":"Optional maximum route offset distance in map units.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output snapped event point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_event_governance_for_linear_assets","display_name":"Route Event Governance For Linear Assets","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"events","description":"Input event vector layer (GeoPackage, GeoJSON, or Shapefile).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"route_id_field","description":"Field name containing route identifiers.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Field name for interval start measure.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Field name for interval end measure.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"gap_tolerance","description":"Measure gap smaller than this value is ignored (default 0.0).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"overlap_tolerance","description":"Measure overlap smaller than this value is ignored (default 0.0).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"auto_fix","description":"Automatically correct descending intervals and overlapping events (default false).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"domain_rules_json","description":"Optional JSON file path describing per-field validation rules (allowed_values, regex, min, max).","type":"json","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"governed_events","description":"Output vector path for QA-passed events.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"issues_csv","description":"Output CSV path for per-event issue log.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"corrected_events","description":"Output vector path for auto-corrected events (only written when auto_fix=true).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"governance_report","description":"Output JSON path for governance summary report.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"remediation_queue_csv","description":"Optional output CSV path with prioritized corrective actions by issue.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output path for an HTML governance summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"locate_points_along_routes","display_name":"Locate Points Along Routes","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_offset_distance","description":"Max Offset Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"points_along_lines","display_name":"Points Along Lines","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"spacing","description":"Spacing","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"include_end","description":"Include End","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"route_calibrate","display_name":"Route Calibrate","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Input route line layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"control_points","description":"Input control-point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"control_measure_field","description":"Control-point field containing known measure values.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"route_id_field","description":"Optional route identifier field in routes. Defaults to feature FID.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"control_route_id_field","description":"Optional route identifier field in control points. Defaults to feature FID.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Output field for route start measure (default 'from_measure').","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Output field for route end measure (default 'to_measure').","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Maximum control-point offset distance from route geometry (default 1.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output calibrated route layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_event_lines_from_layer","display_name":"Route Event Lines From Layer","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"events","description":"Events","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"event_route_field","description":"Event Route Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"From Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"To Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"route_id_field","description":"Route Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"write_event_fid","description":"Write Event Fid","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"write_event_xy","description":"Write Event Xy","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"route_event_lines_from_table","display_name":"Route Event Lines From Table","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"events","description":"Events","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"event_route_field","description":"Event Route Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"From Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"To Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"route_id_field","description":"Route Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"route_event_merge","display_name":"Route Event Merge","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"events","description":"Input event layer containing route intervals.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"event_route_field","description":"Event-layer route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Event-layer interval start field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Event-layer interval end field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"group_fields","description":"Optional comma-delimited fields used for merge compatibility. Defaults to all non-measure fields.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"gap_tolerance","description":"Maximum gap allowed for adjacency merge (default 0.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"conflict_mode","description":"Overlap handling mode: error|skip (default error).","type":"string","required":false,"default":null,"options":["error","skip"],"kind":"enum"},{"name":"output","description":"Output merged-event layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_event_overlay","display_name":"Route Event Overlay","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"primary_events","description":"Primary event layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay_events","description":"Overlay event layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"primary_route_field","description":"Primary layer route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"primary_from_measure_field","description":"Primary layer interval start field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"primary_to_measure_field","description":"Primary layer interval end field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"overlay_route_field","description":"Overlay layer route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"overlay_from_measure_field","description":"Overlay layer interval start field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"overlay_to_measure_field","description":"Overlay layer interval end field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"min_overlap_length","description":"Minimum overlap length to keep (default 0.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output overlay layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_event_points_from_layer","display_name":"Route Event Points From Layer","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"events","description":"Events","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"event_route_field","description":"Event Route Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"measure_field","description":"Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"route_id_field","description":"Route Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"write_event_fid","description":"Write Event Fid","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"write_event_xy","description":"Write Event Xy","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"route_event_points_from_table","display_name":"Route Event Points From Table","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"events","description":"Events","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"event_route_field","description":"Event Route Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"measure_field","description":"Measure Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"route_id_field","description":"Route Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"route_event_split","display_name":"Route Event Split","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"events","description":"Input event layer containing route intervals.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"boundaries","description":"Input boundary layer containing route measure breakpoints.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"event_route_field","description":"Event-layer route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Event-layer interval start field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Event-layer interval end field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"boundary_route_field","description":"Boundary-layer route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"boundary_measure_field","description":"Boundary-layer measure field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"min_segment_length","description":"Optional minimum split segment length to keep (default 0.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output split-event layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_measure_qa","display_name":"Route Measure Qa","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"events","description":"Input event layer containing route intervals.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"route_field","description":"Route identifier field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Interval start field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Interval end field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"gap_tolerance","description":"Gap tolerance (default 0.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"overlap_tolerance","description":"Overlap tolerance (default 0.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output QA diagnostics layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"route_recalibrate","display_name":"Route Recalibrate","summary":"","category":"Vector - Linear Referencing","taxonomy_category":"vector","taxonomy_subcategory":"linear_referencing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"original_routes","description":"Reference routes containing prior calibrated measures.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"edited_routes","description":"Edited routes to recalibrate.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"route_id_field","description":"Optional shared route identifier field. Defaults to feature FID.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"from_measure_field","description":"Measure-start field name (default 'from_measure').","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"to_measure_field","description":"Measure-end field name (default 'to_measure').","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output recalibrated route layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"build_network_topology","display_name":"Build Network Topology","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Optional snapping tolerance used while detecting and splitting intersections.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output topologically noded edge vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"nodes_output","description":"Optional output node vector path.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"closest_facility_network","display_name":"Closest Facility Network","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"incidents","description":"Incidents","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"facilities","description":"Facilities","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"emergency_scenario_routing_and_accessibility_simulator","display_name":"Emergency Scenario Routing And Accessibility Simulator","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"network","description":"Input line network layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"critical_facilities","description":"Critical facility points (e.g., hospitals/fire/EMS).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"demand_points","description":"Optional demand points for coverage KPI computation.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"ring_costs","description":"Required ring costs array, e.g. [5,10,15].","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"scenario_csv","description":"Scenario CSV with columns: scenario_id,max_cost_multiplier[,blocked_value].","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"scenario_template","description":"Optional scenario authoring template: custom|flood|wildfire|earthquake. Applies template-specific validation guardrails.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"scenario_block_source_field","description":"Optional network field used to derive scenario-specific blocked edges from blocked_value.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_service_areas","description":"Output baseline merged service-area polygons.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"worst_case_service_areas","description":"Output worst-scenario service-area polygons.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"scenario_summary_csv","description":"Output scenario KPI CSV with baseline deltas.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"simulation_report","description":"Output JSON simulation report.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output path for an HTML accessibility simulation summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"cost_method","description":"Cost method: distance, mode_speed, edge_field, or temporal.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_field","description":"Optional line attribute field identifying travel mode per segment; enables mode-aware service-area costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"default_mode_speed","description":"Default mode speed in coordinate-units per time unit when mode_field is provided (default: 1).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides (e.g., walk:1.4,drive:12).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes to include when mode_field is provided.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_cost_profile","description":"Optional CSV defining time-dependent edge costs (columns: edge_id,dow,start_minute,end_minute,value).","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Optional network field used to match temporal_cost_profile edge_id values (default EDGE_ID).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Optional RFC3339 departure time used for temporal profile lookup.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Optional temporal interpretation mode: multiplier or absolute.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Optional fallback when temporal row is missing: static_cost or error.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_penalty","description":"Optional additive cost applied to non-straight turns at network nodes.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"u_turn_penalty","description":"Optional additive cost applied to U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_u_turns","description":"If true, disallow U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_left_turns","description":"If true, disallow left-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_right_turns","description":"If true, disallow right-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_restrictions_csv","description":"Optional CSV of turn transitions using columns prev_x,prev_y,node_x,node_y,next_x,next_y. Optional columns: forbidden and turn_cost.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"node_cost_points","description":"Optional point layer providing per-node entry costs (e.g., intersection delay).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_field","description":"Numeric field in node_cost_points containing non-negative per-node costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_snap_distance","description":"Optional max distance from each node-cost point to a network node for assignment.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"fleet_routing_and_dispatch_optimizer","display_name":"Fleet Routing And Dispatch Optimizer","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"network","description":"Street network (LineVector).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"depots","description":"Depot locations (PointVector).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"stops","description":"Stop locations (PointVector).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"vehicles_csv","description":"Vehicle specifications CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"routes_output","description":"Output routes vector.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"assignment_csv_output","description":"Output assignment CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"route_kpis_csv_output","description":"Output KPIs CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"exceptions_csv_output","description":"Output exceptions CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"objective","description":"Optimization objective (default: minimize_distance).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"restrictions","description":"Optional CSV with barriers/turn restrictions.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"network_speed_kmph","description":"Optional network travel speed used to convert path distance into travel time (default: 80).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"html_report","description":"Optional output path for an HTML fleet routing dispatch summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"generate_network_nodes","display_name":"Generate Network Nodes","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output node point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"k_shortest_paths_network","display_name":"K Shortest Paths Network","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"start_x","description":"Start X","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"start_y","description":"Start Y","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_x","description":"End X","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_y","description":"End Y","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"k","description":"K","type":"int","required":true,"default":null,"options":[],"kind":"int"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"location_allocation_network","display_name":"Location Allocation Network","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"demand_points","description":"Demand Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"facilities","description":"Facilities","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"facility_count","description":"Facility Count","type":"int","required":true,"default":null,"options":[],"kind":"int"},{"name":"solver_mode","description":"Solver Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"demand_weight_field","description":"Demand Weight Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"facility_capacity_field","description":"Facility Capacity Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"required_facility_field","description":"Required Facility Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbidden_facility_field","description":"Forbidden Facility Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"map_matching_v1","display_name":"Map Matching V1","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"trajectory_points","description":"Trajectory Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"timestamp_field","description":"Timestamp Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"search_radius","description":"Search Radius","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"candidate_k","description":"Candidate K","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"matched_points_output","description":"Matched Points Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"match_report","description":"Match Report","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"market_access_and_site_intelligence_workflow","display_name":"Market Access And Site Intelligence Workflow","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"network","description":"Input line network.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"sites_existing","description":"Incumbent baseline sites used for existing coverage and coverage-gain calculations.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"sites_candidates","description":"Candidate expansion sites (required for user_supplied mode).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"demand_surface","description":"Demand locations/centroids.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"competition_sites","description":"Optional separate competitor layer used for overlap pressure; if omitted, overlap falls back to sites_existing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"ring_costs","description":"Drive-time costs for catchments.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"candidate_mode","description":"Candidate mode: user_supplied or generated.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"num_sites_to_select","description":"Number of top sites to select.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"selection_strategy","description":"Selection strategy: single_best or top_k_greedy.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"min_new_site_separation","description":"Minimum separation between selected sites in map units.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_generated_candidates","description":"Maximum generated candidate points.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"catchments_output","description":"Output candidate-level catchment polygons (convex-hull trade areas with fallback square polygons when hulls cannot be formed).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"overlap_analysis_output","description":"Output overlap analysis.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"candidate_rank_csv","description":"Output candidate ranking CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"executive_summary_json","description":"Output executive summary.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"market_action_queue_csv","description":"Optional prioritized expansion action queue CSV.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output path for an HTML market access and site intelligence summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"cost_method","description":"Cost method: distance (default), mode_speed, edge_field, or temporal.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_field","description":"Optional line attribute field identifying travel mode per segment.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"default_mode_speed","description":"Default mode speed when mode_field is provided.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_cost_profile","description":"Optional CSV defining time-dependent edge costs.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Optional network field used to match temporal profile edge IDs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Optional RFC3339 departure time used for temporal profile lookup.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Optional temporal interpretation mode: multiplier or absolute.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Optional fallback when temporal row is missing: static_cost or error.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_penalty","description":"Optional additive cost applied to non-straight turns at network nodes.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"u_turn_penalty","description":"Optional additive cost applied to U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_u_turns","description":"If true, disallow U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_left_turns","description":"If true, disallow left-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_right_turns","description":"If true, disallow right-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_restrictions_csv","description":"Optional CSV of turn transitions with optional per-turn costs.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"node_cost_points","description":"Optional point layer providing per-node entry costs (e.g., intersection delay).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_field","description":"Numeric field in node_cost_points containing non-negative per-node costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_snap_distance","description":"Optional max distance from each node-cost point to a network node for assignment.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"multimodal_od_cost_matrix","display_name":"Multimodal Od Cost Matrix","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origin point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destination point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"mode_field","description":"Line attribute field that identifies travel mode per segment.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Optional max distance from origin/destination points to nearest network node.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"default_mode_speed","description":"Default mode speed in coordinate-units per time unit (default: 1).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides (for example: walk:1.4,drive:12,transit:8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes to include in routing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"transfer_penalty","description":"Optional additive penalty applied each time the route changes mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"temporal_cost_profile","description":"Optional CSV defining time-dependent edge costs (columns: edge_id,dow,start_minute,end_minute,value).","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Optional network field used to match temporal_cost_profile edge_id values (default EDGE_ID).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Optional RFC3339 departure time used for temporal profile lookup.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Optional temporal interpretation mode: multiplier or absolute.","type":"string","required":false,"default":null,"options":["multiplier","absolute"],"kind":"enum"},{"name":"temporal_fallback","description":"Optional fallback when temporal row is missing: static_cost or error.","type":"string","required":false,"default":null,"options":["static_cost","error"],"kind":"enum"},{"name":"temporal_profile_report","description":"Optional JSON output path for temporal profile diagnostics when using direct temporal input.","type":"json","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"scenario_bundle_csv","description":"Optional CSV listing named temporal scenarios for comparative multi-scenario OD output.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output CSV path.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"multimodal_routes_from_od","display_name":"Multimodal Routes From Od","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origin point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destination point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"mode_field","description":"Line attribute field that identifies travel mode per segment.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Optional max distance from origin/destination points to nearest network node.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"default_mode_speed","description":"Default mode speed in coordinate-units per time unit (default: 1).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides (for example: walk:1.4,drive:12,transit:8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes to include in routing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"transfer_penalty","description":"Optional additive penalty applied each time the route changes mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"temporal_cost_profile","description":"Optional CSV defining time-dependent edge costs (columns: edge_id,dow,start_minute,end_minute,value).","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Optional network field used to match temporal_cost_profile edge_id values (default EDGE_ID).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Optional RFC3339 departure time used for temporal profile lookup.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Optional temporal interpretation mode: multiplier or absolute.","type":"string","required":false,"default":null,"options":["multiplier","absolute"],"kind":"enum"},{"name":"temporal_fallback","description":"Optional fallback when temporal row is missing: static_cost or error.","type":"string","required":false,"default":null,"options":["static_cost","error"],"kind":"enum"},{"name":"temporal_profile_report","description":"Optional JSON output path for temporal profile diagnostics when using direct temporal input.","type":"json","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"scenario_bundle_csv","description":"Optional CSV listing named temporal scenarios for comparative multi-scenario route output.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output route line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"multimodal_shortest_path","display_name":"Multimodal Shortest Path","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"start_x","description":"Start x coordinate.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"start_y","description":"Start y coordinate.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_x","description":"End x coordinate.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_y","description":"End y coordinate.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"mode_field","description":"Line attribute field that identifies travel mode per segment.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Optional max distance from start/end coordinates to nearest network node.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"default_mode_speed","description":"Default mode speed in coordinate-units per time unit (default: 1).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides (for example: walk:1.4,drive:12,transit:8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes to include in routing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"transfer_penalty","description":"Optional additive penalty applied each time the route changes mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"network_accessibility_metrics","display_name":"Network Accessibility Metrics","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origin point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destination point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Optional max distance from origin/destination points to nearest network node.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"impedance_cutoff","description":"Optional maximum distance threshold for counting reachable destinations (default: infinite).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"decay_function","description":"Optional decay function: 'none' (default), 'linear', or 'exponential' for distance-weighted accessibility.","type":"string","required":false,"default":null,"options":["none","linear","exponential"],"kind":"enum"},{"name":"decay_parameter","description":"Optional decay parameter (lambda for exponential, rate for linear).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Optional line field marking blocked/closed edges to exclude from routing (true/1/yes blocks).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_points","description":"Optional point layer providing per-node entry costs (e.g., intersection delay).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"node_cost_field","description":"Numeric field in node_cost_points containing non-negative per-node costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_snap_distance","description":"Optional max distance from each node-cost point to a network node for assignment.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"parallel_execution","description":"If true (default), evaluate origins in parallel for faster accessibility computation.","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output","description":"Output point vector path (origins with accessibility metrics).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"network_centrality_metrics","display_name":"Network Centrality Metrics","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Optional line field marking blocked/closed edges to exclude from graph construction (true/1/yes blocks).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"network_connected_components","display_name":"Network Connected Components","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"network_node_degree","display_name":"Network Node Degree","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"network_od_cost_matrix","display_name":"Network Od Cost Matrix","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origins","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destinations","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"network_readiness_and_diagnostics_intelligence","display_name":"Network Readiness And Diagnostics Intelligence","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"network","description":"Input line network layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"qa_report","description":"Output CSV with QA findings.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"diagnostics_layer","description":"Output GeoJSON/GeoPackage with diagnostics.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"readiness_score","description":"Output JSON with readiness score.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output path for an HTML network readiness diagnostic summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"network_routes_from_od","display_name":"Network Routes From Od","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origins","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destinations","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"network_service_area","display_name":"Network Service Area","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origins","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_cost","description":"Max Cost","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output_mode","description":"Output Mode","type":"str","required":false,"default":"nodes","options":[],"kind":"string"},{"name":"polygon_merge_origins","description":"Polygon Merge Origins","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"mode_field","description":"Mode Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"default_mode_speed","description":"Default Mode Speed","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"mode_speed_overrides","description":"Mode Speed Overrides","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Allowed Modes","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"network_topology_audit","display_name":"Network Topology Audit","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"report","description":"Report","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"od_sensitivity_analysis","display_name":"Od Sensitivity Analysis","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line network layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"origins","description":"Origin point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"destinations","description":"Destination point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"edge_cost_field","description":"Required numeric line field used as an impedance multiplier for perturbation analysis.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"impedance_disturbance_range","description":"Range for cost perturbation as 'min_factor,max_factor' (e.g., '0.8,1.2' for ±20% variation).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"monte_carlo_samples","description":"Number of Monte Carlo samples for perturbation analysis (default 1, max 100).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"snap_tolerance","description":"Optional node snapping tolerance for graph construction.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Optional max distance from origin/destination points to nearest network node.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Optional line field marking blocked/closed edges.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_points","description":"Optional point layer providing per-node entry costs (e.g., intersection delay).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"node_cost_field","description":"Numeric field in node_cost_points containing non-negative per-node costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_snap_distance","description":"Optional max distance from each node-cost point to a network node for assignment.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"parallel_execution","description":"If true (default), evaluates origin searches in parallel for baseline and perturbed OD runs.","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output","description":"Output CSV path with OD pairs and sensitivity statistics.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"shortest_path_network","display_name":"Shortest Path Network","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"start_x","description":"Start X","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"start_y","description":"Start Y","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_x","description":"End X","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"end_y","description":"End Y","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_snap_distance","description":"Max Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_cost_field","description":"Edge Cost Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"One Way Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"blocked_field","description":"Blocked Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"barriers","description":"Barriers","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"barrier_snap_distance","description":"Barrier Snap Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"turn_penalty","description":"Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"u_turn_penalty","description":"U Turn Penalty","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"forbid_u_turns","description":"Forbid U Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_left_turns","description":"Forbid Left Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"forbid_right_turns","description":"Forbid Right Turns","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"turn_restrictions_csv","description":"Turn Restrictions Csv","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_cost_profile","description":"Temporal Cost Profile","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Temporal Edge Id Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Departure Time","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Temporal Mode","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Temporal Fallback","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_profile_report","description":"Temporal Profile Report","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"split_lines_at_intersections","display_name":"Split Lines At Intersections","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input line layer to split at intersections.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Optional snapping tolerance used by split operations; defaults to machine epsilon.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output split line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"snap_points_to_network","display_name":"Snap Points To Network","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input point layer to be snapped.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"network","description":"Input network line layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_snap_distance","description":"Optional maximum snapping distance in map units.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"keep_unsnapped","description":"If true (default), retains points that cannot be snapped within tolerance.","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output","description":"Output snapped point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"service_area_planning_and_coverage_optimization","display_name":"Service Area Planning And Coverage Optimization","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"network","description":"Input line network layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"facilities","description":"Input facility points layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"demand_points","description":"Optional demand layer (points or polygons).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"ring_costs","description":"Numeric array of ring costs.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"scenarios","description":"Optional scenario CSV.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"service_areas","description":"Output service area vectors.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"service_area_merge_origins","description":"If true, dissolve overlapping origin polygons into merged coverage per ring for service_areas output (default false).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"uncovered_demand","description":"Output uncovered demand vectors.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"scenario_summary_csv","description":"Output scenario summary CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"ranked_candidates_csv","description":"Output ranked candidates CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"optimization_mode","description":"Optimization mode: existing or expansion.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"candidate_mode","description":"Expansion candidate mode: user_supplied or generated.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"candidate_sites","description":"Optional candidate points layer for user_supplied expansion mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"num_sites_to_select","description":"Number of top expansion sites to select.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"selection_strategy","description":"Expansion strategy: single_best or top_k_greedy.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"min_new_site_separation","description":"Minimum separation between selected expansion sites in map units.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_generated_candidates","description":"Maximum number of generated expansion candidates.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"ranked_candidates_vector","description":"Optional vector output path for ranked candidates with metrics.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"},{"name":"html_report","description":"Optional output path for an HTML service area planning summary report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"cost_method","description":"Cost method: distance (default), mode_speed, edge_field, or temporal.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"edge_cost_field","description":"Optional numeric line field used as an impedance multiplier for segment length.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"one_way_field","description":"Optional line field marking one-way digitized edges (supports FT/TF/B plus legacy boolean values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_field","description":"Optional line attribute field identifying travel mode per segment; enables mode-aware service-area costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"default_mode_speed","description":"Default mode speed in coordinate-units per time unit when mode_field is provided (default: 1).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mode_speed_overrides","description":"Optional comma-separated mode:speed overrides (e.g., walk:1.4,drive:12).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_modes","description":"Optional comma-separated allow-list of modes to include when mode_field is provided.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_cost_profile","description":"Optional CSV defining time-dependent edge costs (columns: edge_id,dow,start_minute,end_minute,value).","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"temporal_edge_id_field","description":"Optional network field used to match temporal_cost_profile edge_id values (default EDGE_ID).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"departure_time","description":"Optional RFC3339 departure time used for temporal profile lookup.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_mode","description":"Optional temporal interpretation mode: multiplier or absolute.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"temporal_fallback","description":"Optional fallback when temporal row is missing: static_cost or error.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_penalty","description":"Optional additive cost applied to non-straight turns at network nodes.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"u_turn_penalty","description":"Optional additive cost applied to U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_u_turns","description":"If true, disallow U-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_left_turns","description":"If true, disallow left-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"forbid_right_turns","description":"If true, disallow right-turn transitions.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"turn_restrictions_csv","description":"Optional CSV of turn transitions using columns prev_x,prev_y,node_x,node_y,next_x,next_y. Optional columns: forbidden (default true when no turn_cost column is provided) and turn_cost (or penalty/cost/extra_cost) for per-turn additive cost.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"node_cost_points","description":"Optional point layer providing per-node entry costs (e.g., intersection delay).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_field","description":"Numeric field in node_cost_points containing non-negative per-node costs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"node_cost_snap_distance","description":"Optional max distance from each node-cost point to a network node for assignment.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"transfer_attributes","display_name":"Transfer Attributes","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"target","description":"Target layer receiving transferred attributes.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"source","description":"Source layer providing attributes.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"predicate","description":"Spatial predicate: intersects, within, contains, touches, crosses, overlaps, within_distance.","type":"string","required":false,"default":null,"options":["intersects","within","contains","touches","crosses","overlaps","within_distance"],"kind":"enum"},{"name":"distance","description":"Distance threshold when predicate=within_distance.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"strategy","description":"Transfer strategy: first, last, count, sum, mean, min, max.","type":"string","required":false,"default":null,"options":["first","last","count","sum","mean","min","max"],"kind":"enum"},{"name":"prefix","description":"Prefix for transferred source fields (default SRC_).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"travelling_salesman_problem","display_name":"Travelling Salesman Problem","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"duration","description":"Duration","type":"int","required":false,"default":60,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"vehicle_routing_cvrp","display_name":"Vehicle Routing Cvrp","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"network","description":"Input line network layer (validated for contract parity).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"depot_points","description":"Depot point layer; each point can contribute one or more vehicles.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"stop_points","description":"Delivery stop point layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"demand_field","description":"Numeric demand field in stop_points (default: demand).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"priority_field","description":"Optional stop priority field using values like required/high/normal/low or numeric ranks.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_vehicle_profiles_field","description":"Optional stop field listing compatible vehicle profiles (comma/semicolon/pipe-delimited).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_route_classes_field","description":"Optional alias of allowed_vehicle_profiles_field for route-class compatibility rules.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"depot_id_field","description":"Optional depot ID field used in route/assignment outputs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_count_field","description":"Optional depot field for number of vehicles spawned at each depot.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_capacity_field","description":"Optional depot field overriding vehicle_capacity per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_fixed_cost_field","description":"Optional depot field overriding vehicle_fixed_cost per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"travel_speed_field","description":"Optional depot field overriding travel_speed per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_route_distance_field","description":"Optional depot field overriding max_route_distance per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_route_time_field","description":"Optional depot field overriding max_route_time per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_profile_field","description":"Optional depot field defining vehicle profile/category token used for stop compatibility.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_route_class_field","description":"Optional alias of vehicle_profile_field for route-class compatibility rules.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_capacity","description":"Per-vehicle capacity (> 0).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"vehicle_fixed_cost","description":"Optional fixed cost charged per dispatched vehicle/route (default: 0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_vehicles","description":"Optional maximum number of vehicles/routes to construct.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"max_route_distance","description":"Optional maximum travel distance per route, including return to depot.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"travel_speed","description":"Travel speed in coordinate-units per time unit (default: 1).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_route_time","description":"Optional maximum route duration in model time units, including return to depot.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_stops_per_vehicle","description":"Optional maximum number of stops assigned to each vehicle route.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"objective_mode","description":"Route-construction objective: minimize_distance, minimize_vehicles, or minimize_cost.","type":"string","required":false,"default":null,"options":["minimize_distance","minimize_vehicles","minimize_cost"],"kind":"enum"},{"name":"apply_local_optimization","description":"When true, applies a deterministic 2-opt local improvement pass to each constructed route (default: true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"apply_simulated_annealing","description":"When true, applies a seeded simulated annealing refinement pass per route after greedy/local optimization (default: false).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"sa_iterations","description":"Maximum simulated annealing iterations per route when apply_simulated_annealing=true (default: 1500).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"sa_initial_temperature","description":"Initial simulated annealing temperature (> 0, default: 1.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"sa_cooling_rate","description":"Simulated annealing cooling multiplier in (0, 1); default 0.995.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"sa_seed","description":"Optional deterministic random seed for simulated annealing (default: 42).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output route line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"assignment_output","description":"Optional stop assignment point output with visit order/load diagnostics.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"vehicle_routing_pickup_delivery","display_name":"Vehicle Routing Pickup Delivery","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"network","description":"Input line network layer (validated for contract parity).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"depot_points","description":"Depot point layer; first point is used as the active depot in this baseline implementation.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"stop_points","description":"Stop point layer containing paired pickup and delivery records.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"request_id_field","description":"Request identifier field in stop_points used to pair pickup and delivery records (default: request_id).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"stop_type_field","description":"Stop type field in stop_points containing pickup/delivery labels (default: stop_type).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"demand_field","description":"Numeric demand field in stop_points; pickup demand is loaded and delivered demand is ignored (default: demand).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_capacity","description":"Per-vehicle capacity (> 0).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"max_vehicles","description":"Optional maximum number of vehicles/routes to construct.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output route line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"assignment_output","description":"Optional stop assignment point output with request and precedence diagnostics.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"vehicle_routing_vrptw","display_name":"Vehicle Routing Vrptw","summary":"","category":"Vector - Network Analysis","taxonomy_category":"vector","taxonomy_subcategory":"network_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"network","description":"Input line network layer (validated for contract parity).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"depot_points","description":"Depot point layer; each point can contribute one or more vehicles.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"stop_points","description":"Delivery stop point layer with demand and time-window fields.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"demand_field","description":"Numeric demand field in stop_points (default: demand).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"priority_field","description":"Optional stop priority field using values like required/high/normal/low or numeric ranks.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_vehicle_profiles_field","description":"Optional stop field listing compatible vehicle profiles (comma/semicolon/pipe-delimited).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"allowed_route_classes_field","description":"Optional alias of allowed_vehicle_profiles_field for route-class compatibility rules.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"tw_start_field","description":"Numeric time-window start field in stop_points (default: tw_start).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"tw_end_field","description":"Numeric time-window end field in stop_points (default: tw_end).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"service_time_field","description":"Numeric per-stop service time field in stop_points (default: service_time).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"depot_id_field","description":"Optional depot ID field used in route/assignment outputs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_count_field","description":"Optional depot field for number of vehicles spawned at each depot.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_capacity_field","description":"Optional depot field overriding vehicle_capacity per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_fixed_cost_field","description":"Optional depot field overriding vehicle_fixed_cost per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"travel_speed_field","description":"Optional depot field overriding travel_speed per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_route_distance_field","description":"Optional depot field overriding max_route_distance per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_route_time_field","description":"Optional depot field overriding max_route_time per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_profile_field","description":"Optional depot field defining vehicle profile/category token used for stop compatibility.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_route_class_field","description":"Optional alias of vehicle_profile_field for route-class compatibility rules.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"depot_close_time_field","description":"Optional depot field overriding depot_close_time per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"break_start_field","description":"Optional depot field overriding break_start_time per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"break_end_field","description":"Optional depot field overriding break_end_time per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"break_duration_field","description":"Optional depot field overriding break_duration per depot/vehicle template.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"vehicle_capacity","description":"Per-vehicle capacity (> 0).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"vehicle_fixed_cost","description":"Optional fixed cost charged per dispatched vehicle/route (default: 0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"start_time","description":"Route start time in model time units (default: 0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"travel_speed","description":"Travel speed in coordinate-units per time unit (default: 1).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"enforce_time_windows","description":"When true, only stops with lateness <= allowed_lateness are eligible for assignment (default: false).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"allowed_lateness","description":"Maximum lateness tolerated when enforce_time_windows=true (default: 0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"depot_close_time","description":"Optional hard close time by which each route must return to depot.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"break_start_time","description":"Optional global break-window start time for all vehicles.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"break_end_time","description":"Optional global break-window end time for all vehicles.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"break_duration","description":"Optional global break duration applied once per route when break window is intersected.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"use_priority_scoring","description":"When true, ranks feasible candidates by projected lateness/slack before travel distance; when false, uses nearest-neighbour baseline (default: true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"max_vehicles","description":"Optional maximum number of vehicles/routes to construct.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"max_route_distance","description":"Optional maximum route travel distance, including return to depot.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_route_time","description":"Optional maximum route duration in model time units, including return to depot.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_stops_per_vehicle","description":"Optional maximum number of stops assigned to each vehicle route.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"objective_mode","description":"Route-construction objective: minimize_lateness, minimize_distance, minimize_vehicles, or minimize_cost.","type":"string","required":false,"default":null,"options":["minimize_lateness","minimize_distance","minimize_vehicles","minimize_cost"],"kind":"enum"},{"name":"output","description":"Output route line vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"assignment_output","description":"Optional stop assignment point output with time-window diagnostics.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"clip","display_name":"Clip","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"difference","display_name":"Difference","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"dissolve","display_name":"Dissolve","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dissolve_field","description":"Dissolve Field","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float","required":false,"default":2.220446049250313e-16,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"erase","display_name":"Erase","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"identity","display_name":"Identity","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"intersect","display_name":"Intersect","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"line_intersections","display_name":"Line Intersections","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"input2","description":"Input2","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"line_polygon_clip","display_name":"Line Polygon Clip","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"clip","description":"Clip","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"near","display_name":"Near","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"near","description":"Near","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_distance","description":"Max Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"select_by_location","display_name":"Select By Location","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"target","description":"Target","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"query","description":"Query","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"predicate","description":"Predicate","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"spatial_join","display_name":"Spatial Join","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"target","description":"Target","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"join","description":"Join","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"predicate","description":"Predicate","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"strategy","description":"Strategy","type":"Literal[\"first\", \"last\", \"count\", \"sum\", \"mean\", \"min\", \"max\"]","required":false,"default":"first","options":[],"kind":"string"},{"name":"prefix","description":"Prefix","type":"str","required":false,"default":"JOIN_","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"symmetrical_difference","display_name":"Symmetrical Difference","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"union","display_name":"Union","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"update","display_name":"Update","summary":"","category":"Vector - Overlay Analysis","taxonomy_category":"vector","taxonomy_subcategory":"overlay_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"overlay","description":"Overlay","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"centroid_vector","display_name":"Centroid Vector","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"concave_hull","display_name":"Concave Hull","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_edge_length","description":"Max Edge Length","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"epsilon","description":"Epsilon","type":"float","required":false,"default":1e-9,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"densify_features","display_name":"Densify Features","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"spacing","description":"Spacing","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"eliminate_coincident_points","display_name":"Eliminate Coincident Points","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"tolerance_dist","description":"Tolerance Dist","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"extend_vector_lines","display_name":"Extend Vector Lines","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"distance","description":"Distance","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"extend_direction","description":"Extend Direction","type":"Literal[\"both\", \"start\", \"end\"]","required":false,"default":"both","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"merge_line_segments","display_name":"Merge Line Segments","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float","required":false,"default":2.220446049250313e-16,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"minimum_bounding_box","display_name":"Minimum Bounding Box","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"min_criteria","description":"Min Criteria","type":"Literal[\"area\", \"perimeter\", \"length\", \"width\"]","required":false,"default":"area","options":[],"kind":"string"},{"name":"individual_feature_hulls","description":"Individual Feature Hulls","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"minimum_bounding_circle","display_name":"Minimum Bounding Circle","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"individual_feature_hulls","description":"Individual Feature Hulls","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"minimum_bounding_envelope","display_name":"Minimum Bounding Envelope","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"individual_feature_hulls","description":"Individual Feature Hulls","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"minimum_convex_hull","display_name":"Minimum Convex Hull","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"individual_feature_hulls","description":"Individual Feature Hulls","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygonize","display_name":"Polygonize","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_layers","description":"Input Layers","type":"list[Vector | str]","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float","required":false,"default":2.220446049250313e-16,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"representative_point_vector","display_name":"Representative Point Vector","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"simplify_features","display_name":"Simplify Features","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"tolerance","description":"Tolerance","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"smooth_vectors","display_name":"Smooth Vectors","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"snap_endnodes","display_name":"Snap Endnodes","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float","required":false,"default":2.220446049250313e-16,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"split_vector_lines","display_name":"Split Vector Lines","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"segment_length","description":"Segment Length","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"split_with_lines","display_name":"Split With Lines","summary":"","category":"Vector - Geometry Processing","taxonomy_category":"vector","taxonomy_subcategory":"geometry_processing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"split_vector","description":"Split Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_tolerance","description":"Snap Tolerance","type":"float","required":false,"default":2.220446049250313e-16,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"compactness_ratio","display_name":"Compactness Ratio","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"deviation_from_regional_direction","display_name":"Deviation From Regional Direction","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"elongation_threshold","description":"Elongation Threshold","type":"float","required":false,"default":0.75,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"elongation_ratio","display_name":"Elongation Ratio","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"hole_proportion","display_name":"Hole Proportion","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"linearity_index","display_name":"Linearity Index","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"narrowness_index_vector","display_name":"Narrowness Index Vector","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"patch_orientation","display_name":"Patch Orientation","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"perimeter_area_ratio","display_name":"Perimeter Area Ratio","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygon_area","display_name":"Polygon Area","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygon_long_axis","display_name":"Polygon Long Axis","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygon_perimeter","display_name":"Polygon Perimeter","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygon_short_axis","display_name":"Polygon Short Axis","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"related_circumscribing_circle","display_name":"Related Circumscribing Circle","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"shape_complexity_index_vector","display_name":"Shape Complexity Index Vector","summary":"","category":"Vector - Shape Metrics","taxonomy_category":"vector","taxonomy_subcategory":"shape_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"global_morans_i","display_name":"Global Morans I","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Numeric attribute field to analyze.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode: queen, rook, k_nearest, distance_band.","type":"string","required":false,"default":null,"options":["queen","rook","k_nearest","distance_band"],"kind":"enum"},{"name":"k","description":"k value for k_nearest mode.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"distance","description":"Distance threshold for distance_band mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"row_standardize","description":"Apply row standardization to weights (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"inference","description":"Inference mode: asymptotic or permutation (default: asymptotic).","type":"string","required":false,"default":null,"options":["asymptotic","permutation"],"kind":"enum"},{"name":"num_simulations","description":"Number of permutations for permutation testing (default: 999).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"seed","description":"Random seed for reproducible permutation testing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"island_policy","description":"Island handling: drop_with_warning, keep_zero_weight, error.","type":"string","required":false,"default":null,"options":["drop_with_warning","keep_zero_weight","error"],"kind":"enum"},{"name":"output_json","description":"Optional JSON report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_html","description":"Optional HTML report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_csv","description":"Optional CSV summary output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_distribution","description":"Optional path to save permutation distribution as JSON.","type":"json","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"getis_ord_gi_star","display_name":"Getis Ord Gi Star","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Numeric attribute field to analyze.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode: queen, rook, k_nearest, distance_band.","type":"string","required":false,"default":null,"options":["queen","rook","k_nearest","distance_band"],"kind":"enum"},{"name":"k","description":"k value for k_nearest mode.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"distance","description":"Distance threshold for distance_band mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"row_standardize","description":"Apply row standardization to weights (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"variant","description":"Variant: gi or gi_star (default gi_star).","type":"string","required":false,"default":null,"options":["gi","gi_star"],"kind":"enum"},{"name":"inference","description":"Inference mode: asymptotic or permutation (default: asymptotic).","type":"string","required":false,"default":null,"options":["asymptotic","permutation"],"kind":"enum"},{"name":"num_simulations","description":"Number of permutations for permutation testing (default: 999).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"seed","description":"Random seed for reproducible permutation testing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"island_policy","description":"Island handling: drop_with_warning, keep_zero_weight, error.","type":"string","required":false,"default":null,"options":["drop_with_warning","keep_zero_weight","error"],"kind":"enum"},{"name":"alpha","description":"Significance threshold in [0, 1]; default 0.05.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output vector path with GI fields.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"output_html","description":"Optional HTML report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"local_morans_i_lisa","display_name":"Local Morans I Lisa","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Numeric attribute field to analyze.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode: queen, rook, k_nearest, distance_band.","type":"string","required":false,"default":null,"options":["queen","rook","k_nearest","distance_band"],"kind":"enum"},{"name":"k","description":"k value for k_nearest mode.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"distance","description":"Distance threshold for distance_band mode.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"row_standardize","description":"Apply row standardization to weights (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"inference","description":"Inference mode: asymptotic or permutation (default: asymptotic).","type":"string","required":false,"default":null,"options":["asymptotic","permutation"],"kind":"enum"},{"name":"num_simulations","description":"Number of permutations for permutation testing (default: 999).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"seed","description":"Random seed for reproducible permutation testing.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"island_policy","description":"Island handling: drop_with_warning, keep_zero_weight, error.","type":"string","required":false,"default":null,"options":["drop_with_warning","keep_zero_weight","error"],"kind":"enum"},{"name":"alpha","description":"Significance threshold in [0, 1]; default 0.05.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"fdr_correction","description":"Apply FDR-BH correction (default true for permutation).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"output","description":"Output vector path with LISA fields.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"output_html","description":"Optional HTML report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"nearest_neighbour_index","display_name":"Nearest Neighbour Index","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"study_area_mode","description":"Study area mode: hull, envelope, polygon_layer.","type":"string","required":false,"default":null,"options":["hull","envelope","polygon_layer"],"kind":"enum"},{"name":"study_area_polygon","description":"Polygon layer used when study_area_mode=polygon_layer.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_json","description":"Optional JSON report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_html","description":"Optional HTML report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_csv","description":"Optional CSV summary output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"quadrat_count_test","display_name":"Quadrat Count Test","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"grid_mode","description":"Grid mode: rows_cols or cell_size.","type":"string","required":false,"default":null,"options":["rows_cols","cell_size"],"kind":"enum"},{"name":"rows","description":"Rows when grid_mode=rows_cols.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"cols","description":"Cols when grid_mode=rows_cols.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"cell_size","description":"Cell size when grid_mode=cell_size.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"study_area_mode","description":"Study area mode: hull, envelope, polygon_layer.","type":"string","required":false,"default":null,"options":["hull","envelope","polygon_layer"],"kind":"enum"},{"name":"study_area_polygon","description":"Polygon layer used when study_area_mode=polygon_layer.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_grid","description":"Optional quadrat polygon grid output path.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"},{"name":"output_json","description":"Optional JSON report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_html","description":"Optional HTML report output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_csv","description":"Optional CSV summary output path.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"spatial_lag_regression","display_name":"Spatial Lag Regression","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response (dependent) variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Comma-separated predictor field names.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Spatial neighborhood mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k value for k_nearest.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Row standardize weights.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"spatial_error_regression","display_name":"Spatial Error Regression","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Comma-separated predictor fields.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Spatial neighborhood mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k for k_nearest.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Row standardize weights.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"geographically_weighted_regression","display_name":"Geographically Weighted Regression","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Comma-separated predictor fields.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"bandwidth_hint","description":"Optional bandwidth hint.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"ripleys_k_test","display_name":"Ripleys K Test","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_distance","description":"Maximum analysis distance.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"step_size","description":"Distance step size.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector with K statistics.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"envelope_test","display_name":"Envelope Test","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"num_simulations","description":"Number of Monte Carlo simulations.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_distance","description":"Maximum analysis distance.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector with envelope bounds.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"point_process_residuals","display_name":"Point Process Residuals","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"intensity_field","description":"Fitted intensity field.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output vector with residuals.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"ripleys_k_function","display_name":"Ripleys K Function","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_distance","description":"Maximum distance threshold.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"num_distances","description":"Number of distance steps.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"point_pattern_envelope","display_name":"Point Pattern Envelope","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_distance","description":"Maximum distance.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"num_distances","description":"Distance bins.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"num_simulations","description":"Monte Carlo replicates.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"alpha","description":"Significance level.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"inhomogeneous_baseline","display_name":"Inhomogeneous Baseline","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_distance","description":"Maximum distance.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"num_distances","description":"Distance bins.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"bandwidth","description":"KDE bandwidth (auto-select if omitted).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"hotspot_vs_process","display_name":"Hotspot Vs Process","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"hotspot_field","description":"Hotspot classification field.","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"intensity_field","description":"Intensity field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"point_process_residuals_comparison","display_name":"Point Process Residuals Comparison","summary":"","category":"Vector - Spatial Statistics","taxonomy_category":"vector","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"observed_field","description":"Observed values field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predicted_field","description":"Predicted values field.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"residual_type","description":"Residual type.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output CSV.","type":"table","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"construct_vector_tin","display_name":"Construct Vector Tin","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_points","description":"Input Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float","required":false,"default":-1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"contours_from_points","display_name":"Contours From Points","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"use_z_values","description":"Use Z Values","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"contour_interval","description":"Contour Interval","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"base_contour","description":"Base Contour","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"smoothing_filter_size","description":"Smoothing Filter Size","type":"int","required":false,"default":9,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"contours_from_raster","display_name":"Contours From Raster","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"contour_interval","description":"Contour Interval","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"base_contour","description":"Base Contour","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"smoothing_filter_size","description":"Smoothing Filter Size","type":"int","required":false,"default":9,"options":[],"kind":"int"},{"name":"deflection_tolerance","description":"Deflection Tolerance","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"extract_nodes","display_name":"Extract Nodes","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"extract_raster_values_at_points","display_name":"Extract Raster Values At Points","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"rasters","description":"Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"tuple[Vector, str]"},{"id":"find_lowest_or_highest_points","display_name":"Find Lowest Or Highest Points","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output_type","description":"Output Type","type":"str","required":false,"default":"lowest","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"hexagonal_grid_from_raster_base","display_name":"Hexagonal Grid From Raster Base","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"orientation","description":"Orientation","type":"str","required":false,"default":"h","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"hexagonal_grid_from_vector_base","display_name":"Hexagonal Grid From Vector Base","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"orientation","description":"Orientation","type":"str","required":false,"default":"h","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"layer_footprint_raster","display_name":"Layer Footprint Raster","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"layer_footprint_vector","display_name":"Layer Footprint Vector","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"medoid","display_name":"Medoid","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"random_points_in_polygon","display_name":"Random Points In Polygon","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"num_points","description":"Num Points","type":"int","required":true,"default":null,"options":[],"kind":"int"},{"name":"seed","description":"Seed","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"rectangular_grid_from_raster_base","display_name":"Rectangular Grid From Raster Base","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"height","description":"Height","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"x_origin","description":"X Origin","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"y_origin","description":"Y Origin","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"rectangular_grid_from_vector_base","display_name":"Rectangular Grid From Vector Base","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"height","description":"Height","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"x_origin","description":"X Origin","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"y_origin","description":"Y Origin","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"vector_hex_binning","display_name":"Vector Hex Binning","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"vector_points","description":"Vector Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"width","description":"Width","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"orientation","description":"Orientation","type":"str","required":false,"default":"h","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"voronoi_diagram","display_name":"Voronoi Diagram","summary":"","category":"Vector - Sampling & Gridding","taxonomy_category":"vector","taxonomy_subcategory":"sampling_gridding","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_points","description":"Input Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"add_field","display_name":"Add Field","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"field_type","description":"Field Type","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"default","description":"Default","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"add_geometry_attributes","display_name":"Add Geometry Attributes","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"area","description":"Area","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"length","description":"Length","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"perimeter","description":"Perimeter","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"centroid","description":"Centroid","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"attribute_correlation","display_name":"Attribute Correlation","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"attribute_histogram","display_name":"Attribute Histogram","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"attribute_scattergram","display_name":"Attribute Scattergram","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name_x","description":"Field Name X","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"field_name_y","description":"Field Name Y","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"trendline","description":"Trendline","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"delete_field","display_name":"Delete Field","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"fields","description":"Fields","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"extract_by_attribute","display_name":"Extract By Attribute","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"statement","description":"Statement","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"field_calculator","display_name":"Field Calculator","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"expression","description":"Expression","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"field_type","description":"Field Type","type":"Literal[\"float\", \"integer\", \"text\"]","required":false,"default":"float","options":[],"kind":"int"},{"name":"overwrite","description":"Overwrite","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"filter_vector_features_by_area","display_name":"Filter Vector Features By Area","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"threshold","description":"Threshold","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"list_unique_values","display_name":"List Unique Values","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"rename_field","display_name":"Rename Field","summary":"","category":"Vector - Attribute Analysis","taxonomy_category":"vector","taxonomy_subcategory":"attribute_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"new_field","description":"New Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"utility_corridor_encroachment_and_access_planning","display_name":"Utility Corridor Encroachment And Access Planning","summary":"","category":"Vector - Workflow Products","taxonomy_category":"vector","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"corridors","description":"Input corridor centerline layer (line geometry).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"encroachments","description":"Input encroachment observations (point/line/polygon).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"access_points","description":"Input field-access points (point geometry).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"corridor_influence_distance","description":"Maximum distance from corridor to keep as a hotspot (default 30.0 map units).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"high_risk_distance","description":"Distance threshold considered highest risk (default 10.0 map units).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"hotspots","description":"Output hotspot vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"priority_csv","description":"Output ranked hotspot CSV path.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"planning_report","description":"Output planning summary JSON path.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"response_queue_csv","description":"Optional output CSV path for dispatch-ready response queue with SLA guidance.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output path for an HTML operations dashboard report.","type":"text","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"parcel_and_land_fabric_topology_compliance_workflow","display_name":"Parcel And Land Fabric Topology Compliance Workflow","summary":"","category":"Vector - Workflow Products","taxonomy_category":"vector","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"parcels","description":"Input parcel polygon layer.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"min_sliver_area","description":"Minimum area threshold under which parcels are flagged as slivers (default 1.0).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"auto_fix","description":"If true, runs topology_rule_autofix and writes corrected output (default false).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"jurisdiction_template","description":"Optional rule-template preset (generic | ontario_mpac). Influences default sliver threshold and report recommendations.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"topology_violations","description":"Output vector path for topology rule violations.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"issues_csv","description":"Output CSV path for topology validation report.","type":"table","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"compliance_report","description":"Output JSON path for compliance summary report.","type":"json","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"corrected_parcels","description":"Optional output vector path for auto-fix corrected parcels.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"remediation_queue_csv","description":"Optional output CSV path for prioritized remediation actions by issue type.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"html_report","description":"Optional output HTML path for the compliance dashboard report.","type":"text","required":false,"default":null,"options":[],"kind":"file_in"}],"return_type":"Any"},{"id":"download_osm_vector","display_name":"Download Osm Vector","summary":"","category":"Vector - Online Data","taxonomy_category":"vector","taxonomy_subcategory":"online_data","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"west","description":"West boundary longitude (EPSG:4326).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"south","description":"South boundary latitude (EPSG:4326).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"east","description":"East boundary longitude (EPSG:4326).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"north","description":"North boundary latitude (EPSG:4326).","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"input_extent_epsg","description":"EPSG code for west/south/east/north input extent (default 4326).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"filter_preset","description":"Feature class preset: all, roads, buildings, water, landuse, trails, parks, rail, amenities, boundaries, transit, poi (default all).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"include_tags","description":"Semicolon-delimited tag keys filter list, e.g. amenity;shop.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"include_key_values","description":"Semicolon-delimited key=value filter list, e.g. amenity=school;building=yes.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"filter_key","description":"Legacy single tag-key filter (deprecated; use include_tags).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"filter_key_value","description":"Legacy single key=value filter (deprecated; use include_key_values).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"include_points","description":"Include OSM node features with tags as Point geometries (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"include_lines","description":"Include OSM way features as LineString geometries (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"include_polygons","description":"Include closed OSM ways with area tags as Polygon geometries (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"clip_to_extent","description":"Clip output geometries to the query bbox extent (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"split_output_by_geometry","description":"Write separate outputs per geometry type (_points|lines|polygons.ext).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output_epsg","description":"Reproject output to this EPSG code; omit to keep EPSG:4326.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"overpass_profile","description":"Overpass endpoint profile: main, kumi, fr, or custom (default main).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"overpass_url","description":"Overpass API endpoint URL (default https://overpass-api.de/api/interpreter).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"timeout_seconds","description":"Query timeout in seconds (default 25).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"max_elements","description":"Maximum number of returned Overpass elements before an error is raised (default 50 000).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"chunk_large_aoi","description":"Automatically split larger AOIs into multiple Overpass requests (default true).","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"chunk_max_area_deg2","description":"Maximum area per chunk in square degrees when chunking (default 4.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_chunk_count","description":"Hard cap on chunk count when chunking large AOIs (default 64).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"chunk_parallel_requests","description":"Maximum parallel chunk requests for large AOIs (default 1 = sequential).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"cache_dir","description":"Optional directory for caching Overpass JSON responses by endpoint+query hash.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cache_ttl_hours","description":"Cache time-to-live in hours (default 24; 0 means no expiry check).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"provenance_output","description":"Optional JSON path to write query/provenance metadata sidecar.","type":"json","required":false,"default":null,"options":[],"kind":"file_out"},{"name":"output","description":"Optional output vector path; when omitted, a temporary output is used.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Any"},{"id":"assign_projection_lidar","display_name":"Assign Projection Lidar","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[],"return_type":"Any"},{"id":"assign_projection_raster","display_name":"Assign Projection Raster","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[],"return_type":"Any"},{"id":"assign_projection_vector","display_name":"Assign Projection Vector","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[],"return_type":"Any"},{"id":"georeference_raster_from_control_points","display_name":"Georeference Raster From Control Points","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Any","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"control_points","description":"Control Points","type":"Any","required":true,"default":null,"options":[],"kind":"string"},{"name":"epsg","description":"Epsg","type":"Any","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"report","description":"Report","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"resample","description":"Resample","type":"Any","required":false,"default":"bilinear","options":["nearest","bilinear","cubic","lanczos","average","min","max","mode","median"],"kind":"enum"}],"return_type":"Any"},{"id":"reproject_lidar","display_name":"Reproject Lidar","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Any","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"dst_epsg","description":"Dst Epsg","type":"Any","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"use_3d_transform","description":"Use 3d Transform","type":"Any","required":false,"default":false,"options":[],"kind":"bool"},{"name":"failure_policy","description":"Failure Policy","type":"Any","required":false,"default":"error","options":[],"kind":"string"},{"name":"coordinate_epoch","description":"Coordinate Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"source_reference_epoch","description":"Source Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"target_reference_epoch","description":"Target Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"operation_code","description":"Operation Code","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"prefer_official_operation","description":"Prefer Official Operation","type":"Any","required":false,"default":true,"options":[],"kind":"bool"},{"name":"epoch_policy","description":"Epoch Policy","type":"Any","required":false,"default":"strict","options":[],"kind":"string"}],"return_type":"Any"},{"id":"reproject_raster","display_name":"Reproject Raster","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Any","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dst_epsg","description":"Dst Epsg","type":"Any","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"resample","description":"Resample","type":"Any","required":false,"default":"nearest","options":["nearest","bilinear","cubic","lanczos","average","min","max","mode","median"],"kind":"enum"},{"name":"cols","description":"Cols","type":"Any","required":false,"default":null,"options":[],"kind":"int"},{"name":"rows","description":"Rows","type":"Any","required":false,"default":null,"options":[],"kind":"int"},{"name":"extent","description":"Extent","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"x_res","description":"X Res","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"y_res","description":"Y Res","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_x","description":"Snap X","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_y","description":"Snap Y","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"nodata_policy","description":"Nodata Policy","type":"Any","required":false,"default":"partial_kernel","options":[],"kind":"string"},{"name":"antimeridian_policy","description":"Antimeridian Policy","type":"Any","required":false,"default":"auto","options":[],"kind":"string"},{"name":"grid_size_policy","description":"Grid Size Policy","type":"Any","required":false,"default":"expand","options":[],"kind":"string"},{"name":"destination_footprint","description":"Destination Footprint","type":"Any","required":false,"default":"none","options":[],"kind":"string"},{"name":"coordinate_epoch","description":"Coordinate Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"source_reference_epoch","description":"Source Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"target_reference_epoch","description":"Target Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"operation_code","description":"Operation Code","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"prefer_official_operation","description":"Prefer Official Operation","type":"Any","required":false,"default":true,"options":[],"kind":"bool"},{"name":"epoch_policy","description":"Epoch Policy","type":"Any","required":false,"default":"strict","options":[],"kind":"string"}],"return_type":"Any"},{"id":"reproject_vector","display_name":"Reproject Vector","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Any","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dst_epsg","description":"Dst Epsg","type":"Any","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"Any","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"failure_policy","description":"Failure Policy","type":"Any","required":false,"default":"error","options":[],"kind":"string"},{"name":"antimeridian_policy","description":"Antimeridian Policy","type":"Any","required":false,"default":"keep","options":[],"kind":"string"},{"name":"max_segment_length","description":"Max Segment Length","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"topology_policy","description":"Topology Policy","type":"Any","required":false,"default":"none","options":[],"kind":"string"},{"name":"coordinate_epoch","description":"Coordinate Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"source_reference_epoch","description":"Source Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"target_reference_epoch","description":"Target Reference Epoch","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"operation_code","description":"Operation Code","type":"Any","required":false,"default":null,"options":[],"kind":"string"},{"name":"prefer_official_operation","description":"Prefer Official Operation","type":"Any","required":false,"default":true,"options":[],"kind":"bool"},{"name":"epoch_policy","description":"Epoch Policy","type":"Any","required":false,"default":"strict","options":[],"kind":"string"}],"return_type":"Any"},{"id":"orthorectification","display_name":"Orthorectification","summary":"","category":"Projection and Georeferencing","taxonomy_category":"projection_georeferencing","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_raster","description":"Input raw (uncorrected) image raster path. RPC metadata must be embedded in the file or present in an adjacent .RPB sidecar.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input_dem","description":"DEM raster used to obtain terrain elevation for each output pixel. Should cover the full scene extent. If not in geographic coordinates, the tool reprojects as needed.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output_epsg","description":"EPSG code of the output coordinate reference system (default 4326 geographic; specify a projected CRS like 32617 for UTM zone 17N).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"output_resolution","description":"Output pixel resolution in the output CRS units (e.g., degrees for geographic, metres for projected). Defaults to the approximate GSD of the input image.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"resample_method","description":"Resampling method for output: nearest, bilinear (default), cubic.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"nodata_value","description":"No-data value to assign to pixels with no valid source coverage (default same as input).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output orthoimage raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"average_flowpath_slope","display_name":"Average Flowpath Slope","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"average_upslope_flowpath_length","display_name":"Average Upslope Flowpath Length","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"d8_flow_accum","display_name":"D8 Flow Accum","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"input_is_pointer","description":"Input Is Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"d8_mass_flux","display_name":"D8 Mass Flux","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"loading","description":"Loading","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"efficiency","description":"Efficiency","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"absorption","description":"Absorption","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"d8_pointer","display_name":"D8 Pointer","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dinf_flow_accum","display_name":"Dinf Flow Accum","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"convergence_threshold","description":"Convergence Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"input_is_pointer","description":"Input Is Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dinf_mass_flux","display_name":"Dinf Mass Flux","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"loading","description":"Loading","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"efficiency","description":"Efficiency","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"absorption","description":"Absorption","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dinf_pointer","display_name":"Dinf Pointer","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"downslope_flowpath_length","display_name":"Downslope Flowpath Length","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"watersheds","description":"Watersheds","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"weights","description":"Weights","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"fd8_flow_accum","display_name":"Fd8 Flow Accum","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"convergence_threshold","description":"Convergence Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fd8_pointer","display_name":"Fd8 Pointer","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"flow_accum_full_workflow","display_name":"Flow Accum Full Workflow","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"breached_dem_output_path","description":"Breached Dem Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"flow_dir_output_path","description":"Flow Dir Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster]"},{"id":"flow_length_diff","display_name":"Flow Length Diff","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"max_upslope_flowpath_length","display_name":"Max Upslope Flowpath Length","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max_upslope_value","display_name":"Max Upslope Value","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"values","description":"Values","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"mdinf_flow_accum","display_name":"Mdinf Flow Accum","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"threshold","description":"Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"log","description":"Log","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"minimal_dispersion_flow_algorithm","display_name":"Minimal Dispersion Flow Algorithm","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"path_corrected_direction_preference","description":"Path Corrected Direction Preference","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"flow_dir_output_path","description":"Flow Dir Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"num_inflowing_neighbours","display_name":"Num Inflowing Neighbours","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"qin_flow_accumulation","display_name":"Qin Flow Accumulation","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"max_slope","description":"Max Slope","type":"float","required":false,"default":45,"options":[],"kind":"double"},{"name":"threshold","description":"Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"log","description":"Log","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"quinn_flow_accumulation","display_name":"Quinn Flow Accumulation","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"threshold","description":"Threshold","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"log","description":"Log","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"rho8_flow_accum","display_name":"Rho8 Flow Accum","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_type","description":"Out Type","type":"str","required":false,"default":"sca","options":[],"kind":"string"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"clip","description":"Clip","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"input_is_pointer","description":"Input Is Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"rho8_pointer","display_name":"Rho8 Pointer","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"trace_downslope_flowpaths","display_name":"Trace Downslope Flowpaths","summary":"","category":"Hydrology - Flow Routing","taxonomy_category":"hydrology","taxonomy_subcategory":"flow_routing","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"seed_points","description":"Seed Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"breach_depressions_least_cost","display_name":"Breach Depressions Least Cost","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_cost","description":"Max Cost","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"flat_increment","description":"Flat Increment","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"fill_deps","description":"Fill Deps","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"minimize_dist","description":"Minimize Dist","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"breach_single_cell_pits","display_name":"Breach Single Cell Pits","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"burn_streams","display_name":"Burn Streams","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"decrement_value","description":"Decrement Value","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"gradient_distance","description":"Gradient Distance","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"burn_streams_at_roads","display_name":"Burn Streams At Roads","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"roads","description":"Roads","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"width","description":"Width","type":"float | None","required":false,"default":null,"options":[],"kind":"double"}],"return_type":"Raster"},{"id":"depth_in_sink","display_name":"Depth In Sink","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_burn","display_name":"Fill Burn","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_depressions","display_name":"Fill Depressions","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"fix_flats","description":"Fix Flats","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"flat_increment","description":"Flat Increment","type":"float | None","required":false,"default":0.0001,"options":[],"kind":"double"},{"name":"max_depth","description":"Max Depth","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"flat_resolution","description":"Flat Resolution","type":"Literal[\"garbrecht_martz\", \"natural\"] | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_depressions_planchon_and_darboux","display_name":"Fill Depressions Planchon And Darboux","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"fix_flats","description":"Fix Flats","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"flat_increment","description":"Flat Increment","type":"float | None","required":false,"default":0.0001,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_depressions_wang_and_liu","display_name":"Fill Depressions Wang And Liu","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"fix_flats","description":"Fix Flats","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"flat_increment","description":"Flat Increment","type":"float | None","required":false,"default":0.0001,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_pits","display_name":"Fill Pits","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"flatten_lakes","display_name":"Flatten Lakes","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"lakes","description":"Lakes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"impoundment_size_index","display_name":"Impoundment Size Index","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_dam_length","description":"Max Dam Length","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output_mean","description":"Output Mean","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output_max","description":"Output Max","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output_volume","description":"Output Volume","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output_area","description":"Output Area","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output_height","description":"Output Height","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"mean_output_path","description":"Mean Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"max_output_path","description":"Max Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"volume_output_path","description":"Volume Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"area_output_path","description":"Area Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"dam_height_output_path","description":"Dam Height Output Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster | None, Raster | None, Raster | None, Raster | None, Raster | None]"},{"id":"insert_dams","display_name":"Insert Dams","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dam_points","description":"Dam Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dam_length","description":"Dam Length","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raise_walls","display_name":"Raise Walls","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"walls","description":"Walls","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"breach_lines","description":"Breach Lines","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"wall_height","description":"Wall Height","type":"float","required":false,"default":100,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sink","display_name":"Sink","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"stochastic_depression_analysis","display_name":"Stochastic Depression Analysis","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"rmse","description":"Rmse","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"range","description":"Range","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"iterations","description":"Iterations","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"topological_breach_burn","display_name":"Topological Breach Burn","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_distance","description":"Snap Distance","type":"float","required":false,"default":0.001,"options":[],"kind":"double"},{"name":"output_streams_path","description":"Output Streams Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_dem_path","description":"Output Dem Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_dir_path","description":"Output Dir Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_flow_accum_path","description":"Output Flow Accum Path","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster, Raster, Raster]"},{"id":"upslope_depression_storage","display_name":"Upslope Depression Storage","summary":"","category":"Hydrology - Depressions & Storage","taxonomy_category":"hydrology","taxonomy_subcategory":"depressions_storage","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"basins","display_name":"Basins","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"flood_order","display_name":"Flood Order","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"hillslopes","display_name":"Hillslopes","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"isobasins","display_name":"Isobasins","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"target_size","description":"Target Size","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"jenson_snap_pour_points","display_name":"Jenson Snap Pour Points","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"pour_pts","description":"Pour Pts","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"snap_dist","description":"Snap Dist","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"longest_flowpath","display_name":"Longest Flowpath","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"basins","description":"Basins","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"max_branch_length","display_name":"Max Branch Length","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"log","description":"Log","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"snap_pour_points","display_name":"Snap Pour Points","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"pour_pts","description":"Pour Pts","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"flow_accum","description":"Flow Accum","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"snap_dist","description":"Snap Dist","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"subbasins","display_name":"Subbasins","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"unnest_basins","display_name":"Unnest Basins","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pour_points","description":"Pour Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"list[Raster]"},{"id":"watershed","display_name":"Watershed","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pour_pts","description":"Pour Pts","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"watershed_from_raster_pour_points","display_name":"Watershed From Raster Pour Points","summary":"","category":"Hydrology - Watersheds & Basins","taxonomy_category":"hydrology","taxonomy_subcategory":"watersheds_basins","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pour_points","description":"Pour Points","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"depth_to_water","display_name":"Depth To Water","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"lakes","description":"Lakes","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"distance_to_outlet","display_name":"Distance To Outlet","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams_raster","description":"Streams Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pointer","description":"Esri Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"downslope_distance_to_stream","display_name":"Downslope Distance To Stream","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"dinf","description":"Dinf","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"downslope_index","display_name":"Downslope Index","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"vertical_drop","description":"Vertical Drop","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output_type","description":"Output Type","type":"str","required":false,"default":"tangent","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"edge_contamination","display_name":"Edge Contamination","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"flow_type","description":"Flow Type","type":"str","required":false,"default":"mfd","options":[],"kind":"string"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":-1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elev_relative_to_watershed_min_max","display_name":"Elev Relative To Watershed Min Max","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"watersheds","description":"Watersheds","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elevation_above_stream","display_name":"Elevation Above Stream","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elevation_above_stream_euclidean","display_name":"Elevation Above Stream Euclidean","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"find_noflow_cells","display_name":"Find Noflow Cells","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"interior_only","description":"Interior Only","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"find_parallel_flow","display_name":"Find Parallel Flow","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"hydrologic_connectivity","display_name":"Hydrologic Connectivity","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"convergence_threshold","description":"Convergence Threshold","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output1","description":"Output1","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output2","description":"Output2","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"relative_stream_power_index","display_name":"Relative Stream Power Index","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"specific_catchment_area","description":"Specific Catchment Area","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"slope","description":"Slope","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"exponent","description":"Exponent","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sediment_transport_index","display_name":"Sediment Transport Index","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"sca","description":"Sca","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"slope","description":"Slope","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"sca_exponent","description":"Sca Exponent","type":"float","required":false,"default":0.4,"options":[],"kind":"double"},{"name":"slope_exponent","description":"Slope Exponent","type":"float","required":false,"default":1.3,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"wetness_index","display_name":"Wetness Index","summary":"","category":"Hydrology - Hydrologic Indices","taxonomy_category":"hydrology","taxonomy_subcategory":"hydrologic_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"sca","description":"Sca","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"slope","description":"Slope","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"extract_streams","display_name":"Extract Streams","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"flow_accumulation","description":"Flow Accumulation","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"extract_valleys","display_name":"Extract Valleys","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"variant","description":"Variant","type":"str","required":false,"default":"lq","options":[],"kind":"string"},{"name":"line_thin","description":"Line Thin","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"prune_vector_streams","display_name":"Prune Vector Streams","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"snap_distance","description":"Snap Distance","type":"float","required":false,"default":0.001,"options":[],"kind":"double"},{"name":"max_ridge_cutting_height","description":"Max Ridge Cutting Height","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"raster_streams_to_vector","display_name":"Raster Streams To Vector","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Vector"},{"id":"rasterize_streams","display_name":"Rasterize Streams","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"nodata","description":"Nodata","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"feature_id","description":"Feature Id","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"remove_short_streams","display_name":"Remove Short Streams","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_length","description":"Min Length","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"repair_stream_vector_topology","display_name":"Repair Stream Vector Topology","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"dist","description":"Dist","type":"float | str","required":false,"default":"","options":[],"kind":"double"}],"return_type":"Vector"},{"id":"river_centerlines","display_name":"River Centerlines","summary":"","category":"Hydrology - Streams - Network Extraction","taxonomy_category":"streams","taxonomy_subcategory":"network_extraction","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"raster","description":"Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_length","description":"Min Length","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"search_radius","description":"Search Radius","type":"int","required":false,"default":9,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"farthest_channel_head","display_name":"Farthest Channel Head","summary":"","category":"Hydrology - Streams - Longitudinal Analysis","taxonomy_category":"streams","taxonomy_subcategory":"longitudinal_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams_raster","description":"Streams Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pointer","description":"Esri Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"find_main_stem","display_name":"Find Main Stem","summary":"","category":"Hydrology - Streams - Longitudinal Analysis","taxonomy_category":"streams","taxonomy_subcategory":"longitudinal_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams_raster","description":"Streams Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"esri_pointer","description":"Esri Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"length_of_upstream_channels","display_name":"Length Of Upstream Channels","summary":"","category":"Hydrology - Streams - Longitudinal Analysis","taxonomy_category":"streams","taxonomy_subcategory":"longitudinal_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"long_profile","display_name":"Long Profile","summary":"","category":"Hydrology - Streams - Longitudinal Analysis","taxonomy_category":"streams","taxonomy_subcategory":"longitudinal_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams_raster","description":"Streams Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output_html_file","description":"Output Html File","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"esri_pointer","description":"Esri Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"str | None"},{"id":"long_profile_from_points","display_name":"Long Profile From Points","summary":"","category":"Hydrology - Streams - Longitudinal Analysis","taxonomy_category":"streams","taxonomy_subcategory":"longitudinal_analysis","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pointer","description":"D8 Pointer","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output_html_file","description":"Output Html File","type":"str","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"esri_pointer","description":"Esri Pointer","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"str | None"},{"id":"hack_stream_order","display_name":"Hack Stream Order","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"horton_ratios","display_name":"Horton Ratios","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"tuple[float, float, float, float, str | None]"},{"id":"horton_stream_order","display_name":"Horton Stream Order","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"shreve_stream_magnitude","display_name":"Shreve Stream Magnitude","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"strahler_order_basins","display_name":"Strahler Order Basins","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"strahler_stream_order","display_name":"Strahler Stream Order","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"stream_link_class","display_name":"Stream Link Class","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"stream_link_identifier","display_name":"Stream Link Identifier","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"stream_link_length","display_name":"Stream Link Length","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"linkid","description":"Linkid","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"stream_link_slope","display_name":"Stream Link Slope","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"linkid","description":"Linkid","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"stream_slope_continuous","display_name":"Stream Slope Continuous","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"topological_stream_order","display_name":"Topological Stream Order","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"tributary_identifier","display_name":"Tributary Identifier","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"d8_pntr","description":"D8 Pntr","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"esri_pntr","description":"Esri Pntr","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"}],"return_type":"Raster"},{"id":"vector_stream_network_analysis","display_name":"Vector Stream Network Analysis","summary":"","category":"Hydrology - Streams - Ordering Metrics","taxonomy_category":"streams","taxonomy_subcategory":"ordering_metrics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"streams","description":"Streams","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"cutting_height","description":"Cutting Height","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"snap","description":"Snap","type":"float","required":false,"default":0.1,"options":[],"kind":"double"}],"return_type":"Vector"},{"id":"add_point_coordinates_to_table","display_name":"Add Point Coordinates To Table","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"clean_vector","display_name":"Clean Vector","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"csv_points_to_vector","display_name":"Csv Points To Vector","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_file","description":"Input File","type":"str","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"x_field_num","description":"X Field Num","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"y_field_num","description":"Y Field Num","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"epsg","description":"Epsg","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"export_table_to_csv","display_name":"Export Table To Csv","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output_csv_file","description":"Output Csv File","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"headers","description":"Headers","type":"bool","required":false,"default":true,"options":[],"kind":"bool"}],"return_type":"str"},{"id":"join_tables","display_name":"Join Tables","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"primary_vector","description":"Primary Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"primary_key_field","description":"Primary Key Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"foreign_vector","description":"Foreign Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"foreign_key_field","description":"Foreign Key Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"import_field","description":"Import Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"merge_table_with_csv","display_name":"Merge Table With Csv","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"primary_vector","description":"Primary Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"primary_key_field","description":"Primary Key Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"foreign_csv_filename","description":"Foreign Csv Filename","type":"str","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"foreign_key_field","description":"Foreign Key Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"import_field","description":"Import Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"merge_vectors","display_name":"Merge Vectors","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Vector | str]","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"reinitialize_attribute_table","display_name":"Reinitialize Attribute Table","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"vector_summary_statistics","display_name":"Vector Summary Statistics","summary":"","category":"Conversion - Vector & Table I/O","taxonomy_category":"conversion","taxonomy_subcategory":"vector_table_io","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"group_field","description":"Group Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"value_field","description":"Value Field","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"fix_dangling_arcs","display_name":"Fix Dangling Arcs","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"snap_dist","description":"Snap Dist","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"lines_to_polygons","display_name":"Lines To Polygons","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"multipart_to_singlepart","display_name":"Multipart To Singlepart","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"exclude_holes","description":"Exclude Holes","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"polygons_to_lines","display_name":"Polygons To Lines","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"remove_polygon_holes","display_name":"Remove Polygon Holes","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"singlepart_to_multipart","display_name":"Singlepart To Multipart","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Field","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"topology_rule_autofix","display_name":"Topology Rule Autofix","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"rule_set","description":"Rule configuration as JSON array/object, CSV string, or file path. Applies fixes for supported rules only: line_endpoints_must_snap_within_tolerance, point_must_be_covered_by_line, polygon_must_not_have_gaps, line_must_not_have_dangles.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Tolerance for snapping operations in coordinate units. Defaults to 0.01.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"dry_run","description":"If true (default), emits change report without modifying input. If false, applies changes.","type":"bool","required":false,"default":null,"options":[],"kind":"bool"},{"name":"output","description":"Output vector path for fixed features. If omitted, derived beside input.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"},{"name":"change_report","description":"Optional JSON change audit-trail report path.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"topology_rule_validate","display_name":"Topology Rule Validate","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"rule_set","description":"Rule configuration as JSON array/object, CSV string, or file path. Defaults to all 6 MVP rules. Supported: line_must_not_self_intersect, polygon_must_not_overlap, polygon_must_not_have_gaps, line_must_not_have_dangles, point_must_be_covered_by_line, line_endpoints_must_snap_within_tolerance.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"snap_tolerance","description":"Tolerance for line_endpoints_must_snap_within_tolerance rule in coordinate units. Defaults to 1.0.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output vector path for violations. If omitted, derived beside input.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_out"},{"name":"report","description":"Optional JSON summary report path.","type":"file","required":false,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"topology_validation_report","display_name":"Topology Validation Report","summary":"","category":"Conversion - Geometry & Topology","taxonomy_category":"conversion","taxonomy_subcategory":"geometry_topology","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"convert_nodata_to_zero","display_name":"Convert Nodata To Zero","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"modify_nodata_value","display_name":"Modify Nodata Value","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"new_value","description":"New Value","type":"float","required":false,"default":-32768,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"new_raster_from_base_raster","display_name":"New Raster From Base Raster","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_val","description":"Out Val","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"data_type","description":"Data Type","type":"str","required":false,"default":"float","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"new_raster_from_base_vector","display_name":"New Raster From Base Vector","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"cell_size","description":"Cell Size","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"out_val","description":"Out Val","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"data_type","description":"Data Type","type":"Literal[\"integer\", \"float\", \"double\"]","required":false,"default":"float","options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_to_vector_lines","display_name":"Raster To Vector Lines","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"raster_to_vector_points","display_name":"Raster To Vector Points","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"raster_to_vector_polygons","display_name":"Raster To Vector Polygons","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"remove_raster_polygon_holes","display_name":"Remove Raster Polygon Holes","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold_size","description":"Threshold Size","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"use_diagonals","description":"Use Diagonals","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"set_nodata_value","display_name":"Set Nodata Value","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"back_value","description":"Back Value","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"vector_lines_to_raster","display_name":"Vector Lines To Raster","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"field_name","description":"Field Name","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"vector_points_to_raster","display_name":"Vector Points To Raster","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"field_name","description":"Field Name","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"assign_op","description":"Assign Op","type":"str","required":false,"default":"last","options":[],"kind":"string"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"vector_polygons_to_raster","display_name":"Vector Polygons To Raster","summary":"","category":"Conversion - Raster/Vector Conversion","taxonomy_category":"conversion","taxonomy_subcategory":"raster_vector_conversion","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Vector","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"field_name","description":"Field Name","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"local_morans_i_lisa_raster","display_name":"Local Morans I Lisa Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer with observation points.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Numeric attribute field to analyze.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode: queen, rook, k_nearest, distance_band.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k value for k_nearest mode (default 8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold for distance_band mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Apply row standardization to weights (default true).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"island_policy","description":"Island handling: drop_with_warning, keep_zero_weight, error.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"alpha","description":"Significance threshold in [0, 1]; default 0.05.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size (optional; auto-computed from extent).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output raster path (classification: 0=NS, 1=HH, 2=LL, 3=HL, 4=LH).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"getis_ord_gi_star_raster","display_name":"Getis Ord Gi Star Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer with observation points.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field","description":"Numeric attribute field to analyze.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode: queen, rook, k_nearest, distance_band.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k value for k_nearest mode (default 8).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold for distance_band mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Apply row standardization to weights (default true).","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"island_policy","description":"Island handling: drop_with_warning, keep_zero_weight, error.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"alpha","description":"Significance threshold in [0, 1]; default 0.05.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size (optional; auto-computed from extent).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output raster path (classification: -1=Cold, 0=NS, 1=Hot).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"ordinary_kriging","display_name":"Ordinary Kriging","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input points vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"value_field","description":"Numeric attribute field containing values to interpolate.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output cell size in map units (required if no base_raster).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"base_raster","description":"Optional base raster controlling output geometry.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Optional output raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"local_kriging","display_name":"Local Kriging","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input points vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"value_field","description":"Numeric attribute field containing values to interpolate.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k_neighbors","description":"Number of nearest neighbors to use; defaults to 10.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output cell size in map units (required if no base_raster).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"base_raster","description":"Optional base raster controlling output geometry.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Optional output raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"simple_kriging","display_name":"Simple Kriging","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input points vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"value_field","description":"Numeric attribute field containing values to interpolate.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"known_mean","description":"Known mean of the spatial field.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output cell size in map units (required if no base_raster).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"base_raster","description":"Optional base raster controlling output geometry.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Optional output raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"universal_kriging","display_name":"Universal Kriging","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input points vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"value_field","description":"Numeric attribute field containing values to interpolate.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"trend_order","description":"Polynomial trend order (1=linear, 2=quadratic); defaults to 1.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output cell size in map units (required if no base_raster).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"base_raster","description":"Optional base raster controlling output geometry.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Optional output raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"spacetime_kriging","display_name":"Spacetime Kriging","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Input points vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"value_field","description":"Numeric attribute field containing values to interpolate.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"time_field","description":"Temporal attribute field containing time values.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output cell size in map units (required if no base_raster).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"base_raster","description":"Optional base raster controlling output geometry.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Optional output raster path.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"spatial_lag_regression_raster","display_name":"Spatial Lag Regression Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Predictor fields.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k for k_nearest.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Row standardize weights.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"spatial_error_regression_raster","display_name":"Spatial Error Regression Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Predictor fields.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"weights_mode","description":"Neighborhood mode.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k","description":"k for k_nearest.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"distance","description":"Distance threshold.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"row_standardize","description":"Row standardize weights.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"geographically_weighted_regression_raster","display_name":"Geographically Weighted Regression Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"response_field","description":"Response variable.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"predictor_fields","description":"Predictor fields.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"bandwidth","description":"Kernel bandwidth.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"kernel","description":"Kernel type.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output_prefix","description":"Output raster prefix.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"inhomogeneous_intensity_raster","display_name":"Inhomogeneous Intensity Raster","summary":"","category":"Raster - Spatial Statistics","taxonomy_category":"raster","taxonomy_subcategory":"spatial_statistics","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input point vector layer.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"bandwidth","description":"Kernel bandwidth.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"kernel","description":"Kernel type.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Output raster cell size.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output intensity raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"add","display_name":"Add","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"average_overlay","display_name":"Average Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"bool_and","display_name":"Bool And","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"bool_not","display_name":"Bool Not","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"bool_or","display_name":"Bool Or","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"bool_xor","display_name":"Bool Xor","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"count_if","display_name":"Count If","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"comparison_value","description":"Comparison Value","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"divide","display_name":"Divide","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"highest_position","display_name":"Highest Position","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"lowest_position","display_name":"Lowest Position","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max_absolute_overlay","display_name":"Max Absolute Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max_overlay","display_name":"Max Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"min_absolute_overlay","display_name":"Min Absolute Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"min_overlay","display_name":"Min Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"modulo","display_name":"Modulo","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"multiply","display_name":"Multiply","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"multiply_overlay","display_name":"Multiply Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"percent_equal_to","display_name":"Percent Equal To","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"comparison","description":"Comparison","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"percent_greater_than","display_name":"Percent Greater Than","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"comparison","description":"Comparison","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"percent_less_than","display_name":"Percent Less Than","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"comparison","description":"Comparison","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"pick_from_list","display_name":"Pick From List","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pos_input","description":"Pos Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"power","display_name":"Power","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"standard_deviation_overlay","display_name":"Standard Deviation Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"subtract","display_name":"Subtract","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sum_overlay","display_name":"Sum Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"update_nodata_cells","display_name":"Update Nodata Cells","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"weighted_overlay","display_name":"Weighted Overlay","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"factors","description":"Factors","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"weights","description":"Weights","type":"list[float]","required":true,"default":null,"options":[],"kind":"double"},{"name":"cost","description":"Cost","type":"list[bool] | None","required":false,"default":null,"options":[],"kind":"bool"},{"name":"constraints","description":"Constraints","type":"list[Raster | str] | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"scale_max","description":"Scale Max","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"weighted_sum","display_name":"Weighted Sum","summary":"","category":"Raster - Overlay Math","taxonomy_category":"raster","taxonomy_subcategory":"overlay_math","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"weights","description":"Weights","type":"list[float]","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"image_correlation_neighbourhood_analysis","display_name":"Image Correlation Neighbourhood Analysis","summary":"","category":"Raster - Local Neighborhood","taxonomy_category":"raster","taxonomy_subcategory":"local_neighborhood","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"correlation_stat","description":"Correlation Stat","type":"str","required":false,"default":"pearson","options":[],"kind":"string"},{"name":"output1","description":"Output1","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output2","description":"Output2","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"natural_neighbour_interpolation","display_name":"Natural Neighbour Interpolation","summary":"","category":"Raster - Local Neighborhood","taxonomy_category":"raster","taxonomy_subcategory":"local_neighborhood","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"clip_to_hull","description":"Clip To Hull","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"nearest_neighbour_interpolation","display_name":"Nearest Neighbour Interpolation","summary":"","category":"Raster - Local Neighborhood","taxonomy_category":"raster","taxonomy_subcategory":"local_neighborhood","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"conditional_evaluation","display_name":"Conditional Evaluation","summary":"","category":"Raster - Reclassify & Mask","taxonomy_category":"raster","taxonomy_subcategory":"reclass_mask","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"statement","description":"Statement","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"true_value","description":"True Value","type":"Raster | str | float | int | str | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"false_value","description":"False Value","type":"Raster | str | float | int | str | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"reclass","display_name":"Reclass","summary":"","category":"Raster - Reclassify & Mask","taxonomy_category":"raster","taxonomy_subcategory":"reclass_mask","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"reclass_values","description":"Reclass Values","type":"list[list[float]]","required":true,"default":null,"options":[],"kind":"double"},{"name":"assign_mode","description":"Assign Mode","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"reclass_equal_interval","display_name":"Reclass Equal Interval","summary":"","category":"Raster - Reclassify & Mask","taxonomy_category":"raster","taxonomy_subcategory":"reclass_mask","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"interval_size","description":"Interval Size","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"start_value","description":"Start Value","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"end_value","description":"End Value","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"buffer_raster","display_name":"Buffer Raster","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"buffer_size","description":"Buffer Size","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"grid_cell_units","description":"Grid Cell Units","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"cost_allocation","display_name":"Cost Allocation","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"source","description":"Source","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"backlink","description":"Backlink","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"cost_distance","display_name":"Cost Distance","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"source","description":"Source","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"cost","description":"Cost","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"backlink_output","description":"Backlink Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"tuple[Raster, Raster]"},{"id":"cost_pathway","display_name":"Cost Pathway","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"destination","description":"Destination","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"backlink","description":"Backlink","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"euclidean_allocation","display_name":"Euclidean Allocation","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"euclidean_distance","display_name":"Euclidean Distance","summary":"","category":"Raster - Distance & Cost","taxonomy_category":"raster","taxonomy_subcategory":"distance_cost","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"abs","display_name":"Abs","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"aggregate_raster","display_name":"Aggregate Raster","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"aggregation_factor","description":"Aggregation Factor","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"aggregation_type","description":"Aggregation Type","type":"str","required":false,"default":"mean","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"anova","display_name":"Anova","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"features","description":"Features","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"arccos","display_name":"Arccos","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"arcosh","display_name":"Arcosh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"arcsin","display_name":"Arcsin","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"arctan","display_name":"Arctan","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"arsinh","display_name":"Arsinh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"artanh","display_name":"Artanh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"atan2","display_name":"Atan2","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"block_maximum","display_name":"Block Maximum","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"block_minimum","display_name":"Block Minimum","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"boundary_shape_complexity","display_name":"Boundary Shape Complexity","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"ceil","display_name":"Ceil","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"centroid_raster","display_name":"Centroid Raster","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, str]"},{"id":"clip_raster_to_polygon","display_name":"Clip Raster To Polygon","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"polygons","description":"Polygons","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"maintain_dimensions","description":"Maintain Dimensions","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"clump","display_name":"Clump","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"diag","description":"Diag","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"cos","display_name":"Cos","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"cosh","display_name":"Cosh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"create_plane","display_name":"Create Plane","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"gradient","description":"Gradient","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"aspect","description":"Aspect","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"constant","description":"Constant","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"crispness_index","display_name":"Crispness Index","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"cross_tabulation","display_name":"Cross Tabulation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"cumulative_distribution","display_name":"Cumulative Distribution","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dbscan","display_name":"Dbscan","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"search_distance","description":"Search Distance","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"min_points","description":"Min Points","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, str]"},{"id":"decrement","display_name":"Decrement","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"value","description":"Value","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"edge_proportion","display_name":"Edge Proportion","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"equal_to","display_name":"Equal To","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"erase_polygon_from_raster","display_name":"Erase Polygon From Raster","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"polygons","description":"Polygons","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"exp","display_name":"Exp","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"exp2","display_name":"Exp2","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"fft_random_field","display_name":"Fft Random Field","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base_raster","description":"Base Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"range","description":"Range","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"filter_raster_features_by_area","display_name":"Filter Raster Features By Area","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"int","required":true,"default":null,"options":[],"kind":"int"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"find_patch_edge_cells","display_name":"Find Patch Edge Cells","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"floor","display_name":"Floor","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"greater_than","display_name":"Greater Than","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"heat_map","display_name":"Heat Map","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"bandwidth","description":"Bandwidth","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"field_name","description":"Field Name","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"kernel_function","description":"Kernel Function","type":"str","required":false,"default":"quartic","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"idw_interpolation","display_name":"Idw Interpolation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"weight","description":"Weight","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"radius","description":"Radius","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_points","description":"Min Points","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"image_autocorrelation","display_name":"Image Autocorrelation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"contiguity","description":"Contiguity","type":"Literal[\"rook\", \"king\", \"queen\", \"bishop\"]","required":false,"default":"rook","options":[],"kind":"string"}],"return_type":"str"},{"id":"image_correlation","display_name":"Image Correlation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"image_regression","display_name":"Image Regression","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"independent_variable","description":"Independent Variable","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dependent_variable","description":"Dependent Variable","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"standardize_residuals","description":"Standardize Residuals","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, str]"},{"id":"increment","display_name":"Increment","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"value","description":"Value","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"inplace_add","display_name":"Inplace Add","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"inplace_divide","display_name":"Inplace Divide","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"inplace_multiply","display_name":"Inplace Multiply","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"inplace_subtract","display_name":"Inplace Subtract","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"integer_division","display_name":"Integer Division","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"inverse_pca","display_name":"Inverse Pca","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"component_rasters","description":"Component Rasters","type":"list[Raster]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pca_report","description":"Pca Report","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"list[Raster]"},{"id":"is_nodata","display_name":"Is Nodata","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"kappa_index","display_name":"Kappa Index","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"ks_normality_test","display_name":"Ks Normality Test","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_samples","description":"Num Samples","type":"int | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"str"},{"id":"less_than","display_name":"Less Than","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"list_unique_values_raster","display_name":"List Unique Values Raster","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_values","description":"Max Values","type":"int","required":false,"default":10000,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"ln","display_name":"Ln","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"log10","display_name":"Log10","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"log2","display_name":"Log2","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"map_features","display_name":"Map Features","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_feature_height","description":"Min Feature Height","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"min_feature_size","description":"Min Feature Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max","display_name":"Max","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"min","display_name":"Min","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str | float | int","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"modified_shepard_interpolation","display_name":"Modified Shepard Interpolation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"weight","description":"Weight","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"radius","description":"Radius","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_points","description":"Min Points","type":"int","required":false,"default":8,"options":[],"kind":"int"},{"name":"use_quadratic_basis","description":"Use Quadratic Basis","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"use_data_hull","description":"Use Data Hull","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"narrowness_index","display_name":"Narrowness Index","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"negate","display_name":"Negate","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"nibble","display_name":"Nibble","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"mask","description":"Mask","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"use_nodata","description":"Use Nodata","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"nibble_nodata","description":"Nibble Nodata","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"not_equal_to","display_name":"Not Equal To","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"paired_sample_t_test","display_name":"Paired Sample T Test","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_samples","description":"Num Samples","type":"int | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"str"},{"id":"phi_coefficient","display_name":"Phi Coefficient","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"principal_component_analysis","display_name":"Principal Component Analysis","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_components","description":"Num Components","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"standardized","description":"Standardized","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"list[Raster]"},{"id":"print_geotiff_tags","display_name":"Print Geotiff Tags","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"quantiles","display_name":"Quantiles","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_quantiles","description":"Num Quantiles","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"radial_basis_function_interpolation","display_name":"Radial Basis Function Interpolation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"radius","description":"Radius","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_points","description":"Min Points","type":"int","required":false,"default":16,"options":[],"kind":"int"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"func_type","description":"Func Type","type":"Literal[\"thinplatespline\", \"polyharmonic\", \"gaussian\", \"multiquadric\", \"inversemultiquadric\"]","required":false,"default":"thinplatespline","options":[],"kind":"string"},{"name":"poly_order","description":"Poly Order","type":"Literal[\"none\", \"constant\", \"quadratic\"]","required":false,"default":"none","options":[],"kind":"string"},{"name":"weight","description":"Weight","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"approximate_mode","description":"Approximate Mode","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"radius_of_gyration","display_name":"Radius Of Gyration","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_field","display_name":"Random Field","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_forest_classification_fit","display_name":"Random Forest Classification Fit","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"class_field_name","description":"Class Field Name","type":"str","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"split_criterion","description":"Split Criterion","type":"str","required":false,"default":"gini","options":[],"kind":"string"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"min_samples_leaf","description":"Min Samples Leaf","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"min_samples_split","description":"Min Samples Split","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"test_proportion","description":"Test Proportion","type":"float","required":false,"default":0.2,"options":[],"kind":"double"}],"return_type":"list[int]"},{"id":"random_forest_classification_predict","display_name":"Random Forest Classification Predict","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"model_bytes","description":"Model Bytes","type":"list[int]","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_forest_regression_fit","display_name":"Random Forest Regression Fit","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"training_data","description":"Training Data","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"scaling_method","description":"Scaling Method","type":"str","required":false,"default":"none","options":[],"kind":"string"},{"name":"n_trees","description":"N Trees","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"min_samples_leaf","description":"Min Samples Leaf","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"min_samples_split","description":"Min Samples Split","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"test_proportion","description":"Test Proportion","type":"float","required":false,"default":0.2,"options":[],"kind":"double"}],"return_type":"list[int]"},{"id":"random_forest_regression_predict","display_name":"Random Forest Regression Predict","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"model_bytes","description":"Model Bytes","type":"list[int]","required":true,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"random_sample","display_name":"Random Sample","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_samples","description":"Num Samples","type":"int","required":false,"default":1000,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_area","display_name":"Raster Area","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"units","description":"Units","type":"str","required":false,"default":"map units","options":["degrees","radians","percent"],"kind":"enum"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_calculator","display_name":"Raster Calculator","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"expression","description":"Expression","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"input_rasters","description":"Input Rasters","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_cell_assignment","display_name":"Raster Cell Assignment","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"what_to_assign","description":"What To Assign","type":"Literal[\"column\", \"row\", \"x\", \"y\"]","required":false,"default":"column","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_histogram","display_name":"Raster Histogram","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"bins","description":"Bins","type":"int","required":false,"default":256,"options":[],"kind":"int"}],"return_type":"str"},{"id":"raster_perimeter","display_name":"Raster Perimeter","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"units","description":"Units","type":"str","required":false,"default":"map units","options":["degrees","radians","percent"],"kind":"enum"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"raster_summary_stats","display_name":"Raster Summary Stats","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"reciprocal","display_name":"Reciprocal","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"rescale_value_range","display_name":"Rescale Value Range","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"out_min","description":"Out Min","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"out_max","description":"Out Max","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"clip_min","description":"Clip Min","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"clip_max","description":"Clip Max","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"root_mean_square_error","display_name":"Root Mean Square Error","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"base","description":"Base","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"}],"return_type":"str"},{"id":"round","display_name":"Round","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"shape_complexity_index_raster","display_name":"Shape Complexity Index Raster","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sieve","display_name":"Sieve","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"zero_background","description":"Zero Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sin","display_name":"Sin","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"sinh","display_name":"Sinh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"sqrt","display_name":"Sqrt","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"square","display_name":"Square","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"tan","display_name":"Tan","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"tanh","display_name":"Tanh","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"tin_interpolation","display_name":"Tin Interpolation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"field_name","description":"Field Name","type":"str","required":false,"default":"FID","options":[],"kind":"string"},{"name":"use_z","description":"Use Z","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"cell_size","description":"Cell Size","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"base_raster","description":"Base Raster","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"max_triangle_edge_length","description":"Max Triangle Edge Length","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"to_degrees","display_name":"To Degrees","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"to_radians","display_name":"To Radians","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"trend_surface","display_name":"Trend Surface","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input_raster","description":"Input Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"polynomial_order","description":"Polynomial Order","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"trend_surface_vector_points","display_name":"Trend Surface Vector Points","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"vector_input","description":"Vector Input","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"cell_size","description":"Cell Size","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"field_name","description":"Field Name","type":"str","required":true,"default":null,"options":[],"kind":"string"},{"name":"polynomial_order","description":"Polynomial Order","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"truncate","display_name":"Truncate","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"band_mode","description":"Band Mode","type":"str","required":false,"default":"all","options":[],"kind":"string"},{"name":"bands","description":"Bands","type":"list[int] | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"Raster"},{"id":"turning_bands_simulation","display_name":"Turning Bands Simulation","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"base_raster","description":"Base Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"range","description":"Range","type":"float","required":true,"default":null,"options":[],"kind":"double"},{"name":"iterations","description":"Iterations","type":"int","required":false,"default":1000,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"two_sample_ks_test","display_name":"Two Sample Ks Test","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_samples","description":"Num Samples","type":"int | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"str"},{"id":"wilcoxon_signed_rank_test","display_name":"Wilcoxon Signed Rank Test","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input1","description":"Input1","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"input2","description":"Input2","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"num_samples","description":"Num Samples","type":"int | None","required":false,"default":null,"options":[],"kind":"int"}],"return_type":"str"},{"id":"z_scores","display_name":"Z Scores","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"zonal_statistics","display_name":"Zonal Statistics","summary":"","category":"Raster","taxonomy_category":"raster","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"data_raster","description":"Data Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"features_raster","description":"Features Raster","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"stat_type","description":"Stat Type","type":"str","required":false,"default":"mean","options":[],"kind":"string"},{"name":"zero_is_background","description":"Zero Is Background","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"assess_route","display_name":"Assess Route","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"routes","description":"Routes","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"segment_length","description":"Segment Length","type":"float","required":false,"default":100,"options":[],"kind":"double"},{"name":"search_radius","description":"Search Radius","type":"int","required":false,"default":15,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"breakline_mapping","display_name":"Breakline Mapping","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"threshold","description":"Threshold","type":"float","required":false,"default":0.8,"options":[],"kind":"double"},{"name":"min_length","description":"Min Length","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"convergence_index","display_name":"Convergence Index","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"dem_void_filling","display_name":"Dem Void Filling","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"fill","description":"Fill","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"mean_plane_dist","description":"Mean Plane Dist","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"edge_treatment","description":"Edge Treatment","type":"str","required":false,"default":"dem","options":[],"kind":"string"},{"name":"weight_value","description":"Weight Value","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"deviation_from_mean_elevation","display_name":"Deviation From Mean Elevation","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"difference_from_mean_elevation","display_name":"Difference From Mean Elevation","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"directional_relief","display_name":"Directional Relief","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elev_above_pit","display_name":"Elev Above Pit","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elev_above_pit_dist","display_name":"Elev Above Pit Dist","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elevation_percentile","display_name":"Elevation Percentile","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"sig_digits","description":"Sig Digits","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"embankment_mapping","display_name":"Embankment Mapping","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"roads_vector","description":"Roads Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"search_dist","description":"Search Dist","type":"float","required":false,"default":2.5,"options":[],"kind":"double"},{"name":"min_road_width","description":"Min Road Width","type":"float","required":false,"default":6,"options":[],"kind":"double"},{"name":"typical_embankment_width","description":"Typical Embankment Width","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"typical_embankment_max_height","description":"Typical Embankment Max Height","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"embankment_max_width","description":"Embankment Max Width","type":"float","required":false,"default":60,"options":[],"kind":"double"},{"name":"max_upwards_increment","description":"Max Upwards Increment","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"spillout_slope","description":"Spillout Slope","type":"float","required":false,"default":4,"options":[],"kind":"double"},{"name":"remove_embankments","description":"Remove Embankments","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_dem","description":"Output Dem","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster | None]"},{"id":"exposure_towards_wind_flux","display_name":"Exposure Towards Wind Flux","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"feature_preserving_smoothing","display_name":"Feature Preserving Smoothing","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"normal_diff_threshold","description":"Normal Diff Threshold","type":"float","required":false,"default":8,"options":[],"kind":"double"},{"name":"iterations","description":"Iterations","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"max_elevation_diff","description":"Max Elevation Diff","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"feature_preserving_smoothing_multiscale","display_name":"Feature Preserving Smoothing Multiscale","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input DEM raster path or typed raster object.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"smoothing_amount","description":"Overall smoothing amount in [0,1] (default 0.65). Higher values increase the diffusion budget, especially at coarse scales.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"edge_preservation","description":"Edge preservation strength in [0,1] (default 0.75). Higher values suppress smoothing across major breaks-in-slope more strongly.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"scale_levels","description":"Number of pyramid levels for coarse-to-fine smoothing (default 3).","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"fidelity","description":"Data-fidelity weight in screened Poisson reconstruction (default 0.45). Higher values keep the result closer to the source DEM.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"z_factor","description":"Optional z conversion factor (default 1.0).","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Optional output path. If omitted, result stays in memory.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"fetch_analysis","display_name":"Fetch Analysis","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"hgt_inc","description":"Hgt Inc","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"fill_missing_data","display_name":"Fill Missing Data","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"weight","description":"Weight","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"exclude_edge_nodata","description":"Exclude Edge Nodata","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"find_ridges","display_name":"Find Ridges","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"line_thin","description":"Line Thin","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"hillshade","display_name":"Hillshade","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":315,"options":[],"kind":"double"},{"name":"altitude","description":"Altitude","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"hypsometrically_tinted_hillshade","display_name":"Hypsometrically Tinted Hillshade","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"solar_altitude","description":"Solar Altitude","type":"float","required":false,"default":45,"options":[],"kind":"double"},{"name":"hillshade_weight","description":"Hillshade Weight","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"brightness","description":"Brightness","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"atmospheric_effects","description":"Atmospheric Effects","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"palette","description":"Palette","type":"str","required":false,"default":"atlas","options":[],"kind":"string"},{"name":"reverse_palette","description":"Reverse Palette","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"full_360_mode","description":"Full 360 Mode","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"local_hypsometric_analysis","display_name":"Local Hypsometric Analysis","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":4,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"low_points_on_headwater_divides","display_name":"Low Points On Headwater Divides","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Streams","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"max_downslope_elev_change","display_name":"Max Downslope Elev Change","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max_upslope_elev_change","display_name":"Max Upslope Elev Change","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"min_downslope_elev_change","display_name":"Min Downslope Elev Change","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"multidirectional_hillshade","display_name":"Multidirectional Hillshade","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"altitude","description":"Altitude","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"full_360_mode","description":"Full 360 Mode","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"num_downslope_neighbours","display_name":"Num Downslope Neighbours","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"num_upslope_neighbours","display_name":"Num Upslope Neighbours","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"profile","display_name":"Profile","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"lines_vector","description":"Lines Vector","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"surface","description":"Surface","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"slope_vs_aspect_plot","display_name":"Slope Vs Aspect Plot","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"aspect_bin_size","description":"Aspect Bin Size","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"min_slope","description":"Min Slope","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"slope_vs_elev_plot","display_name":"Slope Vs Elev Plot","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"watershed","description":"Watershed","type":"list[Raster | str] | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"surface_area_ratio","display_name":"Surface Area Ratio","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"topographic_hachures","display_name":"Topographic Hachures","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"contour_interval","description":"Contour Interval","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"base_contour","description":"Base Contour","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"deflection_tolerance","description":"Deflection Tolerance","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":9,"options":[],"kind":"int"},{"name":"separation","description":"Separation","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"distmin","description":"Distmin","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"distmax","description":"Distmax","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"discretization","description":"Discretization","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"turnmax","description":"Turnmax","type":"float","required":false,"default":45,"options":[],"kind":"double"},{"name":"slopemin","description":"Slopemin","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"depth","description":"Depth","type":"int","required":false,"default":16,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"Vector"},{"id":"map_off_terrain_objects","display_name":"Map Off Terrain Objects","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_slope","description":"Max Slope","type":"float","required":false,"default":90,"options":[],"kind":"double"},{"name":"min_feature_size","description":"Min Feature Size","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"remove_off_terrain_objects","display_name":"Remove Off Terrain Objects","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"slope_threshold","description":"Slope Threshold","type":"float","required":false,"default":15,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"ridge_and_valley_vectors","display_name":"Ridge And Valley Vectors","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"ep_threshold","description":"Ep Threshold","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"slope_threshold","description":"Slope Threshold","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"min_length","description":"Min Length","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"output_ridges","description":"Output Ridges","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"output_valleys","description":"Output Valleys","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"}],"return_type":"tuple[Vector, Vector]"},{"id":"smooth_vegetation_residual","display_name":"Smooth Vegetation Residual","summary":"","category":"Terrain","taxonomy_category":"terrain","taxonomy_subcategory":"general","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"dev_threshold","description":"Dev Threshold","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"scale_threshold","description":"Scale Threshold","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"average_horizon_distance","display_name":"Average Horizon Distance","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"az_fraction","description":"Az Fraction","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"observer_hgt_offset","description":"Observer Hgt Offset","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"horizon_angle","display_name":"Horizon Angle","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"horizon_area","display_name":"Horizon Area","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"az_fraction","description":"Az Fraction","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"observer_hgt_offset","description":"Observer Hgt Offset","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"openness","display_name":"Openness","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"dist","description":"Dist","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"pos_output","description":"Pos Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"neg_output","description":"Neg Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"output","description":"Output raster","type":"str","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"shadow_animation","display_name":"Shadow Animation","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"date","description":"Date","type":"str","required":false,"default":"21/06/2021","options":[],"kind":"string"},{"name":"time_interval","description":"Time Interval","type":"int","required":false,"default":30,"options":[],"kind":"int"},{"name":"location","description":"Location","type":"str","required":false,"default":"43.5448/-80.2482/-4","options":[],"kind":"string"},{"name":"palette","description":"Palette","type":"str","required":false,"default":"soft","options":[],"kind":"string"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"image_height","description":"Image Height","type":"int","required":false,"default":600,"options":[],"kind":"int"},{"name":"delay","description":"Delay","type":"int","required":false,"default":250,"options":[],"kind":"int"},{"name":"label","description":"Label","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"tuple[str, str]"},{"id":"shadow_image","display_name":"Shadow Image","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"palette","description":"Palette","type":"str","required":false,"default":"soft","options":[],"kind":"string"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"date","description":"Date","type":"str","required":false,"default":"21/06/2021","options":[],"kind":"string"},{"name":"time","description":"Time","type":"str","required":false,"default":"13:00","options":[],"kind":"string"},{"name":"location","description":"Location","type":"str","required":false,"default":"43.5448/-80.2482/-4","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"sky_view_factor","display_name":"Sky View Factor","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"az_fraction","description":"Az Fraction","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"observer_hgt_offset","description":"Observer Hgt Offset","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"skyline_analysis","display_name":"Skyline Analysis","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"observer_hgt_offset","description":"Observer Hgt Offset","type":"float","required":false,"default":0.05,"options":[],"kind":"double"},{"name":"output_as_polygons","description":"Output As Polygons","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"az_fraction","description":"Az Fraction","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"report_path","description":"Report Path","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"tuple[Vector, str]"},{"id":"time_in_daylight","display_name":"Time In Daylight","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"az_fraction","description":"Az Fraction","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"latitude","description":"Latitude","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"longitude","description":"Longitude","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"utc_offset","description":"Utc Offset","type":"str | None","required":false,"default":null,"options":[],"kind":"string"},{"name":"start_day","description":"Start Day","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"end_day","description":"End Day","type":"int","required":false,"default":365,"options":[],"kind":"int"},{"name":"start_time","description":"Start Time","type":"str","required":false,"default":"sunrise","options":[],"kind":"string"},{"name":"end_time","description":"End Time","type":"str","required":false,"default":"sunset","options":[],"kind":"string"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"viewshed","display_name":"Viewshed","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"stations","description":"Stations","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"height","description":"Height","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"visibility_index","display_name":"Visibility Index","summary":"","category":"Terrain - Visibility","taxonomy_category":"terrain","taxonomy_subcategory":"visibility","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"station_height","description":"Station Height","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"resolution_factor","description":"Resolution Factor","type":"int","required":false,"default":8,"options":[],"kind":"int"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"accumulation_curvature","display_name":"Accumulation Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"aspect","display_name":"Aspect","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"casorati_curvature","display_name":"Casorati Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"curvedness","display_name":"Curvedness","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"difference_curvature","display_name":"Difference Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"gaussian_curvature","display_name":"Gaussian Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"generating_function","display_name":"Generating Function","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"horizontal_excess_curvature","display_name":"Horizontal Excess Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"maximal_curvature","display_name":"Maximal Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"mean_curvature","display_name":"Mean Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"minimal_curvature","display_name":"Minimal Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"plan_curvature","display_name":"Plan Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"principal_curvature_direction","display_name":"Principal Curvature Direction","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"profile_curvature","display_name":"Profile Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"relative_aspect","display_name":"Relative Aspect","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"ring_curvature","display_name":"Ring Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"rotor","display_name":"Rotor","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"shape_index","display_name":"Shape Index","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"slope","display_name":"Slope","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"units","description":"Units","type":"str","required":false,"default":"degrees","options":["degrees","radians","percent"],"kind":"enum"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"tangential_curvature","display_name":"Tangential Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"total_curvature","display_name":"Total Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"unsphericity","display_name":"Unsphericity","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"vertical_excess_curvature","display_name":"Vertical Excess Curvature","summary":"","category":"Terrain - Derivatives","taxonomy_category":"terrain","taxonomy_subcategory":"derivatives","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"average_normal_vector_angular_deviation","display_name":"Average Normal Vector Angular Deviation","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"circular_variance_of_aspect","display_name":"Circular Variance Of Aspect","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter","description":"Filter","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"edge_density","display_name":"Edge Density","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"norm_diff","description":"Norm Diff","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"ruggedness_index","display_name":"Ruggedness Index","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"spherical_std_dev_of_normals","display_name":"Spherical Std Dev Of Normals","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"standard_deviation_of_slope","display_name":"Standard Deviation Of Slope","summary":"","category":"Terrain - Roughness & Texture","taxonomy_category":"terrain","taxonomy_subcategory":"roughness_texture","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size","description":"Filter Size","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"elev_relative_to_min_max","display_name":"Elev Relative To Min Max","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"geomorphons","display_name":"Geomorphons","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"search_distance","description":"Search Distance","type":"int","required":false,"default":50,"options":[],"kind":"int"},{"name":"flatness_threshold","description":"Flatness Threshold","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"flatness_distance","description":"Flatness Distance","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"skip_distance","description":"Skip Distance","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"output_forms","description":"Output Forms","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"analyze_residuals","description":"Analyze Residuals","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"hypsometric_analysis","display_name":"Hypsometric Analysis","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"inputs","description":"Inputs","type":"list[Raster | str]","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"watershed","description":"Watershed","type":"list[Raster | str] | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"multiscale_topographic_position_class","display_name":"Multiscale Topographic Position Class","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"local_min_scale","description":"Local Min Scale","type":"int","required":false,"default":5,"options":[],"kind":"int"},{"name":"local_max_scale","description":"Local Max Scale","type":"int","required":false,"default":80,"options":[],"kind":"int"},{"name":"local_step_size","description":"Local Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"broad_min_scale","description":"Broad Min Scale","type":"int","required":false,"default":500,"options":[],"kind":"int"},{"name":"broad_max_scale","description":"Broad Max Scale","type":"int","required":false,"default":2000,"options":[],"kind":"int"},{"name":"broad_step_size","description":"Broad Step Size","type":"int","required":false,"default":20,"options":[],"kind":"int"},{"name":"local_threshold","description":"Local Threshold","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"broad_threshold","description":"Broad Threshold","type":"float","required":false,"default":0.5,"options":[],"kind":"double"},{"name":"min_patch_size","description":"Min Patch Size","type":"int","required":false,"default":0,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_confidence","description":"Output Confidence","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"pennock_landform_classification","display_name":"Pennock Landform Classification","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"slope_threshold","description":"Slope Threshold","type":"float","required":false,"default":3,"options":[],"kind":"double"},{"name":"prof_curv_threshold","description":"Prof Curv Threshold","type":"float","required":false,"default":0.1,"options":[],"kind":"double"},{"name":"plan_curv_threshold","description":"Plan Curv Threshold","type":"float","required":false,"default":0,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, str]"},{"id":"percent_elev_range","display_name":"Percent Elev Range","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"relative_topographic_position","display_name":"Relative Topographic Position","summary":"","category":"Terrain - Landform Indices","taxonomy_category":"terrain","taxonomy_subcategory":"landform_indices","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"filter_size_x","description":"Filter Size X","type":"int","required":false,"default":11,"options":[],"kind":"int"},{"name":"filter_size_y","description":"Filter Size Y","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"max_anisotropy_dev","display_name":"Max Anisotropy Dev","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"max_anisotropy_dev_signature","display_name":"Max Anisotropy Dev Signature","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"max_difference_from_mean","display_name":"Max Difference From Mean","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"max_elevation_deviation","display_name":"Max Elevation Deviation","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"max_elev_dev_signature","display_name":"Max Elev Dev Signature","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"multiscale_curvatures","display_name":"Multiscale Curvatures","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"curv_type","description":"Curv Type","type":"str","required":false,"default":"profile","options":[],"kind":"string"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":4,"options":[],"kind":"int"},{"name":"step","description":"Step","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"log_transform","description":"Log Transform","type":"bool","required":false,"default":true,"options":[],"kind":"bool"},{"name":"standardize","description":"Standardize","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"multiscale_elevated_index","display_name":"Multiscale Elevated Index","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"multiscale_elevation_percentile","display_name":"Multiscale Elevation Percentile","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":4,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"sig_digits","description":"Sig Digits","type":"int","required":false,"default":3,"options":[],"kind":"int"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"multiscale_low_lying_index","display_name":"Multiscale Low Lying Index","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":2,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1.1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"multiscale_roughness","display_name":"Multiscale Roughness","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"multiscale_roughness_signature","display_name":"Multiscale Roughness Signature","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"max_scale","description":"Max Scale","type":"int","required":false,"default":100,"options":[],"kind":"int"},{"name":"step_size","description":"Step Size","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"multiscale_std_dev_normals","display_name":"Multiscale Std Dev Normals","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"step","description":"Step","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"},{"name":"output_scale","description":"Output Scale","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"tuple[Raster, Raster]"},{"id":"multiscale_std_dev_normals_signature","display_name":"Multiscale Std Dev Normals Signature","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"points","description":"Points","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"step","description":"Step","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"str"},{"id":"multiscale_topographic_position_image","display_name":"Multiscale Topographic Position Image","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"local","description":"Local","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"meso","description":"Meso","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"broad","description":"Broad","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"hillshade","description":"Hillshade","type":"Raster | str | None","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"lightness","description":"Lightness","type":"float","required":false,"default":1.2,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"topographic_position_animation","display_name":"Topographic Position Animation","summary":"","category":"Terrain - Multiscale Signatures","taxonomy_category":"terrain","taxonomy_subcategory":"multiscale_signatures","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"palette","description":"Palette","type":"str","required":false,"default":"soft","options":[],"kind":"string"},{"name":"min_scale","description":"Min Scale","type":"int","required":false,"default":1,"options":[],"kind":"int"},{"name":"num_steps","description":"Num Steps","type":"int","required":false,"default":10,"options":[],"kind":"int"},{"name":"step_nonlinearity","description":"Step Nonlinearity","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"image_height","description":"Image Height","type":"int","required":false,"default":600,"options":[],"kind":"int"},{"name":"delay","description":"Delay","type":"int","required":false,"default":250,"options":[],"kind":"int"},{"name":"label","description":"Label","type":"str","required":false,"default":"","options":[],"kind":"string"},{"name":"use_dev_max","description":"Use Dev Max","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"tuple[str, str]"},{"id":"topo_render","display_name":"Topo Render","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"open","locked":false,"locked_reason":null,"params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"palette","description":"Palette","type":"str","required":false,"default":"soft","options":[],"kind":"string"},{"name":"reverse_palette","description":"Reverse Palette","type":"bool","required":false,"default":false,"options":[],"kind":"bool"},{"name":"azimuth","description":"Azimuth","type":"float","required":false,"default":315,"options":[],"kind":"double"},{"name":"altitude","description":"Altitude","type":"float","required":false,"default":30,"options":[],"kind":"double"},{"name":"clipping_polygon","description":"Clipping Polygon","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"background_hgt_offset","description":"Background Hgt Offset","type":"float","required":false,"default":10,"options":[],"kind":"double"},{"name":"background_clr","description":"Background Clr","type":"tuple[int, int, int, int]","required":false,"default":[255,255,255,255],"options":[],"kind":"int"},{"name":"attenuation_parameter","description":"Attenuation Parameter","type":"float","required":false,"default":0.3,"options":[],"kind":"double"},{"name":"ambient_light","description":"Ambient Light","type":"float","required":false,"default":0.2,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"max_dist","description":"Max Dist","type":"float | None","required":false,"default":null,"options":[],"kind":"double"},{"name":"output","description":"Output","type":"str | None","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Raster"},{"id":"wetland_hydrogeomorphic_classification","display_name":"Wetland Hydrogeomorphic Classification","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Input DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"wetland_mask","description":"Input wetland mask raster (>0 treated as wetland).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"max_polygon_features","description":"Maximum wetland polygon features to emit.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"wetland_region","description":"Regional HGM calibration pack.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"urban_expansion_impact_assessment","display_name":"Urban Expansion Impact Assessment","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_urban","description":"Baseline urban extent raster (binary or fractional).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"scenario_urban","description":"Scenario/future urban extent raster (binary or fractional).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Input stream network vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"habitat_sensitivity","description":"Optional habitat sensitivity raster (0..1).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"scenario_template","description":"Planning scenario template for policy comparison outputs.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"wind_turbine_siting","display_name":"Wind Turbine Siting","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"settlements","description":"Settlements","type":"Vector | str","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"settlements_epsg","description":"Settlements Epsg","type":"int | None","required":false,"default":null,"options":[],"kind":"int"},{"name":"visibility_radius_meters","description":"Visibility Radius Meters","type":"int","required":false,"default":5000,"options":[],"kind":"int"},{"name":"min_slope_degrees","description":"Min Slope Degrees","type":"float","required":false,"default":5,"options":[],"kind":"double"},{"name":"max_slope_degrees","description":"Max Slope Degrees","type":"float","required":false,"default":35,"options":[],"kind":"double"},{"name":"profile","description":"Profile","type":"str","required":false,"default":"balanced","options":[],"kind":"file_in"},{"name":"sweep_spec_json","description":"Sweep Spec Json","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"solar_site_suitability_analysis","display_name":"Solar Site Suitability Analysis","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Dem","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"transmission_lines","description":"Transmission Lines","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"substations","description":"Substations","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"road_network","description":"Road Network","type":"Vector | str | None","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"infra_weight_profile","description":"Infra Weight Profile","type":"Literal[\"balanced\", \"grid_priority\", \"access_priority\"]","required":false,"default":"balanced","options":[],"kind":"file_in"},{"name":"candidate_threshold","description":"Candidate Threshold","type":"float","required":false,"default":0.7,"options":[],"kind":"double"},{"name":"max_candidate_sites","description":"Max Candidate Sites","type":"int","required":false,"default":200,"options":[],"kind":"int"},{"name":"sweep_spec_json","description":"Sweep Spec Json","type":"str | None","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"corridor_mapping_intelligence","display_name":"Corridor Mapping Intelligence","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Input DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"start_features","description":"Start feature vector path (point or polygon).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"end_features","description":"End feature vector path (point or polygon).","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"constraints","description":"Optional exclusion zone vector path (polygons to avoid).","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"cost_profile","description":"Cost weighting: slope_only | slope_roughness | conservative. Default: slope_roughness.","type":"file","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"terminal_anchor_strategy","description":"Anchor selection strategy for polygon terminals: mixed | centroid_only | boundary_only. Default: mixed.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"corridor_tolerance","description":"Fraction above optimal cost for the suitability band (0–1). Default 0.15.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"landslide_susceptibility_assessment","display_name":"Landslide Susceptibility Assessment","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Input DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"rainfall_intensity","description":"Optional rainfall intensity proxy raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"profile","description":"Preset profile controlling susceptibility sensitivity: fast, balanced, or conservative.","type":"file","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"factor_contribution_mode","description":"Factor contribution output detail: none | basic | detailed. Default: basic.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"susceptibility_threshold","description":"Threshold in [0,1] for high-risk fraction reporting.","type":"number","required":false,"default":null,"options":[],"kind":"double"},{"name":"max_zone_features","description":"Maximum number of risk-zone polygon features to emit.","type":"number","required":false,"default":null,"options":[],"kind":"int"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"river_corridor_health_assessment","display_name":"River Corridor Health Assessment","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Input DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"streams","description":"Input stream network vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"profile","description":"Preset profile controlling erosion sensitivity: fast, balanced, or conservative.","type":"file","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"restoration_priority_mode","description":"Restoration priority ranking mode: health_score_only | cost_weighted | ecological_gradient. Default: health_score_only.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"baseline_matching_and_diagnostics_assessment","display_name":"Baseline Matching And Diagnostics Assessment","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"project_boundary","description":"Project activity boundary polygon vector.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"ecoregion_layer","description":"Level-3 ecoregion polygons for donor-pool filtering.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"year0_landcover","description":"Year-0 land-cover raster used for non-forest donor eligibility.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"pre_period_ndvi_stack","description":"Multi-band pre-period NDVI stack (recommended years -5 to -1).","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"elevation","description":"Elevation raster covariate.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"precipitation","description":"Precipitation raster covariate.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"soil_organic_carbon","description":"Soil organic carbon raster covariate.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"soil_texture_class","description":"Soil texture class raster covariate.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"roads","description":"Roads vector for accessibility covariates.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"tenure_status","description":"Optional tenure/legal-status vector for exact-match constraints.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"donor_pool_exclusion_distance_km","description":"Exclusion distance from project boundary in km.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"matching_mode","description":"Matching mode: mahalanobis or propensity_score.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"neighbors","description":"Nearest-neighbor count.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"with_replacement","description":"Whether matching is with replacement.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"tenure_field","description":"Attribute field in tenure_status layer used for exact legal-status matching.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"calliper_elevation_m","description":"Hard calliper for elevation in absolute metres.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"calliper_slope_deg","description":"Hard calliper for slope in absolute degrees.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"calliper_soc_pct","description":"Hard calliper for SOC as a percentage of the project-area mean.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"calliper_ndvi_pct","description":"Hard calliper for mean pre-period NDVI as a percentage of the project-area mean.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"calliper_road_distance_km","description":"Hard calliper for road distance in absolute kilometres.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"exact_match_soil_texture_class","description":"Require exact donor/treated soil texture class match.","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"random_seed","description":"Deterministic seed used for bounded preview sampling.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"smd_threshold","description":"SMD pass threshold (default 0.1).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"parallel_trend_tolerance","description":"Absolute treated-donor slope tolerance for pre-period trends (default 0.01).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"pre_period_min_years","description":"Minimum NDVI pre-period band count.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"carbon_sequestration_verification_audit","display_name":"Carbon Sequestration Verification Audit","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_bundle","description":"Baseline date multiband raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"baseline_red_band_index","description":"Band index (0-based) for red band in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_nir_band_index","description":"Band index (0-based) for NIR band in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"current_bundle","description":"Current date multiband raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"current_red_band_index","description":"Band index (0-based) for red band in current_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"current_nir_band_index","description":"Band index (0-based) for NIR band in current_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"biomass_proxy","description":"Optional LiDAR-derived biomass proxy raster.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"biome_class","description":"Biome for carbon coefficient tuning: tropical_forest, boreal_forest, grassland_shrub, agricultural_cropland, wetland_aquatic, none.","type":"lidar","required":false,"default":null,"options":[],"kind":"lidar_in"},{"name":"profile","description":"Detection sensitivity profile: conservative, balanced, aggressive.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"zone_block_cells","description":"Block aggregation size for verification zone polygons.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_date","description":"Optional baseline capture date (YYYY-MM-DD) for temporal uncertainty estimation.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"current_date","description":"Optional current capture date (YYYY-MM-DD) for temporal uncertainty estimation.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mrv_template","description":"MRV compliance framework: verra_vcs_vm0010, american_carbon_registry, gold_standard, none.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"methodology_reference","description":"Optional methodology reference string for the audit contract.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_matching_audit_contract","description":"Optional SEMDB summary contract JSON for integrated diagnostics handoff.","type":"json","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"wildfire_fuel_loading_and_risk_matrix","display_name":"Wildfire Fuel Loading And Risk Matrix","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"optical_bundle","description":"Multispectral raster with red and NIR (and optionally SWIR) bands.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"red_band_index","description":"Band index (0-based) for red band.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"nir_band_index","description":"Band index (0-based) for NIR band.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"swir_band_index","description":"Band index (0-based) for SWIR band (optional; enables NDMI).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"biomass_proxy","description":"Optional LiDAR-derived canopy height or biomass proxy raster.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"slope","description":"Optional terrain slope raster (degrees).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"aspect","description":"Optional terrain aspect raster (degrees).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"fuel_model","description":"Fuel model for regional calibration: temperate_mixed_forest, boreal_sparse, mediterranean_shrub, tropical_dense, grassland_savanna, none.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"profile","description":"Risk sensitivity profile: conservative, balanced, aggressive.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"zone_block_cells","description":"Block aggregation size for risk zone polygons.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"mine_site_reclamation_compliance_tracker","display_name":"Mine Site Reclamation Compliance Tracker","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"baseline_bundle","description":"Pre-mining or early reclamation date multiband raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"baseline_red_band_index","description":"Band index (0-based) for red band in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"baseline_nir_band_index","description":"Band index (0-based) for NIR band in baseline_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"current_bundle","description":"Current monitoring date multiband raster.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"current_red_band_index","description":"Band index (0-based) for red band in current_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"current_nir_band_index","description":"Band index (0-based) for NIR band in current_bundle.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"slope","description":"Optional terrain slope raster (degrees).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"reclamation_target_ndvi","description":"Target NDVI threshold for vegetation recovery milestone.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"slope_stability_max_deg","description":"Maximum acceptable slope angle for stability milestone (degrees).","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"jurisdiction","description":"Jurisdiction-specific compliance template: us_federal_mtbs, us_california_mining, us_pennsylvania_coal, aus_western_australia, canada_bc_mines, south_africa_dmre, none.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"monitoring_epoch","description":"Monitoring epoch for multi-epoch tracking.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"site_name","description":"Optional site name or permit ID.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"has_hydrology_evidence","description":"Whether supporting hydraulic stability evidence is attached.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"has_soil_ph_evidence","description":"Whether soil pH evidence is attached when required.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"has_perennial_vegetation_evidence","description":"Whether perennial vegetation establishment evidence is attached when required.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"report_interval_months","description":"Reported monitoring cadence in months for validation diagnostics.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"zone_block_cells","description":"Block size in cells for compliance zone polygons.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"terrain_constraint_and_conflict_analysis","display_name":"Terrain Constraint And Conflict Analysis","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Reference DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"wetness","description":"Optional wetness or moisture-risk raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"flood_risk","description":"Optional flood-risk raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"landcover_penalty","description":"Optional landcover penalty raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"slope_limit_deg","description":"Slope threshold at which terrain conflict becomes high.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for conflict rasters and summary.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"terrain_constructability_and_cost_analysis","display_name":"Terrain Constructability And Cost Analysis","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Reference DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"existing_conflict","description":"Optional terrain conflict raster from a prior workflow normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"wetness","description":"Optional wetness raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"access_cost","description":"Optional access-friction raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output_prefix","description":"Output prefix for constructability/cost rasters and summary.","type":"raster","required":false,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"utility_corridor_encroachment_intelligence","display_name":"Utility Corridor Encroachment Intelligence","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input LiDAR paths (single path, delimited string, or array).","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"corridors","description":"Corridor centerlines vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"corridor_type","description":"Corridor type profile.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"corridor_width_m","description":"Total corridor width in meters.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"ground_percentile","description":"Ground candidate percentile in [0,1].","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"k_neighbors","description":"K nearest ground points for HAG.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"hag_reuse_cell_m","description":"Optional XY cell size for HAG query reuse/downsampling.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"chainage_window_m","description":"Risk table chainage window size in meters.","type":"table","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"summary_json","description":"Output summary JSON path.","type":"json","required":false,"default":null,"options":[],"kind":"file_in"},{"name":"events_output","description":"Optional output GeoPackage path for encroachment event features.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"intervals_output","description":"Optional output GeoPackage path for merged interval features.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"windows_output","description":"Optional output GeoPackage path for risk window features.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"}],"return_type":"Any"},{"id":"forestry_structure_and_biomass_intelligence","display_name":"Forestry Structure And Biomass Intelligence","summary":"","category":"Terrain - Workflow Products","taxonomy_category":"terrain","taxonomy_subcategory":"workflow_products","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input LiDAR path.","type":"lidar","required":true,"default":null,"options":[],"kind":"lidar_in"},{"name":"profile","description":"Profile preset: fast, balanced, strict.","type":"file","required":true,"default":null,"options":[],"kind":"file_in"},{"name":"resolution","description":"Output raster resolution.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"stand_block_cells","description":"Stand aggregation block size in cells.","type":"number","required":true,"default":null,"options":[],"kind":"int"},{"name":"biomass_cap","description":"Maximum biomass proxy value.","type":"number","required":true,"default":null,"options":[],"kind":"double"},{"name":"terrain_adaptation","description":"Biomass terrain adaptation mode.","type":"string","required":true,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"},{"id":"field_trafficability_and_operation_planning","display_name":"Field Trafficability And Operation Planning","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Reference DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"soil_moisture","description":"Soil-moisture saturation raster normalized to [0,1].","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"rainfall_forecast","description":"Optional rainfall-risk raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output_prefix","description":"Output prefix for trafficability outputs and summary.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"in_season_crop_stress_intervention_planning","display_name":"In Season Crop Stress Intervention Planning","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"ndvi","description":"Input NDVI or vigor raster normalized to [0,1].","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"canopy_temperature","description":"Optional canopy-temperature stress raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"soil_moisture","description":"Optional soil-moisture deficit raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"output_prefix","description":"Output prefix for intervention rasters and summary.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_out"}],"return_type":"Any"},{"id":"precision_irrigation_optimization","display_name":"Precision Irrigation Optimization","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"dem","description":"Input DEM raster path.","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"soil_moisture","description":"Optional soil moisture raster normalized to [0,1].","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"profile","description":"Preset profile controlling irrigation aggressiveness: fast, balanced, or conservative.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"target_moisture","description":"Target moisture setpoint in [0,1].","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_irrigation_mm","description":"Maximum irrigation depth in mm.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"sweep_spec","description":"Optional parameter sweep specification object (experimental foundation for scenario sweeps).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"precision_ag_yield_zone_intelligence","display_name":"Precision Ag Yield Zone Intelligence","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"yield_surface","description":"Input yield raster (relative yield or normalized productivity).","type":"raster","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"terrain_context","description":"Optional terrain context raster (e.g., wetness or slope proxy).","type":"raster","required":false,"default":null,"options":[],"kind":"raster_in"},{"name":"profile","description":"Preset profile controlling zoning sensitivity: fast, balanced, or conservative.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"zone_count","description":"Number of management zones.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_zone_features","description":"Maximum number of management-zone polygon features to emit.","type":"vector","required":false,"default":null,"options":[],"kind":"vector_in"},{"name":"sweep_spec","description":"Optional parameter sweep specification object (experimental foundation for scenario sweeps).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"output_prefix","description":"Output prefix for generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"}],"return_type":"Any"},{"id":"soil_landscape_classification","display_name":"Soil Landscape Classification","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input","type":"Raster | str","required":true,"default":null,"options":[],"kind":"raster_in"},{"name":"flat_slope_threshold","description":"Flat Slope Threshold","type":"float","required":false,"default":3,"options":[],"kind":"double"},{"name":"profile_curvature_threshold","description":"Profile Curvature Threshold","type":"float","required":false,"default":0.01,"options":[],"kind":"double"},{"name":"plan_curvature_threshold","description":"Plan Curvature Threshold","type":"float","required":false,"default":0.01,"options":[],"kind":"double"},{"name":"fine_scale","description":"Fine Scale","type":"float","required":false,"default":2,"options":[],"kind":"double"},{"name":"coarse_scale","description":"Coarse Scale","type":"float","required":false,"default":8,"options":[],"kind":"double"},{"name":"z_factor","description":"Z Factor","type":"float","required":false,"default":1,"options":[],"kind":"double"},{"name":"output_prefix","description":"Output Prefix","type":"str | None","required":true,"default":null,"options":[],"kind":"vector_out"},{"name":"landform_polygons_output","description":"Landform Polygons Output","type":"str | None","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"tuple[Raster, Raster, Vector, str]"},{"id":"yield_data_conditioning_and_qa","display_name":"Yield Data Conditioning And Qa","summary":"","category":"Precision Agriculture","taxonomy_category":"precision_agriculture","taxonomy_subcategory":"general","license_tier":"pro","locked":true,"locked_reason":"Pro license required","params":[{"name":"input","description":"Input yield point vector path.","type":"vector","required":true,"default":null,"options":[],"kind":"vector_in"},{"name":"output_prefix","description":"Output prefix for all generated artifacts.","type":"file","required":true,"default":null,"options":[],"kind":"file_out"},{"name":"keep_intermediates","description":"If true, preserve intermediate workflow artifacts (default true).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"intermediate_dir","description":"Optional directory for intermediate artifacts.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"yield_field_name","description":"Raw yield field name (default YIELD).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"use_field_aliases","description":"If true, auto-resolve common field aliases when configured fields are missing (default true).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"moisture_field_name","description":"Optional grain moisture field name for dry-yield normalization (e.g., MOISTURE).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"target_moisture_pct","description":"Target moisture percent for dry-yield normalization when moisture_field_name is supplied.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"speed_field_name","description":"Optional speed field (km/h) for telemetry QA filtering.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"heading_field_name","description":"Optional heading field (degrees) for telemetry QA filtering.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"min_speed_kmh","description":"Minimum accepted speed in km/h when speed_field_name is supplied.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_speed_kmh","description":"Maximum accepted speed in km/h when speed_field_name is supplied.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_heading_change_deg","description":"Maximum allowed local heading jump in degrees when heading_field_name is supplied.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"header_field_name","description":"Header/region field name used for reconciliation (default HEADER).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"profile","description":"Pipeline profile: fast, balanced, strict.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"swath_width","description":"Swath width for pass-aware tools (default 6.096).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"edge_radius","description":"Neighborhood radius for edge detection (profile default).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"reconcile_radius","description":"Neighborhood radius for multi-header reconciliation (profile default).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"normalization_radius","description":"Neighborhood radius for local normalization (default depends on profile).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"lag_correction_mode","description":"Optional lag correction mode for pass points: none or distance.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"lag_distance_m","description":"Distance lag in map units for lag_correction_mode=distance.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"filtering_mode","description":"Filtering mode after pass-aware smoothing: standard or robust.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"robust_mad_threshold","description":"MAD threshold for robust filtering mode (default depends on profile).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"z_score_threshold","description":"Outlier z-score threshold for yield filtering (profile default).","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"min_yield","description":"Minimum accepted yield value.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_yield","description":"Maximum accepted yield value.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"mean_tonnage","description":"Optional target mean yield after reconciliation.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"standardize","description":"If true, output standardized values instead of [0,1] normalization.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"ignore_zeros","description":"Ignore zero-yield points during pass reconstruction.","type":"string","required":false,"default":null,"options":[],"kind":"string"},{"name":"max_change_in_heading","description":"Maximum heading change in degrees for pass logic (default 25).","type":"string","required":false,"default":null,"options":[],"kind":"string"}],"return_type":"Any"}]} diff --git a/apps/geolibre-desktop/src-tauri/Cargo.lock b/apps/geolibre-desktop/src-tauri/Cargo.lock new file mode 100644 index 0000000..29edc36 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/Cargo.lock @@ -0,0 +1,6601 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.17", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "const-random", + "getrandom 0.3.4", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "arrayvec" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" + +[[package]] +name = "arrow" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "378530e55cd479eda3c14eb345310799717e6f76d0c332041e8487022166b471" +dependencies = [ + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", + "arrow-string", +] + +[[package]] +name = "arrow-arith" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ab212d2c1886e802f51c5212d78ebbcbb0bec980fff9dadc1eb8d45cd0b738" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "chrono", + "num-traits", +] + +[[package]] +name = "arrow-array" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd33d3e92f207444098c75b42de99d329562be0cf686b307b097cc52b4e999e" +dependencies = [ + "ahash 0.8.12", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "chrono", + "half", + "hashbrown 0.17.1", + "num-complex", + "num-integer", + "num-traits", +] + +[[package]] +name = "arrow-buffer" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6cd424c2693bcdbc150d843dc9d4d137dd2de4782ce6df491ad11a3a0416c0" +dependencies = [ + "bytes", + "half", + "num-bigint", + "num-traits", +] + +[[package]] +name = "arrow-cast" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c5aefb56a2c02e9e2b30746241058b85f8983f0fcff2ba0c6d09006e1cded7f" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-ord", + "arrow-schema", + "arrow-select", + "atoi", + "base64 0.22.1", + "chrono", + "comfy-table", + "half", + "lexical-core", + "num-traits", + "ryu", +] + +[[package]] +name = "arrow-data" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c88210023a2bfee1896af366309a3028fc3bcbd6515fa29a7990ee1baa08ee0" +dependencies = [ + "arrow-buffer", + "arrow-schema", + "half", + "num-integer", + "num-traits", +] + +[[package]] +name = "arrow-ord" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bffd8fd2579286a5d63bac898159873e5094a79009940bcb42bbfce4f19f1d0" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", +] + +[[package]] +name = "arrow-row" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5994731204603c73ba69267616c50f80780774c6bb0476f1f830625115e0c" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "half", +] + +[[package]] +name = "arrow-schema" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f633dbfdf39c039ada1bf9e34c694816eb71fbb7dc78f613993b7245e078a1ed" +dependencies = [ + "bitflags 2.11.1", +] + +[[package]] +name = "arrow-select" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd065c54172ac787cf3f2f8d4107e0d3fdc26edba76fdf4f4cc170258942222" +dependencies = [ + "ahash 0.8.12", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "num-traits", +] + +[[package]] +name = "arrow-string" +version = "58.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29dd7cda3ab9692f43a2e4acc444d760cc17b12bb6d8232ddf64e9bab7c06b42" +dependencies = [ + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", + "memchr", + "num-traits", + "regex", + "regex-syntax", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" +dependencies = [ + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 1.1.4", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix 1.1.4", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "async-signal" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 1.1.4", + "signal-hook-registry", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +dependencies = [ + "serde_core", +] + +[[package]] +name = "bitvec" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "borsh" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" +dependencies = [ + "borsh-derive", + "bytes", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae8fb4fb5740e4b2c4884ff95f5f32f5e8479db1e8fd8eb49ddbe09eb09bb7c" +dependencies = [ + "once_cell", + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "brotli" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.11.1", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.2.62" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "comfy-table" +version = "7.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" +dependencies = [ + "crossterm", + "unicode-segmentation", + "unicode-width", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.17", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b2c103cf610ec6cae3da84a766285b42fd16aad564758459e6ecf128c75206" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" +dependencies = [ + "bitflags 2.11.1", + "core-foundation 0.10.1", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.11.1", + "core-foundation 0.10.1", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.11.1", + "crossterm_winapi", + "parking_lot", + "rustix 0.38.44", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf", + "smallvec", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "ctor" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.117", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "data-url" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" + +[[package]] +name = "dbus" +version = "0.9.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b942602992bb7acfd1f51c49811c58a610ef9181b6e66f3e519d79b540a3bf73" +dependencies = [ + "libc", + "libdbus-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.117", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.11.1", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "dom_query" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" +dependencies = [ + "bit-set", + "cssparser", + "foldhash 0.2.0", + "html5ever", + "precomputed-hash", + "selectors", + "tendril", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dtor" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" + +[[package]] +name = "duckdb" +version = "1.10504.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9b997383221efd999a362448a0866c54b9a2cb7d4da8cd4903ead4df9f8eaa" +dependencies = [ + "arrow", + "cast", + "comfy-table", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink 0.10.0", + "libduckdb-sys", + "num-integer", + "rust_decimal", + "strum", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "embed-resource" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31a88c8d26de40ed18fe748c547845aa39de1db3afd958f8cb91579f3644bcb" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 1.1.2+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endi" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fastrand" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "filetime" +version = "0.2.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +dependencies = [ + "cfg-if", + "libc", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", + "zlib-rs", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "geolibre-desktop" +version = "2.0.0" +dependencies = [ + "chrono", + "duckdb", + "flate2", + "getrandom 0.4.2", + "reqwest 0.12.28", + "rusqlite", + "serde", + "serde_json", + "tar", + "tauri", + "tauri-build", + "tauri-plugin-dialog", + "tauri-plugin-fs", + "tauri-plugin-http", + "tauri-plugin-opener", + "tauri-plugin-persisted-scope", + "webkit2gtk-sys", + "zip", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.11.1", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "h2" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.14.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", + "zerocopy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "foldhash 0.2.0", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash 0.2.0", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "hashlink" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32069d97bb81e38fa67eab65e3393bf804bb85969f2bc06bf13f64aef5aba248" +dependencies = [ + "hashbrown 0.17.1", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" +dependencies = [ + "log", + "markup5ever", +] + +[[package]] +name = "http" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb92f162bf56536459fc83c79b974bb12837acfed43d6bc370a7916d0ae15ecc" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "h2", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "system-configuration", + "tokio", + "tower-service", + "tracing", + "windows-registry", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" +dependencies = [ + "byteorder", + "png 0.17.16", +] + +[[package]] +name = "icu_collections" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" + +[[package]] +name = "icu_properties" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" + +[[package]] +name = "icu_provider" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" +dependencies = [ + "cfg-if", + "futures-util", + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.11.1", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.186" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" + +[[package]] +name = "libdbus-sys" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libduckdb-sys" +version = "1.10504.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94e67523a40ee3da30411e00e243990b3760d91877202ab2f39c03ab34f8dbfc" +dependencies = [ + "cc", + "flate2", + "pkg-config", + "reqwest 0.12.28", + "serde", + "serde_json", + "tar", + "vcpkg", + "zip", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +dependencies = [ + "libc", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.38.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6c19a05435c21ac299d71b6a9c13db3e3f47c520517d58990a462a1397a61db" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litemap" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "markup5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "memchr" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47a2e3dff89cd322c66647942668faee0a2b1f88ea6cbb4d374b4a8d7e92528c" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.18", + "windows-sys 0.61.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.11.1", + "jni-sys 0.3.1", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.11.1", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.11.1", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.11.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.11.1", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.11.1", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.11.1", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.11.1", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.11.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.11.1", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.11.1", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "open" +version = "5.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fbaa89d2ddc8473c78a3adf69eea8cffa28c483b8e02a971ef31527cd0fc92c" +dependencies = [ + "dunce", + "is-wsl", + "libc", + "pathdiff", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "piper" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" + +[[package]] +name = "plist" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "092791278e026273c1b65bbdcfbba3a300f2994c896bd01ab01da613c29c46f1" +dependencies = [ + "base64 0.22.1", + "indexmap 2.14.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.11.1", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.4", + "windows-sys 0.61.2", +] + +[[package]] +name = "potential_utf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn 2.0.117", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.12+spec-1.1.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "quick-xml" +version = "0.39.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +dependencies = [ + "memchr", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.18", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.4", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.18", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.60.2", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.11.1", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.18", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "regex" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "cookie", + "cookie_store", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "mime", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", +] + +[[package]] +name = "reqwest" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rfd" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" +dependencies = [ + "block2", + "dispatch2", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.60.2", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rkyv" +version = "0.7.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rsqlite-vfs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51c9ae4df8a7fba42103df5c621fa3c37eccf3a3c650879e90fc48b11cc192c" +dependencies = [ + "hashbrown 0.16.1", + "thiserror 2.0.18", +] + +[[package]] +name = "rusqlite" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11438310b19e3109b6446c33d1ed5e889428cf2e278407bc7896bc4aaea43323" +dependencies = [ + "bitflags 2.11.1", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink 0.12.1", + "libsqlite3-sys", + "smallvec", + "sqlite-wasm-rs", +] + +[[package]] +name = "rust_decimal" +version = "1.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be2a24f50780bc85f09cc6ac299bdf1424302742d77221106859c9d8b102126a" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand 0.8.6", + "rkyv", + "serde", + "serde_json", + "wasm-bindgen", +] + +[[package]] +name = "rustc-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.11.1", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags 2.11.1", + "errno", + "libc", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.117", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "selectors" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" +dependencies = [ + "bitflags 2.11.1", + "cssparser", + "derive_more", + "log", + "new_debug_unreachable", + "phf", + "phf_codegen", + "precomputed-hash", + "rustc-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serde_json" +version = "1.0.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e72c1c2cb7b223fafb600a619537a871c2818583d619401b785e7c0b746ccde2" +dependencies = [ + "base64 0.22.1", + "bs58", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.14.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b90c488738ecb4fb0262f41f43bc40efc5868d9fb744319ddf5f5317f417bfac" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "servo_arc" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "siphasher" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "sqlite-wasm-rs" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc3efc0da82635d7e1ced0053bbbfa8c7ab9645d0bf36ceb4f7127bb85315d75" +dependencies = [ + "cc", + "js-sys", + "rsqlite-vfs", + "wasm-bindgen", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "string_cache_codegen" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags 2.11.1", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.35.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" +dependencies = [ + "bitflags 2.11.1", + "block2", + "core-foundation 0.10.1", + "core-graphics", + "crossbeam-channel", + "dbus", + "dispatch2", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "libc", + "log", + "ndk", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "once_cell", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tar" +version = "0.4.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "437404997acf375d85f1177afa7e11bb971f274ed6a7b83a2a3e339015f4cc28" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest 0.13.4", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.18", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a0319528a025a38c4078e7dae2c446f4e63620ddb0659a643ede1cb38f90e9" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png 0.17.16", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.117", + "tauri-utils", + "thiserror 2.0.18", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6cb4e3896c21d2f6da5b31251d2faea0153bba56ed0e970f918115dbee4924" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e126abc9e84e35cdfd01596140a73a1850cdb0df0a23acf0185776c30b469a6e" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "walkdir", +] + +[[package]] +name = "tauri-plugin-dialog" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65981abb771e74e571a38196c3baa11c459379164791eba0e67abc1a5fac9884" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ecc274121aca0c036a2b42d1cbe83d368d348f54e0bb8a735c2b1548e8f371" +dependencies = [ + "anyhow", + "dunce", + "glob", + "log", + "objc2-foundation", + "percent-encoding", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.18", + "toml 1.1.2+spec-1.1.0", + "url", +] + +[[package]] +name = "tauri-plugin-http" +version = "2.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5bd512048e1985b7ec78f96d99083e2ddaf7e0d906b2b63c44ce5bb8b894067" +dependencies = [ + "bytes", + "cookie_store", + "data-url", + "http", + "regex", + "reqwest 0.12.28", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.18", + "tokio", + "url", + "urlpattern", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17e1bea14edce6b793a04e2417e3fd924b9bc4faae83cdee7d714156cceeed29" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.18", + "url", + "windows", + "zbus", +] + +[[package]] +name = "tauri-plugin-persisted-scope" +version = "2.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b560a5962bf975d38fb4ec98a0e64e52929992ec708acb812add9c1ab8d186d" +dependencies = [ + "aho-corasick", + "bincode", + "log", + "serde", + "serde_json", + "tauri", + "tauri-plugin-fs", + "thiserror 2.0.18", +] + +[[package]] +name = "tauri-runtime" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48222d7116c8807eaa6fe2f372e023fae125084e61e6eca6d70b7961cdf129ef" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b83849ee63ecb27a8e8d0fe51915ca215076914aca43f96db1179f0f415f6cd9" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dom_query", + "dunce", + "glob", + "http", + "infer", + "json-patch", + "log", + "memchr", + "phf", + "plist", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.18", + "toml 1.1.2+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" +dependencies = [ + "dunce", + "embed-resource", + "toml 1.1.2+spec-1.1.0", +] + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.2", + "once_cell", + "rustix 1.1.4", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4790fc369d5a530f4b544b094e31388b9b3a37c0f4652ade4505945f5660d24" +dependencies = [ + "new_debug_unreachable", + "utf-8", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "time" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + +[[package]] +name = "toml" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 1.0.3", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.14.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.25.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.3", +] + +[[package]] +name = "toml_parser" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +dependencies = [ + "winnow 1.0.3", +] + +[[package]] +name = "toml_writer" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.11.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15edbb0d80583e85ee8df283410038e17314df5cba30da2087a54a85216c0773" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.18", + "windows-sys 0.61.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" + +[[package]] +name = "uds_windows" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" +dependencies = [ + "memoffset", + "tempfile", + "windows-sys 0.61.2", +] + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" + +[[package]] +name = "unicode-width" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +dependencies = [ + "getrandom 0.4.2", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.3+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +dependencies = [ + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "serde", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9473dbd2991ae90b6291c3c32c30c6187ac49aa32f9905d1cce280ec1e110b0f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.117", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.122" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.14.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.1", + "hashbrown 0.15.5", + "indexmap 2.14.0", + "semver", +] + +[[package]] +name = "web-sys" +version = "0.3.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_atoms" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7cff6eef815df1834fd250e3a2ff436044d82a9f1bc1980ca1dbdf07effc538" +dependencies = [ + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webpki-roots" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.18", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" + +[[package]] +name = "winnow" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.14.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.1", + "indexmap 2.14.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.14.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "writeable" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" + +[[package]] +name = "wry" +version = "0.55.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dom_query", + "dpi", + "dunce", + "gdkx11", + "gtk", + "http", + "javascriptcore-rs", + "jni", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "xattr" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" +dependencies = [ + "libc", + "rustix 1.1.4", +] + +[[package]] +name = "yoke" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", +] + +[[package]] +name = "zbus" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "libc", + "ordered-stream", + "rustix 1.1.4", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "uuid", + "windows-sys 0.61.2", + "winnow 1.0.3", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" +dependencies = [ + "serde", + "winnow 1.0.3", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zip" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2a05c7c36fde6c09b08576c9f7fb4cda705990f73b58fe011abf7dfb24168b" +dependencies = [ + "arbitrary", + "crc32fast", + "flate2", + "indexmap 2.14.0", + "memchr", + "zopfli", +] + +[[package]] +name = "zlib-rs" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "977347db8caa080403f6b6b7c1cda9479a8e869316f7e13a59b19076a40f94e3" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] + +[[package]] +name = "zvariant" +version = "5.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow 1.0.3", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 2.0.117", + "winnow 1.0.3", +] diff --git a/apps/geolibre-desktop/src-tauri/Cargo.toml b/apps/geolibre-desktop/src-tauri/Cargo.toml new file mode 100644 index 0000000..7699ab8 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/Cargo.toml @@ -0,0 +1,54 @@ +[package] +name = "geolibre-desktop" +version = "2.0.0" +description = "GeoLibre Desktop — lightweight cloud-native desktop GIS" +authors = ["GeoLibre Contributors"] +edition = "2021" + +[lib] +name = "geolibre_desktop_lib" +crate-type = ["lib", "cdylib", "staticlib"] + +[features] +default = [] +native-duckdb = ["dep:duckdb"] + +# Optimize the release binary for size. The frontend assets dominate the binary, +# but these still trim the Rust code: LTO + a single codegen unit let the linker +# drop dead code across crates, `strip` removes symbols/debuginfo, `opt-level="s"` +# favors size while keeping reasonable runtime speed, and `panic="abort"` drops +# unwinding tables (a panic in the desktop shell terminates the app either way). +[profile.release] +opt-level = "s" +lto = true +codegen-units = 1 +strip = true +panic = "abort" + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-dialog = "2" +tauri-plugin-fs = "2" +tauri-plugin-http = "2" +tauri-plugin-opener = "2" +# Persists the fs scope the folder picker grants, so Browser-panel pinned +# folders stay readable across app restarts (no re-pick required). +tauri-plugin-persisted-scope = "2" +duckdb = { version = "1.10504.0", features = ["bundled", "parquet"], optional = true } +chrono = { version = "0.4", default-features = false, features = ["std"] } +reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] } +flate2 = "1" +tar = "0.4" +zip = { version = "6", default-features = false, features = ["deflate"] } +rusqlite = { version = "0.40", features = ["bundled"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +# OS CSPRNG for the per-launch Jupyter token (already an indirect dep). +getrandom = "0.4" + +# Runtime WebKitGTK version check (already an indirect dep via tauri/wry). +[target."cfg(target_os = \"linux\")".dependencies] +webkit2gtk-sys = "2" diff --git a/apps/geolibre-desktop/src-tauri/build.rs b/apps/geolibre-desktop/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/apps/geolibre-desktop/src-tauri/capabilities/default.json b/apps/geolibre-desktop/src-tauri/capabilities/default.json new file mode 100644 index 0000000..e924fd6 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/capabilities/default.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "identifier": "default", + "description": "Default capabilities for GeoLibre Desktop", + "windows": ["main"], + "permissions": [ + "core:default", + "dialog:default", + "fs:default", + "fs:allow-read-dir", + "fs:allow-read-file", + "fs:allow-read-text-file", + "fs:allow-write-file", + "fs:allow-write-text-file", + { + "identifier": "opener:allow-open-url", + "allow": [ + { "url": "http://*" }, + { "url": "https://*" } + ] + }, + { + "comment": "Hosts routed through the native HTTP client to bypass the WebView's CORS. Geocoding (place search / reverse geocode): public Nominatim's CDN intermittently omits the CORS header on cached responses (rejected as 'Search failed'), and the native client can send the User-Agent Nominatim's policy requires — keep the geocoder hosts in sync with the GEOCODING_PROVIDERS registry / lib/geocoding-fetch.ts. share.geolibre.app (project Share + gallery): its CORS policy allows the web origin but not the Tauri WebView origin, so browser fetches fail as 'Could not reach share.geolibre.app' — see lib/share-fetch.ts. Any other host (custom/self-hosted geocoder, third-party project URL) falls back to the browser fetch.", + "identifier": "http:default", + "allow": [ + { "url": "https://nominatim.openstreetmap.org/*" }, + { "url": "https://api.geocode.earth/*" }, + { "url": "https://geocode.arcgis.com/*" }, + { "url": "https://api.mapbox.com/*" }, + { "url": "https://maps.googleapis.com/*" }, + { "url": "https://share.geolibre.app/*" } + ] + } + ] +} diff --git a/apps/geolibre-desktop/src-tauri/icons/128x128.png b/apps/geolibre-desktop/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..1ffce53b47087be5885f1680da81b87c44f0ca2c GIT binary patch literal 18099 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 S>U~oH0000J!8 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 E16r$5NdN!< literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/32x32.png b/apps/geolibre-desktop/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c1153edf46d9c51e4cd9df68d8f4389d38c9c13f GIT binary patch literal 2588 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 W;qp5RS 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 Eg2V!n761SM literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/Square284x284Logo.png b/apps/geolibre-desktop/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..facd0d0ed3b645e92e74bb5103fd7949af59e94f GIT binary patch literal 57081 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 S6Lsvd1B4r!$kDWe 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.xErc^~QjRZxg%^;E;0LVh-D% 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 P^m9mw$%|GC>-ql=R}tBN literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/Square44x44Logo.png b/apps/geolibre-desktop/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4276ba28a83d7dae1358aa66d5e2ac742da1c45b GIT binary patch literal 4029 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ξ{`4v$Jm7XuM5S|(~blh5H1}w_o(|;xUC;r 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 q2WIpebjUYZI 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 e;W7FbdHp|3kRbO#2`G#J0000 + + + + diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..78573225401f0a0e778b5c2a2b462eb39fd2733b GIT binary patch literal 4477 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%0D--!c)KeY6l;otYz$Uv)iix?hDg>LT>Yqn z{r)=V`R7^;hkFa+z@Xwr(&7s)B-@h6$djTY(k!lY^{-7^$(IkWKMbfLo%>jWbDaLs z(r(}=0udhNztB#7zh8Zh!upI8CeWMh343(NQ;?_dS6cxfAam`HeTc(GY2@3pmzT!h zP!xs0YDpJrFU%jdBVv@W9 zUH7)8@R?$jd&7RCtszFF%l360`_;!E3m+%Uf(iyt_EhW|rqJ`B_c|VP(qHAlj+=`F zVU}MH<_@pNG*GRz8dcw$C5ORL<(Uo^8=mujI-i&w>);WsO{_!;3V;R3?Iv_FiVB}G zei{M=7-FUT*%5beQ&Xf^ZwS-J^?pI0gVH`9H@kx6`ySUnGtx|8sQ`Kz_Q10w%ZaUw z{jn-9`q&^g^y8v$b)WAJg+F0(Ka%FUO?zqp0i*$m5{&E`F~quKOfm){P41M3iew?djm0McL?fb*-N*6sW{+Ongr=+}>u7E0@a z_#%k0AA$-DyHFdXlfVJnL3n1Yb||^Xf;C>mCx7x0N?)Jp)7AFc!OX4rp9>bO@=zhA z@u^wO7xle2_Gxyk)RZ62>m(`B@)k18_0xoisB-(Z>+UAY1%e^$e&}dQqT&_wIEA`p=hZyB$5B zQYFdF$E3iRl_@F@(;5q12hRaDdG%Rm3m=V~(I6YPYJ6qxZ_-7Lfjgv-lq%;$xdR5( z#@9W<=eI)DT{{o+zKdKIYlhn-?ILZB;|UyW&7CRL3OXzEYt6E!fW3L9WgpYkqHFqm z%#>u#f>_w$D3SJ3sWFnor~cJr%+`~x@_~U^PIwo6YDC)6@x?aVVYBiF8^^10an)dV z@)+Y@XC0e`et1=BL6l8ahW=O$@;rlwF|+b>uZzSHRL0NeumD4z_?=BI@PC~__pdeg zc8j;MM$4b2%y60b5PnZ{nmUN$D*QC+9!?Dmr>QiQe$3=ABW~J+G>Gf|G4Qgeq^_5b z>|Ec@4P`F_8j!K^vhR0lG|}9pK={0u17~q(X1jhUIKo@2aib~c$w$j^k=HI zH+igwn(+@{Vz`P>#}W|>NXjg}_x^~JZ`q+sHXUX{U&=d73`ETpFCOcGQOIU>DD1=s z0Gp_{G{2fj0v{)@Lf-Wjbkx=r4t4cN__UFV1gHoI>r;m)(x)9(-<&>;AJq8C2nBTc zf^~ulDgGEehTt#o+daf_yDxKn(sg1`Vd*WB>Is9mhxERr&uot&mU5MIvJ=x09W) z%=r&Xq9dk5o!$DVWEfIwSF|?y9jl2-={8hO!n>Ho z@-ddDCsRrBzmU^(=&_zl(fiAaWJ>OIV%Jxp9EIQ0kZCIaa$p~FY}dUYUy;O9cwJ$V zW8WVuFQNCX3bk{$(_F2jXweU+vWn31^AIL`P9qG|G4tMIo!KYl0(98=e~LXMp057P zy^wkMEqY=0mzAK)6Bv>gk82+()7B?VlcDA9I_A(8{bKkd9u`E1IhPqDlT(KlXjxQ0 z_E(*!r=0w7G^}Osm-FDt%Hj3$%s@dL52I6%Awn$UA*(MAL{7$yDnd~~>gh!d@W|zV zWh;f!KQjamUDWb6?qJm8rM5#00%;=D3S)yBAIJwXT+N|jdftoVM~)ISN?)S`B8%zu z#5^lcX)04ud;MQRvr{ zDGx-1wEB+{hkKoOjXR+d6!|-^tM@(7QRCp#j%wF@f80TP??ndgHb=HFJB2)TA-Vfb zhnj(2szBdFLWTZ&awB5cmE=|M>)pZ#!_CYRYc?H{3bR_-jN^CTR62ckA3DrS^Npn} zcs#zCXII!d(ku5qeqZ%GPn}6)tIXEU02YP7S1gJ94E%joyT$rT-}^qc@pYHO82y@s z5y`G~dpCzO67WMTWCySvABz9p8@p56HW598$q##GY|RNFKb0l8dL`U6bsude$Xc z=u4qijE?Fh;`o6!Y8q^x`oKQR_E){%Qpz{vDkUZT*7r3GQNIh#@!hOM{oaR%&rdd% z2~ezdK7`X^E`B(?s*>$-km{x6wpe>!)Nw+?Y#toCPs;wJYA%bPO$?WeIiwTn$-kq3 zHCW|EvxVW1W2U~l@DJnhJ!F2CvA76x6$XK?gPp@P)wU_XE5Dx)^KmP(;_alt)F}i8 zC^SMW!4>Iy?Y-_aKyYvStAI|nfH81;7pslKP@PdQRQ>vhLj0T!2QFlbsVVOfN`%z@ za!|bG+g~aB+5Ma03j$-i3i~JM*izQ}lxBg2jeko_xMx=J(Kf;~8cufL1$V5JpW+XO z0yyl8Gf`EiFMqpajC&wznQ=t|lvlUn#bR5L08yTeX1bbkDwRX%!&U0J&zbL5FhSqH zhcQnYCR+PG5MK1#@>JZ}sv>@UIf<%%LXo8--`aD_=3`qsM-e_UdN_ye7iZ;0^_H9P z1)|cks*LPu&r+im4UsD}Ehr}c_D{Zq;|<#&M(ha9+D-!`YT<7)*#h=xZWn&coy@-7 ztm@SNED+kDlD~8K6thE7BER9NE@M+7NGvENYzop(O}0Oevb;SE&E6nr&>=`%o0?1P z&dITgalfx+K9@f`-AkT=fg?E6!B@7}1jg=v`>_SoB|od1$>S$sSO|A)Ldwj_j;hGz z8(y+9_TQ}{8L8dpMW}gQv!b4Ku-Zq*?xBDb#i8Ovu^mayH~9l1L~3?+$|ir_S)?Dc zNL#R!dqL#C(eSPDeuvRttQ3FN78v}BQZfRRVAWyI5L){_4Q`R;KQGuFN@-bO?6UF{ zV?fZM@w_Y_=k>W1nfMWR^sR(iJI(XQ7vxa?Y&uVJznJiaLg(u`j7Ow$uRkM3nfc`O z-+H-e{t{)Rn)5!?mTd4S0$KBs@rjW{V5I{Cm|I5(t70NyMgc5Io0u+eE>ks8|8P;M zcE$7@Rqz-B=RsF)8@y77lFT1rqe0ub)Y*3a#>wta|FVSvrlN0cr&($2-l*2X%SFz@ zQ-$T2M&el0SpAaAt@$8*f$KGc1tdOcrDe19FAZpZH+71bON7?PQR%v!{#&`;p9^3f zy^Lvr3~nqV6&aA5USeqDFu*UGAhg{8BtRQTD;p9Epg0R5Bf0S6XVJqzVco@A>gvPH zDeia`3Ky_L_rDU@f+%1s`g4r!Ck-j_Ru@bKnSxQ2}*->!$jgIt#(v2JC+jHILmZSl-;*_i57&`1Q{~-{5n{-zhb0?5+G*?CZ z1_kuJoFKj!ko{Vkz2h9XsAFlvwk+xTzypXSq@dQ8RrPO=9pj4+*Ad=Qk%D2xyg8tX zUsust8Qx1&EgagD8T(NdtTRqRDYUY276A#E9d~0x@)b-w0h+?pc8+RZibh_d71%DN zaZWGTQ{u#{Vx=MPD4m|MgO*>Ze%LhhKk-FB{;@rKTbD3)9Ge~&Zm!P_br$Uf?Cs{# z2>oePrOT%KR;f*sZILbT8`C%kxn5ethrg}4w|GM0&B0t(#_kv_JKwLT*IfJjmh}@S z0}T&P18>mCUr%G$G(k3U>86}#;FGG`h^W?|5Sw)72;mLe zA;g)|>|s$+C8D>d9C(gZ_!2AsX|RIA#=&#c*O*2Xumt9Tc8&ONwkOqeH#cKRcuYo% z^0rMUr4T(gXBrFA_Ls91rHPafYJ95>gH7*i-1pfUrUjBA zifb_^Nm_36(-fi9Ch8*Sauej>k6e zq|5UkNACDjexC8Hd)!glG|rZ!>p@6`Lb7x@sFAO`I6ZCj7V!pGD=7;22^ao40~)mQUBs}VkAOE=4(61wDgUlP^4 zs{i9ZoMUlE}%6^K7Pq@D_>NPZO zUay14M_4IUwsp^M9IxZ%dCV1oFb?D&kJ?gOSZ2ne-I(dL6eEdzo&0Id!ppwTzCo?I_8{BK|{sKfeB=n=s%2+)!e@jv@!vw7FZ3*dU^+G>@y-&M|0J zm5o#X%^Jd+p6yfS=}e-|;^A@trUZMNfxIL`Uyg)jvjK<(g&}*T3)mo1HRIVEg&J(+p)X{_LIlyJG#<-7b zPk%ob&&sU%Yd5$jgu0|yn5M=z>o%-*w)p2+J)@0C-&#wABJAl-vNzdvs)X(eUE~Y# zHz3*Ja!-`j5Hu_}YJ2(a`60_J!+rNi5-IC7Ohj0mx;DnTHV8k5`NvE5YDIb5hF30N0;-L7QNu_xVap0QabD58YH$S2mbmSb5EeP;gN?M)0+k{kqAdM zo-680k-d=O0~`ajSY(RGD6U+JTKMaCkj+)^>f3Hojr{9bsw7gTTWpFIr@tF5euntp zmvS8$IEo|3hPB7jzp_N=BBC- z7NPs;Ppe>?XP>J-H0)i-SIvT5Fn|eI9KYn?mlCWpul=Wq6VA%5B0IVxs1hPcEJ{}! zl}hl)S1QVDI7+JGDM?w?K98;q9PUd0HGG7uKrmkEo2%~2Ne zP!v`PMF7NVih4Mx*uJ2OPR|ypifaDrq5ADxY5V|h4jZC9GZpxPrC{D{q z-DmrU*@&U8+q41`$_$u?9T(bsHF}SBpByXg^%|IQHcW(ImM4Qk(#)**l{htXj)SmG zyq~uJJI-rFw@isHutQSf&-XSHj=m|&pu!0pn;RI>7UV%h5Y!- z;O@Oy;rSenvrE~MwLW>+(>KT2^`%)jzRSdH%>MJKAkDt_12heK_qs^c$3xpHUvZaO=h)ZTLyHC*e<)|~*(H_@!kIVU-P|lasiwp|BN=tw({VMfSG=X|~J>(sTuGDyEx7Xh+`~n9|AOh(Fv( zLYqE}Es&Fd;z;zBmKGbk{QLSRiMBPz%v|}HSf|8)(l+i#^CmQ(bkCv)3lMM7@yEg* zGYnz$kNMPIO|RSd7Z+r>glA&O6dfl*fxg7EgV-B921Ti;ioyO+)2~)h==ZJlXUptZ z_6_A#Idk{xGt&@7b`t9Z{l9%$tXyuU-3@GPkz0rH$o-{+5Q>vLLo@6u5IHLd`TT1Y5B&_1Y7TsEcY^0GY*fG`~jtl*-j1+pUA1EsWwLHtABGI*fuOlK)A zJ}wZ0%!QB8??oTRS9!R18KA@qw(6%G(1+c3_ebt6bCR*hgjoFD2GCuMyWDiC}#ioO1=Yb}^{K3n}A@fXk3C zZ#gR!UOl@dh&&?f=kT|uyW`F?8W!)U8VTS7JA~XE>D?eC84ubn|I?T%S0dr zr}&5wDP+}|l47VM|9)kxd$5oCyQ!C*gx<%Zi-?en=g?oNqy3`HWPkLh_LFS1WohmP zrL3@bpB`8FTVK$%bI&vedlw~q$VTR~J~SI*K>wR->g!Eui`^+_*3ZRLO*@Z7Rw*Gw zApYJtbowbQg6Lbrh&B-}x=6DSvFAZT^@vtM0nvF)sTW9ja&Pe(IHJA9#e%M9MnVdw z0!Q#4G8}@d@E=bj;_ZOY$4sWR5>li}_q32F1KJFn7!LjXov4Je21K=AcYP4fi8A_W zY-cI`NXnq@_5qocw)?8G1?wel?XQGQPQ4vtZWlMwgq}-M7CS@1I50YY@OH25ezjYS zmA!*>EF{xFIzr950Gh^(Nm=%e%{l12w(H*IS*I#y!JN8~EWHF3$R}$aC9B=KK`k(T zOo(BK7__@?jp_|YN2ifbySqkTs|OiA`c@e(`1UZahNyc^wpB7+V2TP;MB6E0c%0p~ z$Ja*uP8(@Kjacg#Tz@Bd<}Wb=w12ab()KiqfwfZSEmM;01GB>va#vO#r|7L?=b^z& zC`uGfvVw|Oc+KYd`aFZ!F}?_<_UQbrT>vR{xXyD%*p743aR7_4USK>&203=tJw3OZ zp)5N8a5drt_j}!dD(i-~6rAeX^N39sX?wptN9`ZrA4HS+9)s+M{VtSd9va78@Z4aCai=*=`mx)6TM!+ zJ^cTY=G336hEeGrMoIQ$MJab-`#O<`ZmLvjI_BT9vJ$2Rqvd9H{3%3FO-ES6l3h~v}07c$eV1<*5afm zNkKY6DbRwSwx`g54=GCU#$`d*+RB~K`YUD-|iItF|{m6M>zk4DHtiXT&Z#7v9R;*HOlM^&$yyW7I|-h_Cd<@8+-fIz6V@Pu2t5 z-xrcjpAyGb3k|~6N`9YCePo-#jZdGhvGTyv;Qtowr_MYI3)yxuhO5ZfqrueO6?E}r zyK7*1b|#qJd`GW8mMQ*OY5BzkcsI;91R{lYkLS!6Hv&FwI}lc=c@n-434 z<5nr@v`UC!>cGA$rQb3utt^>;ppPHWQ5dcWPnR&u3D-ig_H=39BK{wa*jL5Z+tVC9 zjb{IRMlYSLR{__|md@{Zl>KD=KXKp|`AT%*fs(y9`VGRkPa_KUn*l9)j^gsBqnn%) zdfG>xxfIG?-16866t5{w6d9~b%WaBV-w)qv8GOv|7mj3W7xGld>`%gGK4HGjCbX<2 zj+4mz_a*mAjVyx~F8W4>2ASER^KxeI^_Z@u0{m63AIwef9~BBuKo%-wZ}ccm9PiD} zcIqEfL)4JIFl$PZ(|Jm94aayDy+jaFh|!I99D$XfgYci|Jf9e7FN_$waJJ5ohJ}Df zQvM+ONPCrXbDv4Z8wNf*FQ(VIe^qLtlhIXgpJ{`ML}ZBF#iktk-V_3t13I(Mw5il2^!^8?=)`Lbn65D6ibwo@%gbV!+G|u2 zArHunHnuh##hYs3hUZ#8U2d~FpN`B^hGk1Wzyx%OJa@(d0D=xQDN`Y9?k6P)?HGOL z;0S-%8REnYzI`^sYF*?ZVj9)9lS~u?h%fSm`L3(ng;J@~` za|{nY?6^GSj%S~@;h{v?}9JT3`tyl-H_y7S_{+y z2*m_)sOO~9!aJDpPjUuS6TZV5c}y$&ItYkRHWELASzaP7B*m1OzEk>q!yqm52vksH zm(f|K$q1-ezyAa<-~<}!7IkNeJCA18sjdEa%n9#FW+O08W;4ob4KJ3sjl6#`K>;Gf z<8PSg-}h*B@EXJ>Br4j_5F?%AS;R%XME504@K|4AMZB7{GyqCQyZkq&(^|GPgiyow z(e8`gwM6sDsHYi4si0=NQJKxs^`IDg|9#GmO7ES+kaf}*Z#zF}rsh;oq=S$M7L8Sw z)@FRjcSz=BTgWdFq|VA-L@D5a#9UR5>zn&`ibJP1e}rA4w6C-?h~$?;hy2yj+H86r zWPI1mm8yasKlsIw7k=kE2iV?%UHQCDQ{*{q-CGnWeZHEVHh3Ktb*mUuvKm7%0SL^# zX9ic9_oc>V{G=yH8y$=Dqrot!NpfuYg{CaFi(K3<8<3m(b`{Ul?&qftVd7^&Dc?&$ z5jw%%ji{UEATW!Mn*1z?E@At>{%Xx&iqHiyA)>p^;x4Yw-j!mlcL*C^iLy&I;KEVA zgxHNp(98&xhw5N-6OK&w{V$~$MMt`19ezRivOlIht{-LW<1}Z*4iaCIJ@1!+_qYvQ z`IU#KUEwsOx9(VD7=Nrp-@mf@GC7)w(l`ssb1V4xkEeZxxW1Eaq6Xtz{WIVhX*@(d zjhX#sJ1{T7dT10{Bo=kB0SgHGvkz|Ur=j>?FXJ;ws=+N8lYtNU zN{8t~nA~o|Si>~swEZ_nb6COm#h67e8=|P(!H`L%|0+K}-VVpvzHMm{Mcts`%;CaV zTXn{Zd)rFio=t1!o2hRbv;B=3E!aTTHjcOY4DA4IKh0IbJc1`l}tM) z`qj{3GrX4L){YgUC^P4OkFwU(veQ%nuyDwjl6jX;gd>{o^Yd9cu6Ggax{VcfbTdD< zkZ6rliRwsE0x)@8qbJU;4>S1d%GwXwd~P%Ui?(yiKPIHfO)1Y!_oIfR(X&PMHzhzx zBv3fsRmpcD$phpEleBPV0A^|J`^ozWZ~`=3X^!7U+4YHDAFhg0u6 zwRL=dGT8+HqNJ3=m`v*K8K-Mfed!5iHG?jme2`4WP+~gk>9EvLLNj44n`%4wx{ORs z5v7_P551(r?BX)5{Iw>ZRr=T;1xbvtSV_diocP08aOB#_nnGeL8s~J7aq`Vs zd6|hcj)rp1#fHn!OL37uyH76XN07CJGhUU6x>SW>DvXb?xwG)gqi#!%K@>?Th{)@o zk>E4Bm1O>C+gGAgItn0f2X*JeuSqa7tK~9XTAz4){s>q|Qb75&?&MO?)O!$NJ2(BcUO+(ETa0vp2mw2Gk}_;Z?9SI^x~BJj)!aiud#CAw>#`;1twWt3vj zq}YC#emWeuBGIP$BhQ^?B^~n&RULLlmv(TS7V(B333~A44-d`;+0?WjL(GloAhuUx zQK@mMB5Nu6-9gW-vpF+er}?W_J?}<4FMR~7V8f#9Pduk@kR}SAi-;Em=aB|D^ClN~BG`*gLiB7Kd zuH`dd_rrUBu%LxlRQeC{#wcgw(@O3ol4n{Bk7?Qu%jwDZ3Rm!?n@O$t&<~<>=bW}lZD&-Z9vIWfzi%wF4Ba_%(3V-R_OO%ih zVDkN0v>&DwWw3qtSO*`7?;K!|L|2xj7MqjPHw-SP@I2_EsQ7i?hvcCO=bh4aV~G%; z$ozrRjbuNHPjFlBf4I%ROEKS|u$NdPbzFww@Y%szGUdDlp}vF^z=&Qu8S~ z%Ul20*6Q=plax6D0YHrSkg28Q^OC*G$bie6QCzO|bi%Hy+)cO+&CYHt!I9?eXvBR* z(}t^BX){$!feZWzu?T#zY@`DDUBStUI+yGD-u4skb;;-V)n=#9uVcaD!!$yW_30rR zO2B{Fo)O&O-{Q|_h2yOtUQQ2fi@fd>8uGF1c+_RFhow}@?YQNy4%w;rzc0S!R+3~n z-PE4jd6(aBNI^!9VAn7z?^rT?QmgV#$Lcd`oS6FP21kw&@ReW{g=(DefY&$Y>%aD+ z&PyM27G}L)5b1M4Z(hBpl*Hw757Q^nwX*UPt=BDfdNVau%3+ZGBw4!>T7Xge9}P*dUqSIIhI|;Unz0?Bpq)MS3M6qboupn`O-31 zGAkNKBxmF_T;|i)zk@dICBFa|fK-87c_iO7Se9}-Jdfj_eJUUC>`Qo&QT)i`Lw&^? z3ou7cR@Ghn?}yD4IHY4OB#v9ier$&}iOaNzj#%Q22-AtXa~3o!uVIr-4qIJT+2Czh zu9HWX|1ONefdj@Cm{9U_x4!sYXK9=y7R%}A&nYq`f{!>o?#9mtjmg9Xq$I{ujCPZE zn}gc#$1CSnGa*5x&hFb(sgVz2t2^lO2M)8N}zlBIZiNI?4 zbBR|YpX^dmwi4FY6)Q`cves%U#Cq%d5^h0VA=n&}9m&Xs9g+eOK+Dr7WxyjC|HN~2 zpW3W((E4?^_Gd>6Hi;M{iF%cv$ISBPRJ`}F!?++ zEc8jC7a4r|!)mzu?y&~ztnnM)5>Kh(-Ufk%6{(D&KAR`Eyh7B`{hOK!NEAU7Ri&$c zU5L^g4*yVOB(xKsjK(On&FcBg?ICS~oW8NR{^ZhYww}*1Zv1I&?NjOuA)}i0a}`w0 z=O%~3rV$E`U;h1f+qEYOuhbd|2BqzY5P>mm5|i65`cvWQ++C57D^9+jA`E&#LEP>f z1#DNK*F>Y+*jkEwyCoqv@!#CK83E!+%E3^Em@Fm;x@rE#Rq!ErWSK}dx&Ck|6YS?h z{1CBfhtKm|kNGpUBKvv#yqw2uMvI0$0$V9Xq2Nq+xwKZOpbKnjmUs}>_9Br%l0)zpV({DPzt zSQytyY{6p$Z;I`#1V`Lel`$=`FsO$#zkhz}ne$xE#B%4-CNIvvchN;>2*`@zeEX1y zWR#om#$sS7vDc8g4xi~PK(taVYwxC&#L`R;n%}u6?FY+$L4yQQQ5GDUw47T`yM~<} znSwg*DoDKD?RC7zCi}ZtSC z&D2dvd1mrs(xHEQM+_TdT|>gXT-tw{L*=>>a%t8SgkJ!UzVGCQ)a_`0^T=$N-Y>zw zC*=mR93C=HwlIT|L*J2wye`kVZE#TN`+cIZ7;th4&^V4dY~+VL6dz@v`U$zrpDgn4vEI6jDSBpvY#Iv|qRFFxktv)?}7 zdAJ2SydvrcLY_|>vO_@E$VA@4z}QEn0mO7@Vf_FM5q^&nnK(3#o(hTbm@uz~E82=m z4X9eq;+@xDc&Z{2N=6@h<;h)YOECo9^&E#J``4S6H=1?7U zZ1>T4e@Rs~kLIgdW+_#HmEvBbanZrFO?pz!uM~_&OIzulbk96r8oho^OV2s`@62Al zf_-uB9Nn4lPkT~FNeQ;*Z@?7c_%^^OEws10kimeL&>ukDWI8q|EAvIm)lyb2m21H| zqspw>Vc6UKH89A%*_)c~8#a4ueu8f-bG(&sGXe4f5aRq4q(wql&X=cMm`&C~4c|cZ z6%#lVqy>~*07{$@#%lp37J!1y^|9S5QWDtsKx$EV1jEQ=#Ayy}=K}iJVb-`*TVqZd zh=~|AoDP@740-{*44V=O+stj=r`zTfbK~ZvNRd=XCM>%%t0|y2n>OTM{03pL)Y-=T zLVDM@S$ZZ03slESHL;<5X%MLaJp$q_z8GW^;=l1o-kJPmf04#;($DM%@gbs7 za1q4T(pa5mwAO-_-GV7E%6k!fMY(vH$0v1zqbUQT?V7BE5C z;DEExY^-EFaZbJ^gHf+`p`&{I6soRjYceYbe;aRP#X#X9a?^#5W_ny&yTsPgbClfS z<2aq(b7Q^jY*;G2)YmmUnfMvB_!!GO*|bcuGP{fEf)N3E3uo93vS&Q%*t6+sM$;>mGUhqJup@Hj21C~5+j2|f zE3GM5HmBP(dYLMAbaz`O6z2k zO`V^#t!hq8pXbQW$WJ2`$m>;bZ8*|eU~*T*3K!xhihAwfO}|Gr@(s=W2^suuDdwf6 z$?zou(q8=y19jK-o%Z+aIn2h;r?vMrXcha;ixc+O<2UHw2#Al&~%kGITg0`3LZKH1OMS@ShbuDBh{Uq*il>aaP*%?Ut<21 ln8f{m`~oKy2?}_}dc6;|esJQs|M=$zkQ9{@DHqcB|38(y`kVj& literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..742a45f8f4ad19cc990cd79404ef7302b6e1aaf1 GIT binary patch literal 4779 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 FV1g~kHgNy| literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0a305a925a07f2d5e4e39ad541134ff5b34eded0 GIT binary patch literal 4260 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..153597490f29531586e36743e52fd0679bfd7111 GIT binary patch literal 4626 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e297b0848b71f3b76e796f58a8268fa9d8675efd GIT binary patch literal 21377 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..a9254b9b9cbe6231ae456aaeef350718b6fe10ca GIT binary patch literal 23413 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%0AZN54rz-+SI# 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

bNV#Bc)CDySY&hTQWr^YI9HCOL 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Ð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%0AVOBmZyFiUZLe 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%0A+SaPx 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 hn#`Pv**szS8^?yyChOrkSuJp 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

a@F=ux4*Er?)|QHBZmS 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

6+P%3p=x2&+ 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%0AML&tDv zo$J3cCjE z8$kL3l&IMrusK{2MRz>Ee}4bV_RQ^n%WFUW=to$Y18dm;M@J6ujo-R-IQy6%`;9vn zm);^H0tYe~P+H%qbb!Lh#^g1rq#U4B&iDXUGNR-G$|E4A^M~i#MvbQCrVZ5o6kJT# zbo%vzPF;Niq<%)|x5T;8T{}p+0%K~aq77A^pS1Ot?}zKpK{Zm7F!eRj?I5flIlR2G zv~}(IZ~Ce0*bV3QwVz1a{2vv=KS}%VtlfReFU@xLUfrF-)7A$o5>KkM-=tn=ti!!; z_|@dO64s?Y&NnwYbrDBHI%{LZi6B#sQQ`sqnx{lwO3(-{K;E1wJS)U?*~7Y7D>w{U2>zq91i*45~_#{&0iM zPVIZ-o|#iGx$H(g{Kn%EjOEsM=HUy=>m4@w)OLTgrYHZxfYjW9pCCLtRg23=Nf9<<2E2~lt&MR@_JE5F;Y!I%dz9%%!E ziC?{GP8kcVkpu$S7@DlBY(tU08}mM(o&*yN6!Vi9q2(I@6MjDNE~s>oQ^II_nJuqw ze0+P~88?AVM>t`jK6^SJGr#y_U6^@6F@v)uAESvbw%Ski3}az+(m~!MDq&?l%p1A6 zf`(%vfyq*7fz>b_OrKd6-6!F31?xI(r(=TIs6ehK&L-cQ@sZdTtlOWOotb~$+|=ps zc-2j3KY?k>0M7XlK*57w z35OcU7kh)SMma$4znj=XsUv!baP>B{;d9)%U&lshx}q=aO{1D3#VqP*H!LF3Y%_Pny_;R6O@Q%aLiXA`S6 zy;AKeP!q=vbN#(pmPDKkVPyh(xv?^p?`9>a?RS1ci^Q0XNC7My`hVDa6FASVs!sf# z`+jRxb#-^rov?*nGDZYt2L(ig0E(cJxFa}$0J4a(B?Q`L4-o~&LCEOeaRDWu>>+|o z1V@{_3jUCgV+K9 z?Xiv80W9{N7*DF3t8$_fKe;f)yqNVL6_N`}Bqr z+~!R@Os{Q*Y2{)E!E5&F8LJq7J5NuBtz-Yl22Z^RYKaF8`g(|vb%^EeR?`mT6_T=I zkbz~=4w{PNTJ;eb1o3D?$`wJmYneMY6p*M*Td?V@)MLLmhphfBd=4ixM4Lb$lqDI$ z+S=Ne#=QHx>|H;(d zhNq4$?I?xXG|GVh-uGjUYqrRk7&$671;bdzIFpAAc{80-ua1@isF#^I2{TbMAb^Ys z+=PXN;S+ZE&;HF?SoW2yl8p0Cwe%ZVt}6%NvfLT={P@9iZ$<1VHIvRXTu< zB$rK@iE%8n1VF7-CRu`Ko%;`%G>7ub~2OnBvl;XOQXmA>|%fSEBk}a zUB~5y+`cPtl0mhOn9O?&ej)<>o+T_m8BO7>lmi>gew$f``Dtp79e|OiiLm}B7|c#> z;{_}>>+#bR-eUyhFWVpE30802ZeB!c{`lv=04w zW&}u3e+vKnaGSPc3_zWvtCX@C`8+*9p8qGxYXjRg5rEq>yl?U^UzLCP^kioIw6vT~ zg6RbmEV?lMet@{47rB&^y4)0TeriRinG)K+dR9az=)?DB-lI!;g4tngu!Gr?EdbCS+woGboi$#S1h1Q_va*Iv#7qSV(G}uQ#kgV<+2af)nUX z8BM-3!O0undb$#~Mk+ZZ)HD{{)9fQAJERQ}5-nexD1fQWeWt0YH@*;Ot0w6KP1~MG zx}&(jKu-sAvWB^n_c@V8brYDFP2oTtVIvh$z}y(5dEcLEeOU@R5I=`3at$mStH?QT zplNb{4|+|U{3SY4+&n351cEv9Z#r08)1zXy-DD zYNpKr7Z*DZ-m`S}Z@v2JNBpdBGTNBH(*gnWe?NKX)>17Pm2oyR zCipJS(M!YfS?hjU>*BHqEtN`)f|p9(U&OBm5slX6!gJ>MQw2AmQr)CNDko>p%5-n(nWD(RT8G`wdBLB1!L>zy6tFXZNf61Ag~$ zwI=T`Hwn>qbt*Y`{pSXX_b^lY@e{fHMw;8XHiXtoly~6n`d+)WXXt zBIYC=7P-1gnzV`uR(vE^=I)PN`tkeTiG+Xxz=2YLDhKA+UBes+W9?t9vWQ}E0$B?9%Hyb!%#wKq8dhD4Wz z!Ay`DS9za%OAP%WoZrOtco77aVy_5YqH_CK`82S1OUYB(-O2!()P zz-P?=iZ0jprkReq7)prDGQGA`r35I=w5T%0Go3`yXBqYP*KX5}D`aVhYPx4klfuNy zd>ID%td|5CYOFS|MB@pd7y|meX`?U!GqEa$3vkcf{j=Wus;eLVTtzR|G~*ToI4vN+ zu`8asHtyd2)wdiu_B(4wZk00asa_C3Q?*gX1gdM%HEW`3ss#af+!ACBKF$A`JPBs4 z1AS4Puz|8`l4YiJ5Paf*r~PMSLT=wN6|t1N6g|yakZK00`&S#F{{Hfp0qHe4<(o$j z{p+!f@|TbP#?SnT{yweY-)UndsmcGFKK4UDz0}|Rs$u~5+Nf3}n`9=9)YR%w>ZzpK zt6Ur?hr*YtZh!W^CFwL2O-+G%y{WRGWTWha+q52_Nl2VH`V+0TA9}cHxRFo^5%zuU zO+$41V4HAYyg?R+iB8-_v2wK;l6BTSJ>1Tf?V4$8A;rTftS1JiX&1@QGKPxb_ursO`gg4q{Zc+h{r=zqz478>Y>vFx&icBkIP&)eRR6aW z$}^|y5^JJqd{~?8>Qq^?Mc^@O6q6X;2KGu02u+iEz%flA_P1j0j@W<<{fY@nx4KDWHhs$nC20UL-=~p5LOq*;n4-uxt~XrDn=u* z;-7COnJkJ-|IY9?@=Lvi8-tlJWzo|Hml3D5CBAdID_IPdq0`BS(QLpDd7}btfUbA>qJE zW}+k(2d=y6FT~$R@9}<^VGUI?8gM;A!OAlh{Lmxu*KlBe0W{##0w8w(Q0A;Mu2J+l zo#hS;p8PBCzt=fzE+6tgHN#FHcRhI1@!4qf$3R?BN32BpVIw|`U6n2K7!3) zeh5Q-ROY2vsRN!g!8RT$AZXa*P{*{D3NR~U(hiK#Qr%W2)+}0eB<){K{so9g z5=3Ph1`r6oJ5(B$1Bx8|-K2+fA{i6?y4at>0_=9m%}g?+U+07ck_d|hF|Hnbz3NYa_?#D2Kq-%~xW9&8jV zjj}^BPtjwgqN6`Y0sxZ9F=hSE;1SEk@*}qKU5&yq%c?`4EUW4D3Lw|kL~4(O!W-E} zYZ?!+x0Q`>q!QIs){;g`HUgsQKI*^*KMjM(K1vJf+&XOQXU)zk*=^PGo{hFUYyp7w z*rvx=EZihVHiz^CO;f1NV&o=xew%PcJC5e>UH^Ha!$$^l8px)s_>irOwHQ9cgc9KL zN{PF(Yw87|3p1NS5N-J6jrq)6WWEt{4NppQ&rP}`?Kx7#G}YvV;=mgQTCCNQu+73x z-Liqr(e5+SwAszY#Uk0J7#sA8-Xmd7?zWFlVyBjZka`eM=|wieCgWF-Gx;)?j+0F* zHgWco6EIoG>J-doGqy3AeH?rHe&3wS1AM0%*BrEZOMd@HJ+u%@7elw$Gs9B5{<{W9 zYwL?5DWnZGRgj4hEvSJ|8tL=lr*zSzjgkE0#6;B4HZl_qh-Eh@g?rykRTRy& z!%ak>P_cBH>rla_0s#iHlo>3&V3{wz=9Pc`fP2}Pz$OpF_Bd4#K*|B|PcOQqVuQ<8 zkDdHrwX$a999&zDvr@ih9Bk8HnCYd(9RbkGMZi?cc1gSc{CC-M%J-+JLtW(*FFNvmnXRwPj<2lz;c9R2!qxwN(HEGH4{e+O z)1moSlmFqzp7>LX-7|iz=obHFvpOlC)e;;ir0L_4|4Wg4A0Y+TWo^poK>^N#(H*OM z*3942c9q$|uy@I2ukcmmMJW_}KsqK&k9AEuelu^5_x_8gecNn(-HZe!G#3n#V$ zE1zP4#_!*jXKb=?{s>T88@@nn66gR~EzwZVu71|_N)F?4jNN{5W``|2_2pMRaQC*| zkL`r~?8n~kpV{W|zno1=6R-!&*UW0a;q|G=#I&z0lM-V?PMpUl8igbrj6z%jRSP zTfG0R&MR1rVw9%9tkXOayCX10MMkcoGU^MR6yK3uz-YX7(>n0Cjz0R_n~m%L4mIhr zv0AVH^!M){bay>lYWvQcR43&qw$eR}rjhCzyF>EX1EVB%&BiFdkD6o|-DrlsA4Oqe zVgiXQ4X2C?9E=_ZBTqm-E%r_$?pbr5B1nz2j2=}Rz8P66Ov?=cy~%J_fAN{a{uyt& z?4u9+ZfiisSjz^uU2*_b=;NRK;=h)|rOQ@VRzF#d)+Mkchkue$Ce+iZzm?NI}9sdp=02{f1KONKBQ|R@vm^EwZeKvND~a{Q=nAl z^0DZsuf?hhg3s1g$H!JSert8%>|b8{jbFIltRrpld%OFi116y5f~zhlmaqBz&n)-l z!D4HF<~lrc{3aZNe^kK$+~VwQ@>ZT-cnKO{ZX< zV#f)%?WG!-WhRxhG}T~rV^eHWUV8s-Jy1ah5mlr{R!k_dCa>W)cq^G}0f6?{j)mI+ zy(HXs&%@R$jyILnL{HG5uv8^CRkveTB!*x)O;Vtd#SH;1>~qb(0Tt@br~c=-%^9)g zEZ=N+M~a9BBYtO62gsr+=cz~*a!CZien)tc0wT^GF#2;a7XZM<2&_;D&`lmANq~EA zX4*gt7KpBAQ%kLafucr%!> zb4aIfVdCYYuTt=cMUhf@kSR8W49@@o1tZCb1GfsBw4|C$W$f0s)Js%eCwy8>koTsY zrNQvW7h(6C4}RpK4|Q%=ZIN@kZa8_y5AgMO{M2F^nW@g|Js1_+DCUDuAoY|5yHUU(mHPa(fS($vYSqY!ALr z879#C34_1Xskr~=>bBf{6MP{c09b18R}%rnys-$GtP@tH@$xP0>eT`O?Xi6?H+=3l z&l!mlZvvr%UbG#(a_aW+B`U{RSv0vO3<3IK18$R@?hxgg8=k^vlyQgd{PoFu_ z&M?neu7Nep)6bJG0E-eE8Vv<|X?c_3+D&9K3M7ZT?TM7s)%{`M~bN z=E5_Ud;4GA?eTk$W+&tVF#~R=qAI}!tfRcAKqGBT<7sGKMwp5C6Bx<=YRNU=ntzCV z05IaAg<7MsM#N2$0?H`RYf{ae7#k?t%=-@nAOcCPB#6PVt0!DC5{nXq+~1>AmIjR8 zf3*Wwfw5o(1Ab7#Vwc}&IN_w2dh+iZOYWa<6*H?CK7-EEw*BPBsM6_LbXWu~ampt!5$T&{bGYk(#EXl@QVLRo$NMKnb+<{HGL$Mv8M;W& zcw{zV!zrB#^~Z5OnI3LC!xjK&54KIC01q56%CMq)Q?Dpxa#Lws!7WW*(W^VGAe#$> zX4-CG&g707>!%d*dCjBx)3`GW7D!Pow7CF9yuy4l{q zYf5HdY0*Qk3x-%p4H{8E$63`_kVrKM#`}SbPSJ;r_08iY7FVu);3d~v%NyLuG}||P z;<0CTVfegG559Y2bV8m&p&Xg*dFHy^zcnZDct~yLS6>x$spNfGu41|V+vS6CuoLk z<52iD+h&@3vouK7$DmafnK)5@2Wow-0U*?CCV9C^_b;SGp-{?%*$hq`K6=B~k4;{5 z=(qms?|kXP`%bm1WZV3oMz?>~IdRuBesN*A=dz;5@3C1*%|A>5?4-Iv6VX>zmE9MO zIjF&ZipT>X3p%=niIIDwfi1^s;5|0781n)~3{Luq>?z2pSSDq_Mf=+Kn*a#r-z)O< z#MPg~6?=9SHMn%^B*w`ATbb@7k#!lFAR}HYkYy+UOFt(_Ee$)Tu>LHZylW-zkkEaH zox^6sryls)-3Hq>jm1R*maCttCZm6qwYA(@wdl@F{?VB68A1RA<2@^Jags;9TdB2> z>~Bu)O*Yx)2>+a)bIu2L z_|psr52#Zto9i`kVW+$FW3yt!lmZj&WFZ(fnT;NWlgf~L-r7dzrdv3tkffidTJBCF zZ2>~m7h6yneI*597MG(mavrl|{39WpA*N~iKo()rEkeIgsK_^Y-|!i3lq+Isd2rv| z{rzwG&i-vb_qMB_&~N1cxBos=CvW@*Prv5)%J@|qM{hd;voV*+6GF*M6xgdA_k~LG zP>r2sBk6`u2v7INC<(yPjSCL~2gU$-aq1bvy_`*5PQ@BhwEt55>_Xio67L>wz{=6% z|NqGud-3FdKIc91e!@29@AQI^@BD(C{D18Hix#?jFD-iPZkyFAqV^(DO@3t+YiK8s z9UD!Gac&PlBN!=2RB=A_hI~E7X+1s-E%H4Ii&X^nTQ;5MPU-gv5%r!n{`Iwt*CJJO z&_Zg0>xK+*NPH8 zs&{MheksgP=iT3-fzpu!K_kOn>Xjj^VYUY1N+*StTV#(-1;2TG?C45s0N4Tm?Xg{t z^S)?Th~drSadn%C|KiLrZbO4$oYw7TD=Zx?(aVWUM2RcbocWCb6S#lr{g|VEao-Rd zN7QJ;VQ#Z`8RXUsuz`L@>G6&*4499s%QvN%b^lLeaTu~1l|G>AF8h^$C74(h`R^}S zF4NfOrl*Vq4DSb-$WG=Xsv$qs-OM@KG8!EP^{)K+>p!uZ@Cw29DK$b!2W5A5+pg<+|s(8z8^&Z*CMBPOmn&oBgYi& zg^3BY&7)fCN>=gdY(?x^=J#40?t1Ov(aDQ`^$*WpY~=v#b}|8kKK-*le%2q1ruh2F z%CQZcj1DRVrq()6=nGR=n>s)cyX!T#Ob=G~t0MrGX$0am*^%J&7C1 zP{l!O{*~2jAxFH$XcJbC9QpJKF?qr2mCyRHnOL^X|LJP}wdVi23wkSu&wkdhyZp*- z7w89u-+9(4HOI0>+42+Q zv&Yvr$20lhU4Pf#lr*{aXaRusVB6XVaOqAz|xQ|ub#;c*j7WdL>&bjuNm#Y1Zl6*5X8${lAljsg-_TnAcUG|>*PoHK5nK1bOC zh^)aIApJTTlf!D6yR^8NKTWqykp^B)L8D)5s9o$&g9#9upDWwM449|yr#k;eSpYeY zt}*kbbV4L?IHox@DPD4j#06hFc69T$V{32U{OC(RZ_2xaxTCYRuYSmKzdGYNi-V;H zmpGC$mkJyJR%xm&8cPVrLg8eZYV)0ayy7WDKhBeacy^8}IBL&8eQM>_ms(NJSj4jN z_#Z-Cyt;gFFvdpUqCuHrlYrK?a_RW4q7Rh@T{VPK)62)RRa{so&N*Z8tXJ(hRy?R8zD$FnT?o0S(ikGJHGrNX zS^w(bM_|B*G zq4^6Eg9nV5|DeyhjrH?e#PX!etE1pWOoR}d1B_>z{&*7)?}-}zFnT>0M*6>aj|fh| zIU_B^I3gh~lAy87YNGV#jhV2KDvl1=5a<)*%)gVuAA=rJ7l)P&z~#Mq;^f+2cDj46 z(qE$eEOsbW%{HsuYVm2ndQZcybp7Y0thNg<(@->?5{~-sd?f@eZUq5p;_FGuL=qWj zV*tYwUIzvoYe>&lO|eg%jloj3&AMO#2_S_Hi5m=&g3e&jQB%n@m>7DR0*gd)S*jzm z4TXt001Sr zT|LHDPaONRndrP=;~f`W7j~DH=E_bJ?O!$j!yE7N?1k>qC7nLI%UG;S#8xOP4!H)D zdh_+oCFen#Po!YM`GqvHV7nH&H)BG1L==}v-B_atB z#B7;E(hiC!Mlgy|bUp{}m*CD1043vUq=-QGF1kyPSH3GQv1U6S``&QV&4BBln2aaN z?UJhryV`Skbf=o@0`|U0B`@W^g&V zb(`Wd?a=}N?LmwH`Fk&v9%0D7GLkD*po?>YM1qZ5GPI+@=Qx8OIEUujWz7>YH%n;x zkz06h;mu{_LIgHY3aHhNifBe?oxdT{u`xmsb;yF7Gz7P4VNJ$#R#e^De@o3WBN_JK zDU9xC7)N04n|G=v$m{WWWG+Z^(H(H%wShH*KOkSvLj%pQF-Nwk21bli3n0yNAhf`g z5-#SPJ4pZH&5a01fne!_;IE;y6GN#lht-oOzRA12cWz$&{M&Z2W4Fsx{`IRLegB@= z^&Ba8-#cRyAv4#x({maMwbA8s9hDbA7GFr{BDyjYF%om>05&AXpR}5lO_ljhM9P9L zG20cRuF<#O2UrS13F0pT-sp%W_o|sGfk`TKs|Ssx^2SD>si@u&UWE8K-GxXm0Q0xP zrywYIrg6D0IzzEkOb^XyTgoFD1w__>YU#BY5Qa ziT^QOJnMx=-v0EjunVp#+NuBPT89p3+W*_GzIT6c<2|0cG&u7WgMM+BNwp!D8x;oU zn0|8lFPtRMK7R=HJun4}9Wy^kzQKe#PaW`6hjf5+8gGfxz-#ftbOP>6W3*gE5T3rx z?F2WC*VSu~uQQT8Rgl>|T2nm>g2!&{q!TAEvtCyj-=f3}j#3qzv@Vj;U?eq6-C7(_ zBJ2=F0BKr{HXs17E;3MrYv&S>ToMs*Wkx&0Uavcl|Nf+V^}l!zhb3&YMhb=9m-%G# zuLbYi*3oMdqS@z`voJ#E*69-RGBfJ3!F<~r4qk+veonw(P5JAQ>^gNN64Mwa0ngy7l<9R(Z zGQT+Ik_I9-SIoKV)A$yae1Ep3b9A{8BQ}1ICc~z*xO4h$Q?Q{fEwY2o$3P-9y z)PY1O^|LBw(%l^Hywdxjmiye0A)I4%a0Z!l2~u#9DVdwTrT2`HBJg0yWwpJ6$bRCu z$>!vMpzkFQF#VdiQql!1x8Q^_h?5+3DF---y+L`#uEFw)i}igkmf7VR1aLr0dwdIW z0C`0x@A$c|jz7#7MmAu<@5Biy(>Si5uI)Hu^g$HdpWoV(Zp_S|nqZL!C ze%GKZx6~?iCa&1zth}xdA)Ew~Wq#q0$Q%O!ezE+U^ zJ?9%>Ipt6h>VfW*C`(Qlu0IDf8X%*Cvl{Lu&!FwqIq-;WC7vIES ztb4ey>>$I}EEY%b5=uAZ5iF!Xq1zFNfi$=@7PF?K1zIILjrI7#_p-A4NPYio!$?4O zz+64PTzyfRU4CXZ(BA$n4M{$+SEZrNdb&7 z3V=0jl2Ds)r!ize49Td|f7Wylh()0{-vK`n$u{RmXmxX#2=mPRQm=yS`A%ruR7)6% zHnu3fa*bp}KO@Bow`mA0GB&c5fB7|KWvZ*$WWr9au77@Yv-hEZoBd9z9EGVS!uYy~37Y2<#H!s(Om??3g0UfO0$%q(0noy^XFwYi9xejx9!I~OVK8GSg#pT znP;|Qk_E6>EO+_fNtax8@BP{{V!HvX+&mk5Uwq?AQB6L_pjXK>8dd13;@Z;6%(*M< zKBSEky%f*MRWPb^9oYg%LO>w8f=@(OI0hKF$C08XKffK8&NqA8I>E@9gKG`_J%Kn z@xDub_0R5iRx1a%J;y;U=qdl`7d|BkJeRB=Idp4BngXf|r6N9cLW44A=VTU}`hgo!Dvt(>@FeOA2meouea+ipGhpv^Ys@AOXoH9JN& z|HsCAUbuJhj;|_)%ADZ> zIJbUAWe+if(Hmz{52OefVUZUM(tX}F3F%OQ)-l$XgL_XF*IIP^bFDH$D%oH5yNiz! zeBoi+w3$L?nGG=8_*;pXxqlJk34N5OmNdv-&4lbtOb3L((P<+=IK#YFZ(SQ4KO;szr zc}lcEW@38g(&WLKws43*grLpK>$WH#qBeOY5p6+tk3@?dqKER623`jRAkhP2K=xg9 z7RzKT=g%W<8TXd=F-Ru6{@*L&Mr?{Q9SMzYP7B(kP1AdY_7Y}2P{X_tn@px3THbx; zhizE{JJt2y=xycTU+jBUhw}$ds!dr~Fhh%WMYm+}lx0=(X$aFKr?DpV!OZ8SKoAf{ z4%TR?^?Rm?s;lYum`kh>o~00JzMZcGVJc`}5;Sy5|H@E+JyQpX6iIO1530MaV~qhT zH9gjD)lMK@0Lax#gEK%_LFT3Q6JaN)rTnM^`*oBz|;{0mF_|Ih;$hU4WIFZR!PB_GU|*QY0>lb9s_qp2MPSvOSOpjbtf zHTk2gBlRjWEI^i7J5rOsoV+bvbJG2AUaHMJAU*Ae{C-~#61KW`!*Htspcb^8XR_|R z31S1ldV-HnJEA%79^}PH1{E6nDj3l5U?v) zQYd2~&L4+{=oVrW6ls(p>ybc>2z;nPgvM)>0tQWuA7+XsWX)N%HA*?e zghd+H7Nj6R=$Jf2dy!m66*f6qU;o#Nb^c)Wea|{>n*W_y%)2?+`m}m-A^Jas9jS4~ zsT{0mt4{BHZip1X()i|x#&2Vqs2LzjbhZxos~5;bnzKbpMkJRZ-c%ey9OP=8y#^PT@_Wh{Pcwz)o4ybB#VqyGoAxs|>&&h;O{bk)0@6Sj%|e6C|c z_2wg{V^}$Q=+m23_jzmo1-1qodeA46ZiN(>#PEdJdJ3hANJ%F;CH5` z;N?iDfQ(`no-#1coW|jvx=rF@C)DT|}E&b5f z-_>*`iAJ+@G;mjnP8Zpb?|Q<f)#nr#6Z1-}eNEUiK;FS0zSD?6Ok{AhNKB^h z(A3z+n|N^X$J)=<(@}=mh9*oZSfkM%jp_+2IX4@mZtwG5Er>#WB^vMw9;} zW|Nv{`C=AZMLfN?k99!`XF$rpQS?zmF6NZ^!Z4=rCa6afv&Dge z!em`ZqN>yc+c^=|nXvdaD6Vg*Cn(nyxLUiJGON8V7DZ4ptVRJ>}HBT;KZ)?>_T$7I47U?f>*ik5u#j+t)pMX?b#=m+cvz`SNamwltZYlosM>)OwPEApuFf z4wc$)qYiY}ChlPNe#h`Z>VwjqNSZI7v;)b0haqyh${%6sRK20vDr4u0Lqxmda>^GydXv%;a!s^JISQw!I!vH2Q~l4LQ%!AC}CEPvFOhFyN72yW8dQ0Z@%o~5B-kT z6X14$08&4W?|AZwRn|Rl;>7CJooWh7J3NzTvs6Zn@){@+>I_Xf0Mj5qS4#raeJ#`; z!i^7wy3idcLDFoiV=Jrg9`W7_PrT#l*J-E!w(&pBw0|aE`hjzIZG2<*r3<}1zsh^F zh0*MU^w6xhv&^qV=;PG$rS~EKpdiU2C%SgWALjvG6eKG*_Z$P8pF)F~<~n9T89}0O z-axhkMHV~%r-rF?nBbEMkP)L{3qTSrzX$D;#1c9faP?H3t;dq^U2{%_-6t7m4YI@V za{q@UsUT)HWSAH{7`!?ce`NEceO*kmiM!(@M!N8NbF{g#$^vw-(38n?{U@$}d3>Mk z=sNE-^k4hx4cBv+d}dl|l8lbym9>pL4VCsxP>dOb(oguIA(lDpZ_N?_cLSR`*tq-` z1q7pI!ZPsBp1f95p}*$F{d+f8sf3|DS^%IucEHiyeTQ3TSbb$Y9a)n*AVyoxM9WR< z!Ryn~&B{~sNW@K;5)+qxi}VYc|DLb_z%>lqyqMM7XD8Z_Mg&?aZ$xi~d?XGBukX)M z34`q;s7`bHhA_yM&yIF zdk$&^j-FgNpAeF9T>qVD3D4$BgIGuhV0Mz_;1X4^a_bu+bm62*wJBnE%$AoHe`0C6 z{Ogxo^^o&gPk?Xnkos|u4f^=X3%{``I^yuG~lQD==plbX}y)UTp*%&oe5|An7 zq`y>?e+dRCUwK9Qm-oKTbs3*r9j&a6-mx|e@Vc(0S=6_*atqEl@u9_GHu&Y$RLS8FiUDhqS(p#f2pn#5fWICF$RPnBAP4bN; zL|y@&k;m%$32G`iuK}4gMj8bcAZ7@r`>i+eBlbdJJrg805Ue|U!HhGF1>7sMX4U)) zqP5Y_b+gfg78+^rGhj8AW0W+M$Qe?zR+=0TfB+(+YVi0mdq4ArftCC3WN+}XfdV4~ zWbVxF&=@@zdY>|>Ql{>c!gElOfW>_~)#78l!NB$#ufc<^lnHwR{%TxSCwo$thm|R& zyv%|-mWeTqRDW{I)N}W{sm~1C0!0kk2i7H()|%RlQSTJA@&h1ooboR+@>^D2U8yCk zzK-i`)OLg|0MH&g?9!jO;DUAO8TLh1PW7%PV|GxxgGYrt%QnE&{g%edc_&>LPr@*2 zsNLe0a?EIB?##mI2JahE%Ti+klSZAo*X9iQnxgS&L{M&Hv<~9#l{Mwb`z(g0J#5;3 z8p0t&7m`T<=lP8pQ{-Td7XRNG7nu4j1jEG4c{_#g9b^RchEVm2Dj&M=@rPz|puTZe z77Ekxh^?(|d|dSReQ2jsZ*{Zzu}9y1vA5^hy?*zc3MaBRpL#5Z} zpR#u%Z7G@7LBkCdF+D`>U(@F|rp%IQzeNv_HUAvyq@6ySJO?lVjjGD)A#;x5o(5^@ z|L7SG#JtoRS3%KJLmT%O8P^L@)^{dcefIzPQ8$0TyxIhS_lWS|Mshpk{F9F7dfh>r#F0*eF?6pX znWq7yP8mhOAd?!BL;+{k6k0dTGf;~fYVSEgj8f4$=(}174eSTtwjQdeLH{>R;8n_a}&_v2pq0iEjTqQHha7V z5DaK7y+3ARVR1O<^5GMH=>zB9snMx%8yvlj6JLW#2z=fzVv_S-pVIk4pF?vj9o@wQV=0$7 znjQKc9uqhHIv9{cQ(2Rn_?*cirTNh}q1g*8rZ46S5jPcaQwvXZ7J-uOoqFAF3;9NW zD@R%Cj^0ScrUrr#CkNz!f%?S8{I8k@6lB6do#@p)CY&p-HuKWOhLT^y=4gE56#MVk zc>l$>GPX0R|LQcUCi5+ydD?InTYlznICwO4G%LeA1S-Y{4G5sxr&2j>mu@0sa_-%P zs%GM33xHf|g`W~3vaMW*>r*Y}(;mz^L9~s|01R`*egmC1k{l$3Kh~o-Jr;>rGd+wc zxbA0ltpvaTe5P&==7!SRTnnQlBr0cC0;jOfb}cXe@N)mmD_--_hkbVo0^AM|KqW5x z-qZeOeZnp+*H&&=(6^)%Wyni2l`rk^U#WOTBL@&V8Wu!PUa0Zf$)juI(dE@r?@hP7 z>2b&O8qqfYr*-Yoz@tpSD92|W7!DR+P)I+FX(=`TSaHFO#$OG00i(0zA{3y`yc@tIMf-6sk48G^aD@mb`6&I2VgXi$feu} zJKZI5$1VoAf#)s&#Xvg0=vw7#tomR?V2}+67MKb`q_tA;W2%9lK&Jl)#27BFPY?sG z-&6E4m@$SLfP01_5F^$o4GNv-5%=r^#q}$tGyd-7GakARc0J6cMQq1o_x->5bu4F} z8P8@)(gYSYGtUHaQy)1$9S0cslmO-@`#fS_kiCw@>^w+y|Mq?~G7Jmlc;*|h>1=Xq z2jB+%^f=Ph(@N~oWbGb(HV5 zpb^F1EZMOc>%VKkZIcUu>8H-`V4>J63xFpaxc1RYx~$tq>!|uI^=)~f#4l%?Uyy|R zP3dI+fCX{|0#k`dudb1 zyC#&F!w?>@+ji>cemryJZsYKxKBD=B#ML{>CFd4^fZC{@>gm$Se)M7@EUb`B`<+oA zG51HWD^wb(X9n=&wYN~zw#M&3eF#Mw{FXpqIYUrgKN;QF#@pFUj(sPHy{=H;QuRK*M zy;t~HDdF_-iEl-Sipo=JBR6b!zf!*rW`Ti>1BbN|*8;CAI^;o<%J-n%l|c>Q$c_+hAKTp5LFi%XR)uG~Q7Rq4r_e`Dp? zb?Z~{;=^zKnRl>X{mD@q^Y`spci#Ak$KDfQ@v`NG6vVRAr9gE`l7~xA%aFYIp!n?(@8ibiyr+p?b_~nqg&10j9uiKX)@(f}`@(Gri z!)%nR_a<^oO~S-9KidFB0*s(wbFwPIgx({?+QxUP&%EG$7w~PC24Ir5Mr(gx&dRT8 zZk*f{g+GU358@DZUvLdNO{x$gma!#MGCJ93#9)#>l*)im%LL7!M$#>1K7kNl+dJGi zrrUvoEdbC00PV4Jj)MpE1AkWk&WERy^7^uzsRabw22vr$di|tB2WmD0ERz{iH=+ST z!)u}xLv5ms!Nn9Z&b6Lbg*DYb5|mr-QD}^d99w`j(%?yYAA`EHFd&gN)aA%@v9A5A z>2_*`OG=f`>hu$HwVW;QR;GZ!@{aJdOM)iHUuWnTu?^_7Ihe))xM@Xj7B&D;pKW*>gx7XwvzXS)7hb=3vEPPzCD;Qhx=aU?%p+CrHV$qduyP>{&Z znl$AUd?9$`L5$h!pO?Obs7`Yaka-jaZw_GKsg8hk@Q-RAA<3ntlQ5vqCbGJTAxZsA zl9YlJ0b-wz$W)WKiUNS=A82O+5Kgtt z|LL6k8`}R5p4XY~e$BAE{7fuH{aLjxv=fH>gi6G+8l#g3udxsGb%;_uypb%Ng15~U zZvQ#cy_(LQox1N$lNU}-iXg=N?+ZjKg^5uv1v1;(P=83US=(3$jj^i)!s8FD>HsI!bNuwL+Z4C`;Vn~>3DU8Y17+86d`Plp>j$57mDo9zY{Y9o6N4WS^{Tj{kCLanGNd z6DDA1%A?KQal@|Tj~ezCo>2^8L7C7=b8SCX36A?6<5({YC6^WoNFu7z>+B;LGesc> z&RA2Cj;t}RQx_ltBgg+Zh7WyAR?1w-B}oXV$9+1cEN_VV3)mclmmtjq2B4te!L(42 z#)VnN68Gzr`@Pk=ZZH!m$7Nh2qRBE`9&~zo!KOzBLAby4qiP(S0Vx zaQVtnS-q84Yo!bbFM9Gq6q~E%cszdhY>K~p?D8l7Ronc3+e!g^&4(Xze`z-Q+J(X5 zPs3o`or-k?`yf<$jR{eDn)Xlj8MXenwaKhQu@R@3W4t>rwIe%~uSJaN;7;aaQLXMd zN)5o+Ya~qK^D=`Fs~dj4`+mq`xk1jer0M(R*WLK%GwN#~XjH5DQ&?&^TBm*O_d?T7 zNv+}h10abX_P-Ce`?qnWOFU9SqLPts0g-9dH~8pULIeeP=A|~5HZhDk60pBebe0CY zAOC`D&bYIkLc{i1+T`U^#(D?YCdbYHHJw#!#uf*p3P9L%!mTFG$~T-TAW5-mW^-c1 zB8UvJJv$J!G|(}1HJ~J&R@DACnT(E#a{NUz3v6X)PvpkPtnQP8O!V+kj+(5<^IZQoVtc@8t$&yWUqzlb>b98hz>-@o? z_dN6KK_kp|pz}5pZ@Ts&cPXmj#e-r09&)3Hup78?vo(T0BB~G zFhb>x?==e=BvDz06mN@326GE(#2DU64L?)zP$1M=7i4O7l|)h1eGXz40}um5PXNFm zpJ*!B4KQfbuiPe+n0R_M#j0RZNp6N%#a(+A9=E{HxZ;2X0a{OhZ_N+j&|A*m_$I5~ za^%G7<>kp+kMoV=N5&hQzqeNMR~~xnQ@$8L!M6E7je385P7i+Qu@BzWJ?r&LgQcfp zcfu#L4RrlUCD}*r87<4oPs3faA0o?GZHgU2bg*vTo1x>!fB;6#O~ijDOrA6o7<}4H zi1=ifM)}gXKl8hInzaW>VSdt$qi#pB#j#I{`*~qqW&UR~)*K;hnsd<2n;y;D39fmM z%)9F|&kP_eEC(QvsWE11w%qR~P$ZuNVR!?^AH}c5%rF$9ga%p%5aVS7R;#tNqoY2N zSKdPbMe)50n|FMuZA7=_v%P@D=dqmrGa|RP57w7P``e)Q1#nCnS3^a$C1Pz)cO6_! z+Q&$`4GP=jnfsere-7v<0B?F*S&AE5`hN=mvGRGchIu0$7HiQgu*r$tDKw(2Jkv}h8=Z4h0~R$vkWAVka>Wf9 zt&}QV-rvVKA$E}Mp_=Y9dus6}WQypZACc6#CI~yl- zK+FISl`P7%Fzk)0aBbUa~`S@lU-W?mg8d~9brZ_E99c5>muUU%Vq zQB0*rQfX2WKsTKUB{glw@2@gg{72}TA3f(;nm%MbcbcdD-lH~} zbcR3a3nGeiltm-RL>gghc^uj2Ym<4_^u944Z`u%>io~5ASRTX-%smk$Cj|h5hjmO~ zlnT_u-i!8ZvWH~rwxkkaWHvy7;ToU}@wEU~FF8Lb1p*XY1462_8B1>)`AK^R#qP(v z;A+-q+sq7**~WTs9B=N3@!wTCs8_AS{;JgAjt0`L0VRtVt?@Gz&a+LKN|U%q z^B*p%OQ#^iE>O(Z**6#1%AvLq+_^`mJq0`bIA{^dPUoAm5@i~|>^zQr2R|Ch78l0N z)}rDZ3bPTD*sZV?R>6D(4J|m*uDMNt=-PrI4$;U#f=Xk`E~mNUZbRjb+NgL-vDw6s z(3**#fp#6&KK6mmrjc6?iN8SHGZY&$B0$#g+@P7K|awMkTrT z6KK|ET9YyYV!Alhm_asgInrOIO=45h0Jnj8vf_s|M1~(&wpLm)!ikFBT*;>h}psh z#wk!%Nf@ojj-&!?jtjuleE+3Bc+_$pGP#UTbWw==?QVsRv+U$ zm%okvF+=N7p%XZg``tTT>#r-cmeu5Ym}{X6Frf*^IFsoBi;Kg@&(`*dmwoX5FFE*> zfB2#T0Td&k-DLi4@qp|~esYbm53NPLRNMTYZl4kL_cvYh_{Xu?(!t?E|KZZ`Pp&i* z`KVT=9T5(s=D`4%?w?pUouiF!WjN}rnSO|kjDSd+;P*^3(dWt>l1PbYT@ktRWld?I0RS;Tsh#l-Wow5(soeUb*gDCwwo@RYUJHclK<5Yg zIyt5!)?zXQ&wr%-*;j%(@Q0#dz5S&t|hnT0X2IJ z+Pz7Bj+GA3ea)AIR)Uw>NtzUjP+@k80yf4aE2`>CcY5RckvZ6Wd$bII_SoiCmwxb% z-J!Q47w4~c#Y}PjwB@f4d9%*lKw@0dX=6aALn=TpB>}Q=q-H?W5D-zUCHa3i7^CI(Lr+K%FE=#h;sdju+vU4A=O=IU7DUrtC{ce%&(#0MkiDm-Rz^aC@(-j2(u59)o%4)9Rx6C!0gt_bEQvnSE&f9Z(tp?IeaU^*BK?O*bGs*1UMA zlN%BUBnPz9rr-Q19KSy9ZDNs(KJoiDm|(rJ3s(LCJOw%S25^5()+G%uOS;+S;^naxaS-6-htfgYF0w$YF_S*X=4VS zi<~ykl)X2Q05!?rh3;wKi!jSiEtCPX)ULtwx^_iu0f6>kJKYCBOPC2R|Rz6b>!_Au4@YL4s`x^1y7H6exx@T z{&2T%;)2W#XA32w-&Z~WD6qkY0VDcs?3!(;Ei~#A$pngebA)dPo|bP6@kB7>W8~fs zC{GM1MSdR4=N9`yF^ZHlnoyco?Wb)nj*{VA^Dy(VicIx@G&AYF8Do7haAr?e^gV<( z6 z^wRl(FcL*)h7yitmiA6*q+c*lCC{*b!5k)C0^mp9Md63K^)Lo4=o{j3WFNztbkQ>e zZ3J^{p37?ctC2E={C5fj=h9q+H9l>sp)hIq8BGR2(U{5*M?r$m2c{;_Od9~&NI+v= z2$h6R`-9GcbP0IE>puLjJI|Rt{HJ9Bs6UtXU4MfF*#2$?HU&T!b}PCV0Cr+DxGQwbDHCT?n5%krpsr} z`JP3t`?Mj78wRvfh9cHmXDZm#)TnvG#mr+)xlssUc8kYv3 zzDE5ng`H^m$s#i|;G8+2AW@P{egMsx;1nz~K$K}%m|tt6&lecwUZd?gxOK5M%|~I( zt<=YqN28pcmeMp}BG%bbfB54I{e7=_`G?NCYYPIj$A5hDe?ZGol*h;$Kk~R|?CtM= z^RPcSPYST4qmYz2q0O8J43jOvlxRIw{f!(VP}hCHJb6S`xiKiw$c7s}%gE=<7yp z{1?97f$eBPpURj_e+AdZ-)L9H7653EoqpKHYhk(b^`cW80toK8Mp{6Z};6vsb7C~USawS&0$4;-^+^B?j1R{qYy^s|mxmqh zk!FC`@`)k2mx9+o(^QV)O~P61#U27IVbgHPPN2f?Zq1Y!W|I;^4s{hVgd$@>)d~q? z!s!4o1y*2X&8)Oc!Auaf|A9`lP!bL4tt`_4W`&Fh9PIjuh3XEMUHY*H-mx_XY>)rg zbdiJNs;e$27OsB6a~6ANy|K3lcd6K#RPj{Y5q&DV&X{LP5bD2^{y<_Tmse*XLJf$l zH}^1?01~F=qH!49#9+&D{HP(V12wm-B^uT$rPGe7aV*pwK5|esU6q&X87UR7r?==y zcmi6wq!B;ajoDtbQS^*G_wOQ1gMq{`Qy(T^ME01N$QoCAURw(R^6|^eaMWt7hg=pg z5>O(rvJ5>`B~1($24~Mi_4v1Z=3ztaowAKUQ#WPDjbr~P|M#|{kZA~#`QWaV9w`AC zhA9sTWTElb(T-Il(Fk?7kyX07)H8Nm(uDlvQl4LVEm1-4vr>6_mDk;QWpt=r9a{jP zJ=)tqFVW-bPT!mYd_^c90Pmb%*v0{ZhMPLjHfrn=9eTzcJl&#QssP)fNJt&bsXovf z{$W7B!I~I34V8P>v^j|=$Bv8~nc-L}AJF9-!egW=e25Lp1tMV$z#I)8CzA}KUB+h9 zo_UkroY`OcqIyPO6y%C3=lkI4mVrqTWj(veE@3d3{|4u)sIRTOx3D9rrpHel-#js% z{^<+9=fz*#snK3;@jW6I9@FE)pX8lcq3DqEEP*lku^M}K54-40_uPRa`?;*&1PF?f zHHg_Bixad`0I3!?X`5yQrvMd%YAB-S024U~i;Bl)x9d2`AoZCDe0`s~HK&1yZ(&k2 zBlB@tMdVSS01jdASIc(d7C=FWrf9BUQ!)%=?xjkqj$s5TZKt}8<^5gC>&ORXZ(%t6 zc^LIy@q(-Fy}$JYXpjFW&HsVx&g5J0^DJ9c1&Vb6RsOg)moG`CJci6 zeP9{Ij`6ACXnm5O(EgKkr8ZHo`P9%RnfvIxsF|lmd2_%3`u%7mG3jFGM&IV+3X`~F z-{2GIn@S-XqKwnj9LTMSoD-P?afBzUsaxA1YU-_l9FGSEk)$DEIQj|%W245v0wXL6 z;@^VQlsHq<8ReOkSU3g%SYDE;+f^%|OZ4h$=b2#y&DPFmnHHn|}u$2xpROqJ}_{)Hc|3^kse} zn+f9T)gCPX&>lPZIP}NoZ&Wk(PqWR*>>*XEhT4ce(6xij~);C$F zWixbPYW#;}l1%5!!ECRdH=m;+(j$nWks#jMC=5iPj%EGGpBgh=LSRF~XR4Lx)IA zNR-@&A(GjiUhfU8Ce_wa-CXgGKKBLJwr*;Qiefrpo12r*mLvAQg9o`_J5hsXW4M0f zQ;)pkLT}$iOT*>6%gGWJU0Eve!WM;wdaKP9Efo`;e$#qHcr!oOq|@u{n_lzp+<`Kf zmu$rM4~tVaz}y$+>8i~1+yMbjSL*K}h|&!r4R2%PZevDM9WEMX4Y%(5zCg-GUZR)q zn4|=(yK39-sfwq<0eu*rcL!pjFomi7O??W9H{-JBUxNhJP@#aXW=Vl@{gfY)lNK?? zVlW*n4R&3$yEyAtUVha*ceiqY_V{;i{;z(>^3sjx{OaOx@2fgPwr{gs5i$pyn<#nL z#F=TKGWIl0Uf~;EH;qT4igCjL??4~1y_y>5JmU;&d%T-y76f=>BYx zf86^^X!eP&GX?8+hUa!f_XkiDQ@64^{?F$Fu=gG8gxFlYcC@iM0qAnGMOoH{m7Q^) z@FcwHulk=tpK;UJbFeSUyc2=7!%fOk0>H?pN-+;Q!(klIPd55eU7%~f4*{Y0gS1T5NiN)h0oSB$dChzS&iP-bVzC-6BiAM z)lh0Q1K?Q*!DtY@xf<1kGh66z;!dp3w?(H-0b?S6oL78D-Zaz6=%gH=z6(F~iko(< z%eSn1p8bUfcB{>W3%W(;2diQtZMZ5!g12;BO*OUjdlmoVBq%zSgXI|=5hKP)an8$#nx#g0 z1l*n1%q|XCH(Lb=lXh}eB6c5%LgZOir8!p=JPpl1M2yHdYBo+o;y$GYjC{;~3~iIj zEQqAdC)5;N{<1TvHGx7Ddlt@k+@x=$ zPQ8#Y4NRc-(6zRiD_uXZfQh_U{1SiN(44^R71*5A3qx zGY3nZzsy5rDN=0+55Q(6{LT^R>G3w8HTu6XIK+q0RdiwPHQ%qha3`4;G1G8YusB zB1YI9;_l&K@x}Z5lZ#&bp1TaS8+!`^w8yux`G4J?J@Ssl3@#aVmtIsX;GR)=Qqo>z zt5sMJ3}y63o?Y(D*>G!CYNTM`q2#`3VGM40{V`5sz8z_m?c`W!Ja2;KPjT4RLTx0OGKE|N2X+gwB zH}$QWDxP6T)SDKJ;s)(*5i>SYPoe~jF*-Cs%nie27967Q=-jptP^@+?856Vd<}H&7 z{@{i`e%@g%g4v98Nga^_mxPMLzjrw-z!UIcM0Vah|nj5k20Shs~T1)hSm;8Y!| zq1N26BnmLj-L9`~R0qu&H3F3P7vw^UbMv~z9U1QV1Xzyj_YboRV#*TUU@?wwzF zc31DdEeOya--h+&wbwlIoL+y=s~7sq&*={#vYdT(qv91u2#!@=T494Ckwxhna0)UNFWa=af;xH|P4%wE3sU@JDNK0^#7GW@9gd}vZEYr79+!H z7BJluX>s9oOq`#>hR@?o8c7oc))PSK{PZx|v_rzu)9Z|dw7@Y;05{2Iq=6R=uEA+$ zF!N?f5RCM;IJ7(hn$7>R%m-rhhO9Yu5Iofxo6`Uoi_m*_LbyM_A_5(>do6%VE>Qv0q{~f%2hfF$jC1W`{-zTZdDmZ z0FlN-*9BQb1*~64)r1;Z0TR7#po8WWrqQ$KN)+cGfOI01iGDhr!jUtKfQ~;^*Ns-qPOPEv}INVj- zaiQ4#%5Q$-x}P+NX3GRwc=o}*C$~OSHRHc#Bi!a_!hF+&b)Q=>@y2Eu zsv=M|m#RWdPtDg@$DtaKl8+KJ&2;4%M-ZVO^+~V(oGASyj_B1a0}(g)wIr8hwHDdB z1$~Zu0978X(QsR037XD~SC7Titb^?W9xJx*I2H z5Y=bpdAXS*^9&Kqf&(L=EUd&f+^fRIKC;FHCs&U-@m(0p1jZcT>~IHW*V*ZRYXH~+ z0PWEpZsiwn)m0Z(8|xeY#KdevHO@}6rJ{hiivzUNaIYZ;8hz*SOTCR$R#6L#M$Ez7 zJo>C=H<`eto4NY9+H?vVS4cCvIC%!}fq=siUF z=itvBLkzC24E+=zYA(ikT4gkYrOgt|mjt-!0TcCdC1Vw9vG5i#%(? zNUbMS18z8eeC5Vz#r}+a=;doWHTF*x=)d{N$DG^mFFup^@ywZ!1&Xobu3rp( zRyO}V#XOOX0~8(WDDNi63@m8RHDkv;CmL`h(_8nf1}U7VX})vmJ~`G}6WAU=%_7?C z=CK9hpOI;@ZNr>jA9w^{Xcj~SAOLB)QZN!?uOkYYJm0cFw(Xzu9&Ksj+x=2v*p8 zNqYyG03ZV*=wVf*h<^swnr(cAP0O#hD`tDN06=@B93{Pr3DNtKOtrp+>o`EgP7V!n zQSi{DW^&-2=DS9ngP8Q|CWUDszm>KLO3m^VH^Dl~L0S zj$J`m0A9a2&%HWoDWQ?xxs`U__-)yW!W&6p%<>_$P6xEbk{c2q#+)1ovJ9N~Sp}BU z?au=Wn-Vi3wg5uo8pF|NT?Ai?#M~>VU8W5X_tB%KFe`Z1vZwU#&ZlBsEG%{Jz1-dX z#+SYSe&=UVnD%IoQ(RZP;oo08`o6_v>5YTl;!i?<+?mPdzt`(1^L5$Sm-_zW7CaLI zv$D0k4xi4B>v3`^^*en=nkdXM6~1{G5SV_s_tWsaBM{IN=Z-xXVhuzH^+_&ih|TvQ z@Qe!bH6ry>2}XWEB1w@%D@O?|HQ7>Z%10aU+WF3WJc z^|z|>QOcSk#xaqeVnWa}<2JPH89M>9(VoVY26{vJ^TqYWiRu_LrUdQuzXbr=qdn|# z@PH|e@BPrPudc2B{cLkh&fx^qse3F!iZQ3dLl(tv`M5v7=o7;%|7RQr*xZ2DC+-C_ z7Za(D$}teA(F)_jBknclaZL{d3x06lKsVEkWAmicKrw5*mTc^B3cBWK zy+k5V2f=5~vQ(9g_2{6cV(R~~_a@MqT~)d0oNNEh>8dITO``P3RSY0vAOQrCMnFU_ zqKN|#6ralQp;yNR>Ga*Q1XLO?!>i9B-l1GC`cR@ET?9dqs~}AXnm`aix z+r8#n{hF)U|0y&ysk3)RQAO1`=l}oRtTpF1zlJi6p*OBmgj3A~kQ#lSOlBWL8vQA} z@nt)QvC;AM@~P!FJWR#^JVlIPO%rknTZNaY#$Wv+v{iuBZEUKZ!Dw~|nV@Sl*H}%=!~#yyvD=LAd1P?z zum95PE_jF!(C9&c{`j(zd!%hDe*MkgcfoLW^yS0x@QGq$-YjvUBEJ-@NP4O&O}rmT znOMfvOlEU%_dr=q1*GT3fUDShv_eLgtV0336iK=WQ7zimRJB!(H&h{C|a?21vYTt`Yx z2Hd%50)r$15t1cC__#)N`iRo}&~XZEw6u$SwCqx4L=7#@6*%6&_=4fak$ZzR0~BWv z3&5P{rd@tuF`HjcA&m)*kBo4DiEyTXB-`X3Ld;V+C`A1RcB#HLO6p^5e+-jw0MoXa zE0gal&;8x&cO~@n|NiI!fc_|N2ZTTV-cxGPxf+*KZRMuwUbUQOIxZoi*1s0PL)nB6 z!ba=$@TqffQbglwbid{{&e8gWmEb6Qd^3(ny-d_?HM$}P0U|Jv0vuf%wcrsz2rJ%u zKJkE{16+yL<0=pViVY+GHo;8g^47_|e`gp+%uzWri2{h3(1ey|N+AwVl8T!ad)s@< zoyq*tbHC~Q4<5?L%1!8g?d^}e%^Gh0#M;{WH@B(<)YM!dyr+HynY=ldX_(#pEL|j) zWCd|rJVLcGtrx?{GQ2tc9TQi4e#02{0SGoJgVTt(%;KmrXXu)qchzL-pu~`JTZ?Q1 z^q3D|)abY8eFI`_-e~g;^tJYub+p77uj3Es{HKD1s z_ZJ4Yf8WIU{k>qeKpNSbL~$ZPgwct4zCfqc?;w4Cb&5@RTHjkTegu^AA&~$Wh&~C& zoAmn0|LO3BH4(|Wt{J$k7=aRSbq zmC;S!_h|WH#hm=4Xoh;>x0lJV?PLI(j8r5zOh96s7~{7i<0bK0kal<=&4g^IRK2s$ z48`!uGs#z>KY9S5Kj0Sh0l4_JX2oCMJo}$i62OgWbPy=WcHu|o@{MuQg=OP_Y>JH` z3dfu0$;zNEMK!yq!PRMD?!FIfgM_HbHE44Xl-ZS3Q>zf@G^QQgkSJv>z=1YHIrR^! zS>`Dnunv0g+~2MVW;%JUPdkw+9s-qy62g=xjZ7=9wWIRcEnXO%xb_23h%?-H^3?mM zvyE4O;g3uSVWEG-T-+sQlpvLuaRM@ z7N3*oN09&7Oj2YyW=E{Z9%|2(PqfHD2v5NTOy7?mu^7-subGXG!qA*5G+NE2a#)=y zclPlbJZJ#7ec^Lod%=B#1p#^%K!2=`5p~p*6R&^7LpRsX{jH;C9esoxPUJ#PsTl|Z zED|jYh$tLzXPxS6jJ;KfGnko$daTe*lKt9IG5_pt^5MWKeGVd~ah-G^C|LIaft75A zbefM<_iy}-8$PZifbW~mmvK+DC_rSU1_vz>>H^~I3*w-FJ+a;h(3xKuc_9wh)ZYz0 zH-P15`p&OEdH|q5>c{yXF^kh^>rPiI!?sUqO)@w%+fNL1b0>TRU@~3L;&E8PfRM)Y z08v_eupxDBxV37k>5G0o9nBK_Vxi(TGl3#)Oc1NaV!S&Dn<8P>Fs;x}^Y70$eyXDe zHSIHx8%oWEsNTiYJQ85F4ib58a0U+}*3F!_q(O#8$ekkH;8KgTy_5T=PR(CEecR7| z!hWz5hpPEME)C!TFMjKHed|~pd;0p;+HKTXQT14hwkf3`g)tN4)=_0K++mS2nSn6; z0)}gZklb(SM2Ld3$wc;$duVXrE$t@!B+$Bu$Il$45v?!Q%!F%TDYP2=Q4A2NeOAPbj&5u| zM#*0P+wr&F?;bq}&>shx{pmaG*Z=B~kGjo~^IoxWWc4%UxIT+u^90YQf*zfya^D&HWgN`$J> zYOq@C=hs}SdGjD8K07Qrr6Oa5gE4W!)c^)_i;n<5RGEqaSY?9`Wd9}#_JLbd(Hj2A zu)7fRfbkzQ#xVMpU%GwH`x7-Naw?=EMOlekXRG3qAGlYx%M5Ph9s!4np)t4*>K> zf5hX2ZP3Ks&i?#d!beqXh@G72rA0XXv09y_H+KnzeG_PaMk}1Gb`0Sr4D=?wNJ*2D zEm{0esvGoF^ju2_Jl+JX;feXt?zK(6mJm@d&8TSxX*Q9_!n`+2L30y*8EMLK7>_pF zUb;zR=^xCqUUT%W8dW7Rm?F|vJHEdJm?Vn_gVZM@ zxM+JiELCI((K(qQW+Y2D72}h=8ery|3oCIE)?t~;0{oh0&YVbS|1N{X=rSArpEd;4 zej*kJFe^zjCfr=#e8OOH|dzj|^}Bimjug3-*>bsCnrO zo1y0mJBf{(7`9~hL$jBN8nqVL4l&YTq4${^M`uy5b1euv2 z8yE;##J9zDJSG*PA7be9)8*+(vXu8h1Q(1vQSTd#t#>3u5K^dpIWcjKS^_g27MMo= zlB)we;B1qfAVdS&*NQbAF;<#pH<^k|eV^qa$oRu4&a=^=M%QeF8f#zBPh4K;I z-VCg?MR$Fqm#Uh*N--&v8OUUJy3@>OAH3Ti!L(mV`@aa- z%#C8RLItJrpr0R_dP$7F=gxt?zLZWl0ihZ-XQCI)R8w#H1KalN{z_f=k?MMOPt9%u zT>qoVr9b|8Q!$+ohf;Yq{^T9Ldux2wlcbo!qMaB4BpCo;U}Z6F8>UG5zW2KI7>QSF zkV`!}RkWS5;#!@!cZb@HT$HAJj<}grK5MFaO<;wYW8b2xKN87HoCJykDZOACm%1}} zDiO%zy7K8?=m-*b?izJCpUCCsHhB&7dR7UN%JX3Tm(xaqj2OwLWT+xnn_erQl^G3& zFbZa`G3_rAGUUKw*KVx;W^J=-)Qc!JH1|a<6+R(VCz3ao9ywrHi6S>tBwux4!rZcNOG26E8taSN zN?^efUqrS1crK!pvC9E{Gd^(wYzBSreyKPxV(xshZ1q~V)nk%RM27{fN135x)iCrB*mb%)O6l1|m>@e8# zB6-@hH|=uXHk|{vd2Bm)RY(9m($?{F}t@XDa%B98? z?8pD|!Qa@>+D|DDo;$ZHmP;LIick@!Q9km~oBoAt<;)i&o_oo3{VQZB+~ko@#5L8@ z3lBV);9Z-|Q(`AFVUkoMoE{ht$rJZh-@{!dUcRyCvY47DNZo)CGUsvZ^ew0*ALL&v zv*@$Log65WIHf9JPu~r(SYUxvwC;+Q?yBSfOLcz?*B7IsYe#;349A{x{EZjf*4#tK z`+fQ_ANu<1``|a;e!;Pu7Du1CF}~dk*SDH`OqMsPJ8CJ=-P?NouxuGFqZ1jUB?Z`5 zyXBYk`qR=DNmKJCl^@l5am zFunZ=Wd+mD-#uS0_l9C%8T+mI@L~88&#R9Fj3r|LTS851**X5I4%BluUo2rE=T|p7 zvyb%#fc?<}0R3@Vw*|?)Pbs?pr?f6hx*f+h&#hUIgx=JBHhGxBA#h6?pCg_-)AKv8 zGrq5LLV=|Vy^os-aJHQSGy+`npKID!F^?1+!Z}?Kb6PN_`uL=INV1L7!oj=raym5s z5Pr-5!TquHI8bOsf7}- zy}SF#Q+v}_oqEkPZ+04xLy0)6toQF54aSeAp)H&S%>d%u-J<*op-*zO!Ff&OMtSzW zqymVl(eR<-#$D)lJxeBYyqC#6UH&{Fu(JWrBd@?`6j!3gYKC2h&jYAPVZO2h|Ab*?k4DArezCKW#HC5VXdC`kz`_$k9f#c4Xt|GX~A*7mmO8 z!lP#t^|e2~ED-Vd@#CiHdC^}y^c#lqZqM5op7nz9M*EG^_LN@1h1pk-JzpfUv=3xJ zF|26XSDD~aVZd2@EtdOI-gtL5-6F-mtIv3sX%3|61o^XlP})G^L%`pqq~uNI@y3GH zJ&?1nc=PMbkHbKL5eo}Ro(EfU9YCVx=N8M1Qb;kM&`T$iloCumX+v$seNDIr10YMB z$@Ui~8}z;gHRI-JP{-~AZ{!eNkQ0+=Z+2%TW)|&O;=EnoTpuVv^wBrJ`tEl;qZ(Kj z2Z*@1O4ZU|(Djsd2GUYKGn_$dx=0d3QV=k(*(Wp*lY(H7X6oxKjmBcGoCf85_Mx-Z zuG#LpzW(R|fc}7kWdHy-+_ZhY;$QurqzB~{e0BP@_0ZujW2Qn zDbePg&O{-X1*8QCo7A)DA7t+3$chh1krHi9ZMf5MX#$kzujWk$ry++X&co&s5_26M z6I5k8K+G48RJ@d-(A7Kv)HT>5WFKJK)CH5Hjs`A3IkB)Zz>l6V`Jw{6uG>i>)#f!) z#tQSv4(#ksUOzqiKmEgDTxLwOrcTR$|C`6$YdBti`ufrF(FM(=MS+}QWlLVd7h~s` zW3!Fj`!WU{K{TBMccg6>rDHqk*tTukX2)j7w(X>1r(@f;)3NPz?8@|f@61oAwa%*Z z-1}U6Zxd5L9%hyTd3cY56MyS#Y`76dE_-10DgvJugjQM!DgEb<(nXbAGuA)3ZqN&HEfkG^=3bd|bh6O&}Z}e>?ht1A_;E>D7UX9fA#R zMA~2S@y~-Cff#g^KJ@1tqX(2Lrv{?BT)+5>Sm)R=qL;{Sh{z*=L6HvY?MQ21xlVkl za)f0vzWm`y-tBB~>v9xIA^eMe^Fp%qcfwt;%ZBC&rF3A$hxPnJY1EcHR)$p4IN!zl zv24Xc$V4(DOO`lxv3eb+*+;8rQ_TB4Am9;1H~?Qiu={e@*{9KWx8kcOTRo3&<4a@i zp;{+qcMYO=R;GhiwvK)Fa5_k1A%NrBX)A?V^(ym3i>y4^E>?Ff9=~pmlb5kG=5Wg{ z6ve=whQ`SG<-oT$$e0xDNiNMB#P5_3l+G%7CL4 zwX+t?W*3b;5C?x%Op!NG#*U&o8Of{5%=KV?u>Zswi?1Q_ncV{-dxozDz7Y5CYm0q` zKfz}R9u%f*x9sYSpPZ|$?c_99zC}=6JatRR?LTh@t!D#Lsq7KnT*TA9(i_jTC-ZjY z2eH(Dp`uh@Z>rB96mGB+4VzW6#mN$-o<;8n+|@0-q~KD3eywi>FD~^DEN>M{L4~9E zz47Q>1Jh6%q%kR1(H02iKSBcNBXANu$ zF#kA8e6Ce4jDY*l>S~^aaq#mq??@Yb6BGB`)@otgS$VT2NpZgT`dNoMb$p;Eg~erX ztQ_J0eU?B7a+a{f_l)VqBwq8lJqaFQZM~3J@bq^$mh&f zQIfPCWi0LXt|O@exHqiuTwG;}c??KXC(mW3FU(EbK3?b-8(z8(T4*O=RtCY)6+^~6 z;PwGL?V5(7&5Z>A-eOH_N18Oj_?jds1w+ssFoS??bW8Oht3nN%G-S5b;yM3COOz3Y>c0><9R)+4KCJ$KW0oliyN7M|NW6o~iCY!)phM)xjrrdd;9%|V; zitB(1x&zgD2dX|S((4J==$$b$qyniSpu)H&QnjN*5eJe06Q1J)$Kg76er4SM`Ni>Rd!#)pm}kWw)@2 z%bcOgAR?F(JT-&KQQry}o8fdY>ZQIL=^Yy|ZQ4@`mX0pp z`--Vwl<0~4VYV1{;X{rIUpxoz2=)L=?Od)67iRKmH}Qj%Qvt1TJ+&8rKF%I%Q-=$) zwzD4a?ZD?fQ<_nb4TR^lQ{3)*Tan6lG5hK+udPA6VbQxeXC{jq;@c=mQ>9O5I|i~f zUBO<@%(F}E;~Es(4`g{9mbH7Z#y7WukI9-- z@@2hPV8c*)1JDd7tIlg&vAu`~-fi=+y&@CcoFD3t*}jmqQ~tP-%z28U%GMpE2U{Qp z`tB`><60KYo@-5pZ#4emOy~laXmcfSEfDoJGU*T1uG*T4hlE!0VLMA24FYAlC4uBe zVS}M{a~w>C95p??HW9)6K=HSs!XUZYh$5$)!^q@%&Lm^WiO7ToNxzd^IdxT0wXu&G zwa^?~`Aq;vq!=V3m_0hNVeem1E9~WlOh$YICU%aGroVZcw%JY4MM=*8j~FQYXii=-q|X zt;*(45!n(mP>`N_GsVBXza>-(Uf#k-2!d_Td{mYBhEnWq<6P{52c76n!r8bSd*9ym z^>E79j$%Pz8@pXaAUTK~B3b3%Nh!ETVMfVAo#AANk?ra`L4s=^@Ho8_meEW3O0u6N zX|3N=w zl-guZ(2#gJJQi-S$V$h}m{1@DU|FrPQ4(w_oE|)=EKGO#P|kF^_ren(vZ;f#ZSlsi z+3^pBQLJdtRo7M!26E4HbaTe(mEH+aBe8Y5PX+7ZuS>FKyE}&`!l?eMnF$Z(w$*&y zP-YXY`ZC}NYj%|3`VRic&a|AbspV$=mE(RxHUj)i-QsQa&nOOQQo{e9`Vgv2L0Tkg zyFd93{XFLq1h%HwM)a|#ODQ3=t=u+tZE4+*yi4L7&MLxlZSkul7TSDH1mBFBAxV@d zs(BH)f8oTOyR6$$-j{$QSR%{T+@bn*xD)2w;eGQwyXhT9gI0lvQUWfM*)c3~vJC3} zS`!#hnLAX+{Ar2!$Xo6PzkfugpAMl>z<^ba<9(=mRF9e_wHP$a#CYeJQ;a_JLLsF@ z#eORj<`S={8Cm!q_f?P^pr+)&!hn5XUe-v?`M+W-yqI_3i-wGLX7a)+xRwZWKgJJj zMRsMH3gT=j;EB(y&}rFg99q#b7MF+aH~9-){+P9{t7%L?QDQzEWibI# z0o7Pk2Mn^B=GmzP`o~rWjp|Qn3i^=A)I!dRqlOr-QC`s;W^zWg-U4BS6=C-a(v-El z%wu|O-@+)SrF^})l07-Dyw9#}p3h_Bne&zM!?0WLv+b3LY@wi`=jwG|t%MWx_5_52 zBpN$#=iSf>9+v({C9`&iZO5BlW5d!vr;^L>9d?DTjcp2+tl~`tcsj32!m^f1xi2J{ zSAVv8kikG~DhNNd6!3Dg9q&g%eLyiZ^UNsF$Ym#M5q98pz*A%rY*K)qer0Oh2)G*< zGSNv1mD<08Y=QT@v^5&F0o#_uIJr2K2GrzXZtqYF71M#&yLGzSGmh{9L53QKTCxpbl=;Vp+ggjBJTQO8ls`US-3= z*zl(TvS!}Y;>ML{9tun{sr6PPp>*uv@)ltGpB3(1+m)NE(2EY7ql#_gw*yx^?u14 zgTiphsY3a=1YLhv$mN{P?F1t%%$$|IpG7FX^JFaEEDWyXC)GqFO=}9(tSb`-f6m{# zx4p4La3`;P~z+-DS7)xFiC3J zv38p23q{B}^Jz%KX1iXBr-aNk+ai+(jyn7kRZw*73U<@sWdln8A~Q`hJDa<-@x%j|q1o)mOf?C2u>K>EjwyVZGcGF87$WdAxKSwX-j zQ!0CuA-=+5p+xM1`bCfk30{5zb2H~is^P4zptM`RtV6VIPPP^M{D)nf)YDEndmvhl zMQt>22)Zt+=CJQG{9|Wo$K{LApN{K;t+6owb$8e0cHk-}BQCopUpGEus3M2@Jn{aH zb4kT*7eQ*0)C9)m=`_VhEpr;Q8DDtv3}PqJLIPY~qNLn_i97{j57apqzlDme)X@HO zDwe%TrOolv_WjoY-sq21V5$MJD6IlO6Gh1z>>2iVAdE5+9r63WieMo^zy%fIR>STX z>=>Xk4VTmj{pauZM3C?GMBJ8>NBR$(ab_Z0V&%!nL3UUu+JYM38y`aQDM+gqrmY{D{Nba5`psoDLymi@+y`Pz=Jp+@Md*!B+ddfN5-FeipQWq zzxjIwnd2*1-9Z|YdSs>}HF>@VSZnB8sNhni;<$Y2l6 zk{ugSVarLG1ngGBizwGt)&&|6I*xaOINRq}E=vHItoU()?cpmaV7+B?lyyac8_?3!?fz1iKR zKbf|DUyAX6MGQc;bvcp8^Sdz*wrFNt#Ce3e$fuOSDwM>5J?^E(2u&^#G-^}nQ8&ir zDUB4~GQ876GG~>hZ3=`e`>_Dp>e+NEF$)_$IicfijReipy*An$ z(9%iX=hTMd^k;<@M=Brkr;{ znZB_gNJbTzDiloWuu73zUMF`N`b zi^ZX=ncnfg>mu|t(8OTL^J`JZImy4kj{;r!6pH0l2C4%#WIafri=onJEI^wEYlLSuq`?fWBQW2*PC;#U8GKLs}p*}9y7uM3-)@=G1p-|xJ>ySZ@(FW z_KH(xw6lTBcu7qlY_E{CyI`fFV#g?xA{u}4r1iv=&rrfs0Vs3%vDJv7;~IV-<9?45g|)x z4fv0ml(FZCpnaah`~Dg|PT=KCv=!=T=y+zJg&r7xoo?FKVf^zmIk||cPsd#8MQ^;CmE`KxeOQDzQw%jhS(KBOYorgL`T;S`s@8?U*$k`8D+w25D zq+jMl#ZSIa=pGKq->chiMI3=$P~pv>dq6YLrm!F*5z}DSDQ6~m)^+w(R#`L86$&=D zhdR9Mc`NMk>`9cCsG^)lpNtQips0~7)tHNtKt@&qzNsWBVNQv$jVjkMIPfwxA6iHa z5|OilVItWj6tp=Krc`1F3H{MSw*V-I-={0s|A1CwVLX~*mWqJ6v|;pq)?Apz7Y8Hc zAo<`-?@@703{x#sERASo7nWf1@dE6D#H83vi4n@Hw6kLJ!H%Sj7c|MC6G1(bzkzHu z4FWF^SF#a*a{x?tWZPy(gy5L)W#PPFMW;6<5A3T? zI%u5#w~2eN#D1)6 z4Y3bW&Yx3v6V7pQ#t$juy6KSBe+ra7dIUBPG|nh-3G_`V3}h;6B}crXmtb#Y6nL z%YSp0UICqfUR9^Tga}iCJN3O>;R+^H$G^}VS6yIs1k9bG8q|r{4fJuF zs3s|!YzU_=gIuZibYNQ^bH}OsWo;6rz1NF0$N7EHLb|rCj z*yKTfrl1hb{e(AMd-r~4I?|Ff9tqO8bONGZZNM}Y$&PO%9^el?05ZDq?>H_osVo94 z%kXGq$(k&eGcgR z>ry^WqSeRM?=t(~GIJzb^y}t0F3MZ&o2cB`FuKLvWy=nj@gNAVv=Vm=P({eEz%KN7 z516bX@^QUB;p;JSab1~OX_ee<#-FVi=^*j3>S?kDn#<25ndvY-3pUItSNSVgz&WTp zgD}9)YgWI1fa%jua3CKYyotxQJZ#u}E#cCIO_=(K=@UwfVjGvVcmO=1qH-R3h4U|w z6g<=KEt?Q;*%J0#(68sSKVFjK+1`4wZNlU+Gr_Pj&E_t#Z20FDGhf{?paMQEan(3a z1O{!Ad>L+Z)lx7pvC8ScPK~TQisQI6~tVr@I^I`S-GMoHfIIrDFP zP8&6wPp2VL7u~|H^S0o1WJ(d5SM7(CK3!^3xfOJaE(6}X^>6fN2f~2=3Ah1D_{2ZI zyE3jAjbC@xcPa=9S!YOw*9v~Ea`K#nP6SqQ-qGP%b2FQaXPL36;RiK54cz;fJQzB7 z`e#LDp1_+5cayyvh)u=V{ASjrMZH@D2L*0>opDe?aG_S>l>EYxAh4T==8ovJZC)py z)pa{B3i;H*{hcDeM6i*~2t4@k|E$&0sXrSgVF&uG8F6=hAtOZ`-s+B5&`x6&e0BPv z)3Zf*?_QOnDxEKPaON^vSI^@}{9r3$JBRt;GbGQ5-&0q}5!NSI9oz2m(kFq2@JhMK z_8vf|_#F#+jIn^hT-AeBt=OtcBi811QW-A5p%h}~oE8kCPV;ezaimPn2ItuE^UOl( z1C%#ZQv|SQ)YH!cNfp zIsSTe8s)~%8|3$=t4c$&rUqAe)!|z%cVi!flMM0>_XVWn(#^BrpYp`#<8lZ~Jir1e z%?p5KnakqDe*R^M&6%fwa2m}maL@oKVsEK=4H&k>M6=LkkaW~=EeJ3;f7hBQJA-Zj zU$W|^M@yBclQcbW_$J6hQnmdnA-Ha75#$_ZT^B%*gwut|T6^Jr6!-(40`pYRx)!#v z1pUm}zPYh4{v&9L57zlX+8v2{!i##v5ovMQ4C9n}$b_M%kbtKT%RY`P_x3X7T|qA! z4=aq~9)V}J>kF&SU>cKXBUjdP^vDGGIWM^(BUFK_pZO|eo48i+w82~&o+UnR@iplp z^!-+qY3LI0KNJo6^8-fq0^6b1&xmvL8^6Uyw-6#q5N-u)cLzPNYhXnmm;yKiz1fR$ zKwx%j_|aaJSdQ^E3kNj^@i!L+Gy!6As~bmkh9KRg6Icl(K%df={{2?9hTQVIIE4He zT7qXEbjgGihiY&~J<`=e05DON#cUN%Yj-QZ+tu*v*_Ns2D0u}{<~)(d6MRd{f6R&5 z8xHaKy*oFn(39SVS$z4IQiSVdxCFmO4eaR*y}EvmT6DnV5V4RXx$GA!uW&6Ry72ea z@nRM=5e)ziz?z0G@-I%rHRNAlN?Jbrv@e>Ox!e!}c!|w{a9oR8_Unj@z`vFW=6eW9 zKZc)kN|GIO!6`=A42`J-N_M6zTAS#)DZ*d&aCSvAWO%2Jh;4ZIB4OZ z_2r)+>F>8+OY@>l$eAM+&NaP8c_hyqJjZ>l zE3Tk>&pid;pp(+`xJCe%Qs3&juW$QTKu&lb-<@egxVZwKiAaZ>PP|(b@{c5M8evtv z0NVvWoM6LoDDsjlAJ8?}?h zH^zmEAQy&<*~}N>Wxv<}j21)dz}?8*h<`TI-T&>xHVAm(D3n#9QWIH0eyvW&rh#@? ziNiKrmC+lgNkhf3IV!(%GZM+t(lU>2J5YyKO^e{eprywwP`%7doM>ksAJqq2N9 z`*y!)M=cZ49^xXK(O;|Tm;e@i89?nN+VwIl_{yGJv?g0^6-|`ShfkN<@b_)m>eqB1 z`OEme4$t{39#LNdhv0kh;r>S3<(iP6$eTE~H*IA9;$PQQ#uaJ%%9THgt7Q&vIoUoU zfALx_1@(?clDOJ=oK%+XRh=R&)EIX&E$6-_VFm_|vy+9&3n1j^`_HN!{V>h~B|{n! zoItC(W#k8#md5K~IF}oz>1+wVKL^;S6o1BDXD|iNVEksWqZ4>yyT>n#YG7N#M(mSA z1>`>jb8WvM^$_*1s_;hA_2xfMN`3WbabLErgkL5YAX#v0u>`~k51E4_f1VlEi0Fn8 z^2V7SVmq7a4`!$ani$iF39|-BMT(pfEzn|7Pa< z5lAlEKd5*j5{8pb{$JQi9>zS0P!&O(y`jylIHiOy&FYyu_e&l?dt+>jx?FwdV}sjn-p zDx0XiMC)natBrThZ({|v_c`um3YE(Uv#5sv1~AqP(4#2imZCYu^o{5NEKC*M@c}$b z!Hg!yPAUth4U6EY@=z3+!`#2_is0&J7KFpx%0Qj4y{rIP)@iv_poZd3zdV>9DqZf2 zl&;;FtvG!U2#Kj08=S+;7JSu7A<9`@S&L==g1KlOgNwlBxi z4q`t61Qyh)=~R+2Q*FS66)8!CaWVV#X&x|ZMWR7?E#@SBDc`=XD&VX;AtBC1>>VFx zs$p)vS&heyAdmRRZzBR`2l=RyP&9=j5vnhfznm_FRG{e?1LJ=Yqw=GAvFAG;7~BY0 z+>&HK9GwIKdyWK&TWG#*{w}Vlk@!W~a71gGf& zxEZE|wAa|72lg{2uyVvv5~)-fih=9=UR1`k$;IEYXUE|mR_Jhi8iRfLSVt2gJHDbF zYER|-t6B5FnW$<6Q}rl}iI9_{p+U^Xvm#k|%VYZqNZ?a0%m=>wU&I=EiZWEZ5$(>$~Lf?^3EM=`e#t8c~QARpci3>NjY%7J@__ zK%u_Ce(=j6+g!Mc<)upJalbppl;q*{v|cGg)(V?e27wqZ;=L@ zu(rFoyS|%J?8 zy{c$6-&ebu?yOH;k=By>Y)Qu11ytl25pr);$B9`NR;K8r%yTME2ueZ<7-U!GEsi5nVu=kX+m&>asbKZ_rv+;kFswGEJ zoB`x8kUBAc@@5X>-yf;DHU`BX4By7=fD@~J*B~c3jYRiq%02CR`ZaT4;30e6WcNPU z-A;H`L4hb*DUm$g89F~aw6h8}vpXy0J*kB3*xtO$cn||=Xpf+-8f^xA``hxf&}OFM_ybAe z@&rANYv;aK!wgML;z8)Nbo87vlCaf<_bH03a-^z!9Lgqn@|@6E-21yEcNFMAPzuBD zyw!s$jTyHWT8A+f<%v2=^3npM#K!oMt$5r{>;NHO95US^FWPgc(P!XjaH&JwVibsI zYz`5~0oZA?yZDv`KlWF~r31d;&(rA_ppv2AOrHag322DiJ;YN!%iF-RT(C4CL4HvChDMTcj$;CorN8*x?uMau3L>Qq=l1+O>p~#(Iyu@Fju#C z$*e1B#`scy$;*u1-~Er>u4@DL^$;>!0E^Tv89D+9_5Vt@!;k-Ks{#3VZ4yk0#(}eB zZUo$fp})e z0!Cnw)jrfJ_n|MhdA**}O#m|`K*e_C<2|hXf7d04JH6xO%Y64kGftmXGY_9aPM5-* zmuc{q0 zX+UtW+Zqy$q>Kq{RtW@A=ZZBc^YQX;#u9`QxR{jba&1V*xyGs)9R2KNMhKuia zBe&zfAm)SFua!n($^MP?JwP_Qo0I==U-L9$8R@o`)9hoTqq&ZVn5C`kCz2jb1EIKC zl^-By|9r(|V&rO*N#|QEkvU_7_fos)fu3KaP(TJho7q`RAcE zMWXl}{hRITT*!;EFg{FGK8D2=&Patw^4 z>|#CkS~3BgL6r1o@|aOYi6%J(^{#(zHh*4u=Q9{8=IH z)pGx4jbBYMQLDri=KP;)yBC4H-{qz#*F7a!0gy$;gT#LVY#ImURMBe*0MRuQC_vSW^f$l!_} zq3T@gVnAF_#EgEn$a|AeVmBd5%()B)-^@+7Fa>K32o;Bf;n+2@(ER8J9rh(qb&IP? zq;?ey^HA7;yvQG57+DPkVWZk6(rxFwAi@TRIRE0Yf!73%K6QQ0?~P&_dzWB`Ev~;@ zICG!K5cj{zu6sA~^_Cm>2PT8I>B50b=KIq5O05^{OOO7CBeX1uQ(98J#4v#MYU&sd zZYbW0zpH(!4(>s^EKOOv#lXTxbf1Ye{vQhb_Z$U9H52K<+zT-Y2r|3gTA%E+sX%g{ z9Q-uH4auDtAJZmCB$WM|6;_tV!##41MM!$>ePX0!NHXHAG*xKSagJ|T^!^%gC~^GE z6Ox~8L2O~@P$b&4m}d*cmsm9kjvsPN-kadP1l}khy}F9uO28f|{!e=D`_1f2yo`A( z&P9uWNj&H$ggL9?3B}_-5Nw%RVD}Xr%_{yuow<0%qtb0F=W}}2rh0CNeL^}}p27lX z7(o{f74QCrm|K}#Z0k+a!IUyxQET~rKNW<|SHWVX2_Q2(;oW5%&n}b4lNb`kL1AH1 zEGCLPXVS$grsH`jRF$#!?xNbi?21yN&IVwvUONO&=9IQvxV|f6;aO@3exJbigXXm} zp_BDyw4j2c;7 zY;D?4+_>I(9EMtNjp)X#@cL(6z0o$;yKX+K=M+j@31hz&{(C(fWtv`&3kWv$@cG@E z2&%z1h}U_whVd)~cAT3K9%4N%$ZVk^!#v=cmwSLk^NvKjbDJ%(R+f~G7u|A+UTKOK zFNOD6U}6iy&%%xV36tg-LA)K+kRz2pk6Hqa>Y@@mg&>pXhT8)TrWc7kn}(nM02zYd zilS#WtV+R$=yLbgz48lq1mOLSe>r-NTUDR{?o%=L9C>pf38^my?2ZL|I`+QqwJeOL z3`-+nPR`0DJjugK+Am+QSxedpHaIhU8O(R#R#V??*5k5V8RqU}&?p86D1{c= zRLvtk$km0dSWV}05yV*>EHsl8fI&hH%HXJ@OLx_`v;fa);x=U!!q? zD_uU;rU?1`?{5V!CZwb+zh@UrrHB^({YVCLNmc4VWj5c>(Cr|t=bg5fsuvF!fh_0e zHU$AgI`K8rp%PvKMLf*@-h0qBl?o6!=NEdBc_h3<#j?P5k0Rtm-2;xGSWqL8(7k6S z(~@j<7n#_9+~#GC4&q+UUJpeNaDA}GW1j=EQ<}#|Pp%n_7?!o$9d3mv=YWK?gL<7Y z*G(ntF+JFu6;y<6E*~jfWB~u(O?f5Cc=R`^Ji5xf%#YXkP^N?(*ZC=i@tP2WC{P^- zlwn|&NUXnsMHyY@4BiDk8v+Qd(~=N0jXnBt`7=D!Xg>$c;kbtGO?SZt#;m={)>g8% zpPdy(CN?1z(;$VuLdIlsWp@MXD^eXQqyD)N2>abxj5d*_C${7WsXKPPec(P_4_rzXA$@M~9QXCs-vQUx$n7&$ zUXN76MvpT~$9c6uaci2L>l&A3zj(4sakHT-Xqo|^6fbb@7jNilJTBMl#KiDX!j*fj z82@;4&Z9Z=k+WoHn+l_)Qv3oVsI18HG{SlF3!Ij!Oy*$G{g`bT!UCU-NM3$T9|Vv14y3AhH{`gyLe*p*trc{-~zwgW2#5{FBs`dcAHOKDUFHuyW0bKayIXuq<(lo4c1>*Pvgi+z2Xr*w_7Z%T74TpH&}Q2wCX`^0!^X!srag9?2-W?tH~a{FKMM zpP|7j?e=TqZ>#Ohg4EX#Mx*pCjo%Y-vx35nQ><(V~#3w#Tut?E}!7n|&Z*qh&mCZ(y)MuU)N@ zml6jfA&z=HqnNBgv~af+#qyA?I=*Q>?w8z!M3?1V7iHRD$QzM;nRKX*EJ{L!B32v^ z&7I=W@d2Ng8hCv9$K=EY1I!jPlEea`qlxV`iUmrRhZQdG#y-L(V|{(6!`%@X7`p?E z@rht~o+J9;8@m0$?u{Q`!kIwEwtlS3Uo*C%pxwm|rN2;I$l&_bIxgM{krD3qFF-5- zp1gpxbWkz32e=IQLM`dXzJua+dp(uR!k~Qoweb`D);Ad<2MVN~w-POdaZ@VS`0ozN z_OU{kYJQH(>7r3B>V^!N5JN8_nj#(|&I7SGN2-dM3MNDpD7Co^!VkmRt9KP%+oAT8 z0-{5{CK*3LC^%OFq_DW%#cmW!xIc?vmQw~idOI*v)*p#qJ(stHXPsZarsjcvj$iMD zd>?aHprj0&JG_n{Z7t(^Rk*%wp6fOO5Me~yEyamPI9MhZYR2+d?Q1*f2RWw;yWQ;$ zM_qR{73*DX!}4+ADL{!wAgnaV3%@ILHK#{K=$|dzY*v^18{apqIu(lmt!auf5I5=F`GB@m?w><%CctwG|BJdi z)nbSXk)8jUtX|>psp7Lo&T}?%o*J%uCXTO7Y*NP%jj2tlZL4yrr4=^era|P+;o^_p z*u{)~NWFwWE`h-G@u*0A&&mgGm04#6tk6eg>Ev%-h4$MtBZ;=T_+!EMV`=}(XzeV2 zGQev+(iORihpN6DTZ$7R!8UOvOlQqvOfE*hxMXLR2rJkZ-t+COV=dd9+8}ESKqlmk zzWp@>Cj@+tx#?tCdsm^D==w^2{_)cUeKTr-`{|n7d!+J2DDGR7lOVK`hVb@h3Mon<`$?tzjtwMtKD{#~$U16U3bQaT zfq;Uf!tXCgN|oH<#@+|3(MO)>>ENupwhUo%)vyxg@?rfdI?<#Y_|`bzs!V^+y)kCI z$2s+)Tld0$iY6o0Y=p>fDZR+A2?UFWYq|u)6(Pu+vh9CoYt_LDsf&t$$KQPL`T+}` z&2ItwP#E$ zNnk+dhrhRdVRG>Nu}WYptzm+5+|p}3ri$Jxozn!FMR+i|Ihxm++f6h_W-j{NN^Akm zi&%m93AQ%gfWGoq>IxpQH|M#q{He=RY>NkvkME7&Y(Xv5NS9GZ$wU`bN^S~nx^2s) zrP1WYcT$#m$dY?Oe!fRePxnoEx~L_e;Vyw=Um(-kWbP8Gp_0^^QU@ z9IAq!YqPizPKxR%jZTe-QKXj$x_gMU_4us4HtEHjNu<0GklBJi$z0^I1WpHq1+4`GAAPkdjxZ@)II$pt80C-uYT_*_kcarcyYKSdPL7 z4n9cOnGl^1=AOn~yh9r1lnY0iAwq?xqAP&d$DI((s8-KarDlb-urGoPAt~>&gd&PG zaqs}>cS<@3cX{tZ6AUgD%H9R8gzQ4Zl)gixcKrOD9<>q(_@3GI4UsUf)e$%U1cVpu zK$QDCsd>$qB_(q`c8f?#*;)po7B6Riv|5X*rOJWW!G(A7=~A)HM}fHffTZhtayvLh z2uv*;+j=sh0G|M7g!XM9k~bp7IkFgqN!#}XGb?k>3n3aH1z1Vs)TJgZ<~QP0yZD9- zvM3w`hv;m`K;RYr)uz7Xkq*2>IYxN8J&g?<1i0HpFI&_8#b+}ZzFGZ$xdTA;ifC&c=vo75AyH-o!9zF)^qt003+JjxYp80++ zh6Z^*r0e59e|Nb)>)IT-$2IVzon({2F+CF%A;#s3iV#PRr1y@+`*auMmh%RbRllJs7YLrNZg5c!H}`g= zW6@DkjkXF6H?=t&9CmudCK;$I{z2r@3UD_{UF6s^30<=9_HWJnO2>Gx{MtaT^AG5= z+;(>O#_GE;J_SVz_~l~%B@;8yTREArOkI}h;5tK*s5p4IYTs10;Wyv3-)+ZOCMVAR zufRu`GivV8FbJm96Yqg*oh?yd|x1$F!*5NvL)5N(RYQ9Xy z<}roq9WX~lOu4#(QXZ9VKF+l>(Qk@-64G#7JpyhmR&++!@>(@uW6k3$k$Bobs!1Oi+O@y=muJ(iNU{iP7sspLvE-c1@JkG&&FH1UU zSlJl*kbE`q^e!NkW8If^yqW=kiq#;A!CUUD;z7eFLM;xb{_-iPSi-GCCWnCtF6Ytv z2fbbx+Whe#(=O>;o`Q}PAT?m4gAh)G*7z8sI)yBe4oYz-Q09$P0YGJ;E_e06znqq6 zK%3D44G-;~N5PGe;@HoKcQe63t10|Uxi@05&A5>MtpRywCsyi4FWAVp`BjRuU)O#1 zA@qLd-`5!ybI;^|Cpb2WmteTN>_E&$GpuU9-+bf0sODkb-&T)E>c#a!j+8oxkuEg0 zQyQ$K?xOYXd;NF5qr(7q-{BYCklLs52$(i?2=n$U9}MFO(uO1fGx0P@8GDBe3nVr7 zns!nr`A3#qS3fCDD3!;!+3hu0)0AHdD>9-yIv9-UIAWTu^aY2g#(ZMHY^MAH!RvOX zZP``PtZyYYc1o-&DNH}y5467FRHv{UVuF%!t0Js<2OD$^PKt_Lc%y6Iy;xHE)797mB_U32n zot5i8&SEBj%{fDBKpwQ4Xf2!JB#XHi)2s1hnt?+WnI+|#lisoOs{8bI$B4KT{r_7G zd*Q|^rt-X+OvJvwcFbCQ+T!+g?npnO{&;}h{gKp@4S;%dH z(sy;_feCV+{+C*+v$<$11{(v@yR6LamMi(JlZX?cBgs z8bVL-`K~x@+&$dKw1Aj_ZknS%zT#zgLA3(S)0_yXp6x|M;E@}9u}fLW8fdY{1OG5aW`Dg`KM+AV~l*q=Oq(%RFK%A|A(tM~AT(i7S;hE<6qV{hx*Xr%v`waW}bHV$*) z4G7il+l$5xEGW3AS}2E*SsbfO4fVCjGY6qsj3CEs>0C2m_n$sWNXqT+Rj2Yj`( zkg(S--lM?DPijwAy9dN6J7P!}4-VnZE6`UV88xmfpu3F3s?$+EnLmIc@6mWjbiSgP z-o>zG3=aPUr{Q1@p|4Kdk!!31s%XG@k=G>^AgDL|HHk#rhAGj8hhM%RGDf{EjfaHW zC%69%o955q(i8JTrTurYf5-pgLARIf=&8fe_^vIQNx#if2#(%hye@Rnqg}dz?+r5wGC(;Yq-+9DSyUL2 zpGww^H0|F};+|g=fSq?9MM^CL31cBC3lM|f_qm(5VF-9LZjKqUuL-^#ym6xrgD+NO zugopaV*hm0s8b4-`u9)-FVxqmjCU15xmfOkPGC{F(25*Dn(_}f-F)g&(d<9-#ZUOB zcU*#(8XVz-=zafgspEv5uHoN2`&0kAGv9vo{>jNy+5HQ>=@}59l~zdQnN@xg8cbD@ zfrC-iRx@o&8r*Cu&t)dzevxg^aohc4U?g30#RAyb*DL^ZEC36Vw~V&Wr?`o?fO}>M zIU@$SlOF>KVthfmA7=`0?(`q_Ny|)-=wt7qL8z26p`w?7r3?uq-sl%8jh=&!$WCrj z7gPo0q7~DR8Du&BHEmizozWDQ-U^ct1B0k>k~^&UjnqA3ViTRp5im~=5+Zj3PSOO@ zpPQ{s1X12leGd?_M6mLQ-`s@f{`yaMDSF4@iqdK0M#882G+J^{nzr~#fmTw$C|J0}4`qZ!W{m}ye z{qfa1_U`nkf0@k}|7X6ltwoL23tdEwmnlX}Y+h3!*@ZhV@Yo#LnSY*Z@}rqvWt!Qg zvvpGPa528G{82|)o8loUvcDAKuw+3 zVKa#S4FbAjC9BOnWrj?Y=_FI1io(wyF`7xaC zHn^V_77~Io3L6ee7wwkKxTd_Auw!72V$d&hJuzhr2N_sDCWgwfg?IrRr(cx%i-f%N z#>8b6)Zs3}!Vnu!QvW%akW6&lx@PV%Z769d|0?cHP5iY4g>bIkyJCgv_%~F|e>)bZ zZl+T=ZQuA??O^A>zUYY``l#2c_lAGB_(8{y+bh`)+dthob@Fe9>Jn+EJ##(0VWZi< z7M87HOxOmA`I-55-{6u343V*QxYvZ2#^4HO7`g`9Kl8yj*1YBb_LU4^XEFr|(J;^( z+a-~5tWge>a$v@9NejzCWhY&zG^{|f)A61l`loQpduR+9LnmD+C~06ha1X?zGex4& zCm*jztIbHMXy$X^Gd1f>B3lJZ)CuV#l*A!oFeatISgZ{&YG7=PN5lk#tjP&ec~zIU z0x-4*W3N$W{7Cg?9b~+Z`DaZ*mXs+Lz%PHUe3NeqEt#+cBIp1tu2>kki&=|Z)TQxn zks6R6-xK%gfi}VCR=)nZ_rG!O9d2l6`~N&sU|vHbl?+Hy3^!DLCjJ@Q{db6n$@E8m z^Z-DAe07Q;vo-$y{TGu3{r!Bhvn}US#quMHR9d@$>*z8c8mBtD?ri?{y zuZT1~Fcaj4O-xX(kClno-u&b91-=H}`tvh5M7grs@n6@9FMRWZ?jm6PqgzMT&sL3> zZW~b-^h>S9HvS3Lab7Ola9>%yB{DN3tQ!4wH@?8=xBeQ5FwOUp6@gGB0R(!yq(UQ$ zyjHBe4=nE;KKYNb2G@vq+Hnp*Br%wg`6D=G7b+TD%w4`~6i_NMz>!68cDL!1%Xa?DcfQ9R|JzG{=&H|2mrvhsPw&JQK)j@3UINeUX$h^Er{p4@nwyQSlN$)+qa5NQsmPF?YCU z_+~QLh}Sk}Cw0dGVhY}9bIF`3S!GQ|gJg{}M){@(d>pI8HRw4AVD=hh^$?Z&Mmd~_ z%|0d?5zcOrjP2m|LcOR-w;wVVN+i=r1&6k#LmoEc2fplW-?pij(pz(5?B75B{3m9# z+`CeJa5ZJqk$+>{nKg=gG3yExIMMhL1hCs1L#+bNN=We{@_P7b;okiEHB{51p&# zOJ#ej^JMd|hwAz_81Gq0+<-~nPZVP3c;Q}SiKGtxg3C ziEDQt5!eDwV5rdI>w$38d^e5bG*ae)VKuK&!|Dx*Lv)^h_9O+FOkwUP{4-a}+ZIl< z?A`}aQE;YlTK1U&L977u=K-@Qz$kYyA_?^do5rRYm}j2+q*OSU{Rm#hcrE`vyv92< zX46wvTa(JDskLxIYS!o(LDEIV3Clq;(_?qvXxhIC`)kk%I;ZNK&eca*C+Q+y<+#q{e5K* zf^w$rj@CY()<+esOSu6BGEmM%`^5<;Z-&Xm-A1>0t7h?yGZwLLUdL}_L1g_d?0@=e z8(1jZXn)$m!cdkPyKaGIn&{@wuNS^)XObioE?zS}GrqaE2{*duvT=S*0#f8mG{{Ug zDJBEt=6;F8X7oW2!3xgHpQQPmP$c_6A|WtO6pJDC-gF+MbVKEY-w;?3ftBF;VEyds zjn;di2)Aw!1<^UWeZa4a!Hn3g3|z8Am<6No%?Bsv39yiQ@rf*2T3`t9lU zPH_FbmwGYt!mu_wZwF)G?2C#@N>iOt#gApuhi1?f$i|XMH<29Ocs$V3Q1I}lRl<4?f(cc3tOttH}ZyLABA&+lJE6vlH#9EQ-+1iFEOArRF|11yJbMy|I$R9I8GT zl(;@XAq^o&bHNeQVodtRnV@5mg9&xrQEODCDG7glO`|Cu#z7Q?6(ZK~S@D(wJe(E{Zjhm+btEs;N zRaMxN`emY@T7hFR*&R-H_olC&Pi}bTZ~V}eZ{>zj{igI)jRb_rX8Y=!cTc@$eo`%! zOJn#)t+XHjpmYYf(p_&+y3R`~{BF30CdIj_NYCLe@F9uEO!S)oLg~yByAR8% zsG_MSCDUsTesCjUzH;(?Ht~DqZuiXKk#a>8W`@WRYaqUcrfCGuRi6%6>k>o7xFivO z7s;ePs}-_!d{x9O9ApC7;l~suXeDzIDbtP-15Y{i#oxp1dg;4np+HiF!QJsF-0ogy zk_=#XD6ZLC!oSUyW7wOGVUFMX*DelFQKm0Zw$wN}`i{x&?xz-N z)Ua#=79KTbA*P3IzAno;Xy_7mTFhLzI}Bq2;+<0FefD^W-r#_u9UG5i}dJNDAclxbH)Lu=jA!b#rw;&e#tZ?(@fimA{jtmIuQi<8o+qRDT^5e z;jqPotl^N46=ipM~1 zT50cX&4|e};&Wgil?q@{Kn1fn&oCi8O=SiK77H-|AvI{K2j5raDoCt|rNrzHSWY;9 zdBN{fjLd}ay>6l(;`yRQfo)b~W;TWSGX%-`D5Jcn3alZc^Khw z0nD6c7;_DCIy;5OhObq@Q$Pa%YI3b505hEkAcb!=gRI9J)7kZf(ebgI)K*zMZeK^N zOPf+A6s0^ z$wju9V%TjALWIrC8Uo5dC*=A+zKSK|Nz2xLD?#JILZi)p{Nag$F8 z6q+^tEru$n{&sIN`N(+V*z48LlN#JPH0FPz^2M6nlXDya;Flg)*4b*z& z=sg$&gDIY&tm%zPIsjZk8jH?)^Up{eg%3c@C7w^CuRE1RahiEo zx=KedBeG#^WV5B$T86M~U~MDoDEj^v#HcdCWeULm-A~TEF&L&<-icWzCjJ^6G=R$Z zU({key`O^5m}VCOd6Z)UzPL3dXC+vxbe4XC)p*5V#+gNg>GLHNe;Nl`)}R|lMf-<| z`r5h9fFkWKznl&5)b`}+{mJ&T?tbShe*MJbKX4t$z=!S&z^@HGS85R8vS)tiqr0^C zqTQSJzW@uhaB55PRvOO(ky;Cjw|XykiJRVofjxIh|nsIfbztmcWDuziN*CQ8S(z3);uuH-C{fZ;}*r zoxo*B1DpPTl#ioKL({pQK7wtlQJ1m!f&oMHC?k!h_bK9T(oWNLH_37ke=rnKa$(e8-%)vopUPRqrDlxBt!EpGXyNi3@^vBnR1)yl+SN`T>_S8({9edk1ZX>m7*lf|| zfp%(jNdVr=#cZosHx>#pIM6`XL^9Dlr@TKl`4A2%kG%vpN%FFQRkXHhWDs{LMyCPP zW^j^<_hHuO77|D2?kKQY9=p@Sp{OzwyrCh5V$l^0?!D-#f6x+pzBr>VH%6Xe3(%qZ zHBbg)`;+AxPCn_p4?D*zI!qJ2HO&-D%4_k=%Hr?*)I9~%;yJcS7(O)v5-n@=1jxWR5>fWUr9Zh@ z82=nbLgGOXNAXuGRu$-{{%&fTf9rTQQhNW9+}oMFZPH%%%$HpJ&wu=k`@=#}TSeda z!`BT(_qO-E*ITA?_xJa1-chO{?Stc`VA43OSp&+}MaYSu!PX#_)-Si@H2+%vkA;HX zHN#GdQl(p0Oak3{@AoF{*)f@EkXQLhP}HvHNi(L;P8xlT4RDb0l;(hCjBf22NTqdw zp_c7&@n;9|eF1<+NslOA8!J6Aayb>nec2lUB4aQaurHThWD|0_}x;h0uQu!zg>~;;mN6Uf5vZL*di6Q)uY;sU-B=W{BI(kbMGk^sJ z4l5}F-HjWi)HY%czrnv@AcE-+9MAb4mW;aynzFyCDiFcYNDViyshcBG(A=qW5(z!DG2M0t-h~? zh|?-wu$298Y;1X<7IFz0Riy?>@o7-<7-4rK%2_l8iIrBzKUw!@5$-?FlHf%!k(;gu zmu#zf#}MC@(`YF+E~|>iUEm;T^2A7S@vKl}N5kpige zajCepecbPy|9jJu(+ft+vmUR|RQ2%dKpc#cH;PTNba4%OJ+TIz7#J|*WHUT+HnL_) zSAAkedFHut8-S4_Q2cr;1t60MFda8A+;B#jrul7>{Z9fVdyrqBY;dj!0CO-Ubnk)7 ze`*bTB0XXaYmyG)we`N)Mo7{+YRNbJIVBcznA+=?`?USP*}A%-kqvBy0DMpyr%35O z?tu*r{&*#W2X(nvC=4bNGuJYur8bGr8IticmOzN7{RjV+)8ol)c@FuwwoVCMb9FR3*j{Yb`$aBw|tJJxyDpOzR z(C61SZ@!Uv+MJ>1BgeWqW8D`Km{7D4xpO*JK7&mvAcg%&aJ~TQTc*3)FrCBezVP{P z{pZN+I6Te2(*AEL+UXCC2E+ff(DYp)o%r14zpML|Q$@KnBmx2@P!y-la>de%;hOuq z*G&6@c#$#<p)P%U1%QJX6-BP`;Lgp7_TF$ln~?iWrty)ni1bMy zl|+yl6%~QW34Cdcev%e-^jHBuxVdLiV~Q9l8rdBbD8?8*1JmLHOAE+N!>G2N*mY1h z_|oaZL8z&}m?{72iJAnrmi?_$5f;kq@07f0Z@T}IjkUpZUV5=={vCGGPkp{VL4eDC z_Uh|kjb1X}n|yqz?EvIbYCjx%-3Jc5lEH%oOsY&p%0pO0)0wHS%nU#My208azZY5W z2odgU^VKH0bYP4C_Z0}RXwfBDh$t0n$$52BK+Oa070hEP)74Y)tknQ;%R~?%LNsKW zpoP7pIv1^}8uTx1gDK5mmqf{O_vt|OE}goKKwX0iOkUv4T+`_?loNI@wev=z{JI5& zh66<;BtT$f@v$|``~EZFQY0CuPC8_wdPQ{&=aI{Pof1MMMtU()HW~nOS(5oI+KWU& zsD&u|*|ymhPEO`OBL#MY_dW^@yKuJ^Qo?N@7A=_!Q@Ft;_ZDD3*PJyYlbrLU z!RnxGcV_vbNZgV`-VdhD9B~>W6BO&u(>SWR^#-8Q7YKda8d+%ow(WQ@z}?C0BiHTD zUI*`b`0_AqmOds(?94CP8XtRt7?DcRS`xbWC}V6z!WjAKMn9n@xh)l&i( zK-v-mDuqg^JZVA@LKH*9LPS7869^2qa&e1c$X;Yb-0y+hhgwcR7u%Z|~hy zvxV9j0b91gFce!#Q-&y|plEiP-A7IIyD>=}U?hLL^mySlGTLlC$&991fu8I3rqEpF zKt#!fn?e4&l{p;S^2}vS!?~5B{7A4)3_BBDCSJaY< z_?!ijM_)?!NoxV0X2dXO3!-5PG}_G0N$;4K;6>gp3BM1sSfsN2tF&)ZKr&5gp!+!| zXNLDB!0;Xfp9v9}8#0#rAjJ}dB+kUBGuSlLpWM0Nv^q>m&f(I)Q6-@Q5#<_`)^Q@#sNod)GkgAHf>6fQ#Vb zgzm?^wE4B+Nu6A<(EZt%{+Y|NeaNcFrd_H zHyMew-)ZxJ!P6}=0OU!O99n92K?A8xm&_DM*aA$IoPB9qJs%yF4$=6L#jbC=ZYN!< zj!OMjIsHGj(Yr`qr{A&=Gu5gYgKUo0AP#)P=_c1+QXw!*If(Wi6B!5=+`dB$B~RRZ zAOXCnAsuVg(1&Y2HcV<`u(W|z(4xHui0=T_B6Eo$JK;?c!EtkFb~VGubAT3&Ks*e> z?IDP}dH7i$(+CiGAoz5GB{5cX|A=lwOh6XrF2cE$GUNta*un(TvrbWa+J9vu|7zv* zuRsXB5%i#*_1SDX`&iu@UwYPa9{I5YaJW%=|BmwiA0!%(9}?o=1Ku?gd(U2-uK#C= zdCT5UUPx6f6LDn|EZo^)X!nf}A&VZuOvY)RDS#-Pe277ER$;a`P~%bqnAyj+pPS8V z=?BoTm8x%P`)&d&h-8egolqm4fpq{RK?EES4w`>Mp96Srfbdvh5+3hsK!E$o!vWMW zKEH=4#NEbRqOt-;5`e-(T0lIB?hL*mWGXFKU=9>a__1)_r@H#ot077{LKnlwioh}b zdG)@bKo+U59KAk~aS_j8AAKmixhap&Cu9j6;or#sKrv1plgGX<$=N``Xm_EzWG4Tr zLwx=Or4;%u#vof3JLu@t1_a>F6fkKZgg57Ld9QS;ADi-| zQ}r}*3tSW8=+ubB*eh`NmQ5TZBPMqgVmOc-U7wLi8dlQ2F}5^rkka^qsZl6a;xHdb z=+Ut+0-Z*O=WAZ`9@le5CXL4>08oK^ufBTQ(fWgU_`uv~|98eA>0aTZ!^ycTgY{=a zrOD}nSJtLjlqcpMsIt=^S2zk16_SgrNXZiHQ7j^FZV5YPIfsFfREqCQNH11knj^oLKO=s%sm5()bze}Wh9|rPhu%z8okUzTp@vFT>5In zG$Y;z?){DSZs9;IZo^YZ(gHQW1d`xH(gxh$gXp9!JiH&=9NT(VRk5l~|Iz2%{%!YX z9Sfja-Rb~iw2tA+|McvA z{octxAT@*cuVsd?r2Fe(Y>jqOE%F@skU4E99UP;a?-ZQzTFXd-Zl>JAnlJgT)4hMT znDHPJ{T``vDuVbur!1VioMskAJzt)YU z_}j_9`dvcO{e_zPW25Q7l|-F-d=(}mcH3w+eC^(o`AdKK88=>Q@g>&j{r_XF!w2*Q z1s{I#b$_?O$(t9O(=o3lz9YBqx~_d1i|LC*xK>=gyVFQBbFYd7*cQY@Pel3dL1XT+ z;%S5H?rkM8P(VCN?Z09GjOVqUqH2mh0g}DyECQX4`ZLFJ! z;8I$=0~ADqHVKaCEOq?`+O69JyhHeBWHe}vzI3b@3vSvTfZ);n6xfgEce(h;R8*eI z0R(A$>1%+IF1L^wjm%%S%r-kAeF6&U0tQG48eAl%QijG{3_W&+TLL1lk9hw8QyfBx zslX%Fjh`xEELe4vX1C8MFB8KIh$G9?^8{i@s50PztHyt>X{jnzLV*CvXF}T|E-Ki( zV|M+79ec&#;qa;;LpCalP2E$zI zgORcfFs6E&z0cg!>i&~}mi$ZQzKPu4L(5+zw0l!*Tt|U;7WoG(lP~$7V`$G^>o;PX zS{Gr++}Evf9FRtzHpUeLpDf~7bb7y`PWWL1v;ZLYz;Fs^2-4U_P>E}H-83D-gx>iD zgir(Fe?FC#1(2C}pg*pYh>VP|!A$cGGy=v%A-ZTl1mb@bC!&De+x_0GWL-c^ifzr~ zhddZKjp$f(1k7+Xlm2Iu4}7BNXd9(zou=&nDq||C&I|dCgF*k)0jxe&f;(`C>k_bI z0d%Wd9RSd+6H@p{7JxjkQ1o_xY&05Q2lJ`ipldVjkOy(43z(jD;$_~&6$vGc%-}?i**7x3fwiv4thc`Cs7~G^?1fwWdLzNj~=kF zbYOw>o`GaSmHS~ZjI|26oWj2L39ULZMPs5cF{6z?0U#~tW@x4&H&e6;B8>bD+V3@3 zV&l!TxW?1w^6Lu=)VLXHPqsCC+1A$Rnpv}X@mZ4_f9KE{*KMihzoY!Kdj!Mi%8Rd@ z)zG|oYcl?*N_ebP_`7!VH;fRj;zfC5wageyB_X+A$u!xUjV7_66in7Yl$HrJ-e<=( zhyLfaSxlw8U)a`o&gKnz{l0&U7OxC?@4MT;17_rWLV+0=N9pU01yRk>)#4>mi1u6_ zryB(qCX6D&46ro?Q0_TlA_kK|^ai}tIFET+e14`!26$A8U|AX(XrRvar154@k}$-+ zCc^EJ4v@f<`Q^=mS|x(sl@D_hSnBnH42u2+k+cd(dV+4g(Srbb4;A4wp*{?5r;U>$ zglYa6c-b42l9#Lmj62DT1r79POvEfGT?v;$p^*lF``yKXw3UoFN*WgN>46x~lByd10!eIVK>;gG3a25e4!hvHaU;E z9eDzd@K%t<<(YFHyN*-ffWChrMvz(H!1@?)^_&)Z;tx{)U&#;k)gG(>&IjW=jtzfr zx|qG_(&zuvM-Ln@ms!{R-*fx`6qxg;zx3s=&SCnR#n$4hGM8MzuR;UM0{!t(D^`dE z0~9`>lKQkmhhmnI>-4>C**MM7!>rcIJ|U$}z)f?UBj}0MnWPGX_LS8WBB)9)$;)RlMhNFEevZefnO;J_+FC zB3Z(gV91K^f11<~d12^_qA|WH1qoK1fI;t#AmeZe0@VQ6V5NE_Y_2`Zp8XxOs$1Ra z0Dx|>6UPGJH(dG5S+%m~BU_`A=^7z6HtRZqC}iN~hoFz)!ax8nMXGIY zjK(rEL8o1$$a2{X2xBC|Pi0tCAn1e5KPO8$rc(iy8uN&4iz`~xw3(d&TGKSEC#92B zM+3#q-l;X~U({deoi-CwMTr2XYGo0t zGfaAYY@Hwz;DR4TTLD~lpl4RU%VWxV%e9NCj|5_NU9}axp4CEP23g@ADmBuj;xGN% z%F$UYqxS;U5hHBVJU~JXw#~d3)Zw z6W#tuqBxCYk7o_BU~#;lXT%q33m^?WZNwdKfb#^vwfi^{e}SUU53nfGkg^A;iCzT0 zie!&RD8?b0#$MRpoxTTU=45tGC6s^XOW-YQtXU(s?};TMMsbcAVAPV<5Y92-jf{N_ zL(4EmqY8y(&zU$&4b*e)STr)^SemUiv(r}j`eU`Uj~9b(y49@?0O(e??xe~`SLC~a ze|FLI{%Ro|u5=ur4RF!L41}q-c8nzxwlquK7wH&hdsDbQFC5B^zd!r{iAEmSa{Pek zsku4mth(7F{JuyFUV#~6U2+DdG6U9Pyw=(b3Sr!lIYfYlrrp^{Ay0GG)PIBPugV&9 zJls4YC7|zRhktTwCmo1x0x^t|-Jif7PY~j)cjWp0FWAg+59Wr ze`S0PP{qFu*j_#vitFah*2|%H`)dy!xasRcI1Na*?ulTyV;e0_9{m2Ip8gSzluwzE z2tZ?Gag{qqMCA3aym1^|UwF@t(6IW6HLw?dF&n+TxX|HJ+i z$6H2zHk#y;^7Aob-9-8E)bP`OK+=ol5qTJ?;HZuqpwOf{UBADhiJylvSY&w;0Fa2e zyjFm?(C`!L7@v31eJ(OFs#{tTO2T^(Kmla2V}As^+W5VQap-`T)b9lnW|#LfA}K<^ ziVQ-VB}@h-#4IMD9`<+B=gx@9Wz2jiF;R*DIWbIjz=>d3V4xAhWei3Q=BfHKRI>VN zv9h{a^?EB$c-p3<9-Rf4iIsl+sCvJV^@PE5)0sMpG@$i`R0g%Sm%70jDA!Tt> zK`+GSVLQ#;H|Lm0BMas*Z3j$7OLhlzg4&nB2j3)cORcxxD-h`!>Z1#tA275`ZzF2> z5-nr&z1ULZQ3Gre#!Lbv2^E{^lu7FUHO=1Bu4X&vM0DnA2S0k|y+HI| z&|6`rGHKDR!nt+n<=mcyONbC5PdQ?a#6T0aOwZd`D)c&xHJ9Lj6=Ip5pXMpkiFH2x z$4E9)x(3@mpPE#*Ia-(4EU{5w`DX+vVoMI;@#GQ{kb}euCVmGohzKlKKajuG`#S{K z#l?@s&4_VH&sY-L9I`RaQu=wxze?u4*ErDtfTR4Y-3}M4VmKcE`2_Fy$zM7Dx_2G= z{(n)X6VOfl@9``Eq4u3Wd*Np{>h;kZX7lN%q!d7b0BF1-jghMvoi;2Cx2d70(ery+ zx1aL5{i?vc0hb4lffgNew2e=Ix)1#0S(%GkWSf)%%_yJhW<|X zcf1D$f@!9=04@Od=J~~dX=DVKOylVu>R19!tM7*e-ftDRWei4h1`>Zr!AC~C6S9cI z?P-Z*UuR_6&vRh5$>RelQzF`Har?=;j^m?EIAvA%#yzAuUb24m< z`nVMj&bqXqv(pEcdu#{*v`N&jxzeBV$z*o>cq0B_<6S>|%#sjsrxfG*UpCgCzS3WP zQq}J($8B3JfXSOyK##WH<{C6<>YBMsZJOQ?(_Pz}>(WFEfEDz$F z(l}BRuGVQ`3;4FIIHm>Mvfo>N9Yj$Nni?qjC_u1Ln5@YR{o3LH^)=6}M*ydwK?^tt z9tO|}5Po8a;1fgiXDSHBS6~~rp8OsCM$%2^I_8gq9f699PdE8wHktn~Ax1y-tIxgh zY8&6#HUB#Z1W=dFpZv_1{$T;LS1pFqTl-x4Kq!+k)z~XjRt+$#eZJ9F7focAY5jB5 zwZ?_Lj)S2aLP!XqpjAkRwk^*x?9Y%*6?s6CUKqrF8)3~GxvPJDk0 z@1YV;&&xlfSXM4|Alpw3b*U)NqttvBdFKRRo_cps8hh{su}XO2fKN^7BGWuTul*0r zCiA)W99&E>61GFgt&ieWqnd^ol>$Z^7(|Aw;dxay1tNV+16-r0&AWQU86P5HYy=Zl z_x-^WDP{(s`8gJ+y~M9i5(n#=edQ`tL5Om-8hxL}0KpX3vn8Y0;zH(P^1i#`$Gw(j zu%kC=Efs4-1M_C8uCx19qIb6Q=je8&Zgr~z0J?R8*W^zxzWK=J=!)US?Q>b+RPwMz zLq|6az5cK9>p_er(ka!8`2?!)KMBBWCs3C|o_(>5!srkZFB9R8eM@U(x%Hp>fwS(n zw(Hav3|0pF>v}HKRcL7aA+O#PJeK;e3k!$}j5bEc@zDR>q$kzbro}IB@dEJ9-h|fg zBA*;sR00E*P5&dRXMyIQP1}~RY%tZYvUZAcn@2+YT%izi1(_SUoAx6T>Ti;To-q_i zZn~k7a$?pMHv|rw)Vgg6Vrqjww$QoLyiyaUMyH*q!1tbs&%%ChFQ1M0?c@38YiGTq zzj)}mH(ckEue#=cXRga%`nOk1>d|FvxM)@-IAo*O8AJ&m=6bDoe4hv(7aD`V;C(0> z(&W3Q2r}=R%CXtpy=xKcxorN&G80xR6m+zo0I+9sRWyI2vb%I2EbWo>esqnwX;@ii z$jQ7+DExi-9u{ck%)dS?qM&C$A%mjc-2l8Sk_klLM}b94)pycEhKv{va=$0hJ&?|~ zGw|0*AsIv-E%a|_d);%Nm+;y{2rvkZJuna4218R85{8JRk^%+Z^C(S<$BQ-tr}=#oF3RALqSuU-Yg$r*yke zx4P8<0Nr9I-V9J5RD9o6^U>ssqv43nwUic2?p?)wE;zR_YOcNI9P&s%YqyPjxv?7c z1fU4IL!}|fY7cZ_AR1*BWgbH`f+Yokz(h}-M7brD=#&;GoQ`{0;|MH^>w!X38!4DqQ&i^~a{Lk%leRkT@D_A)fWdm0?QkEiUp`@C- z#=eFPDYVjph{vfBxP3Hb4)%y5<=%r$P?pA&A_nPH#HnAY|HQJXKh?o5rNJgTdTe13 zr0j$?;9(gkL2t6?F-kAA=H;3Xy^FYp1=ENtmpZ_LA)p3%RC81L!kwlUI1deGyEHwy zQb}&gwOu;a`0{-oKT0t2L^ME!nVufc4HH_YnM%lZ$${*qUp|J84hsejk} z@5uAe>_W#T8}FEm$5+5aUV%-eh;dqS6gr<;$F#Z$ZK~0ZrpT6+!tGSpXr}3uG--H| z7~@?92dka{s&iGm=5ISjXuzmP4G_OEyUE%np|ToqkV3WAF!9p!h>-mWR>M zA_g@Izf%tdM4m!KydnZD-S<;?GfMR7+Bqw)U6Hx=vKE*)Uvtq=lLWJOyj@nn)V>^!G;q#Ws;&?UA0?5=};(r@7C#j{aRh)+iVa zjv$33ZI(EpMLSAq712xSBr1D-^wb|?83LLNcmKhSj@f9LFc9ve95t6TYt}Hs4gR6&Ih3}@e0tNGs{>; zDNDwjN5l`LAldP37e*UL&DGXk04fn+JX1av+?!(RI6{WW{#W)ranYHKQD)BBTHKZlsxNky1|m{2(fU|@@eI->3~EXEv0MFDBPoVzol=0tu1%mZ}* zw9Nuk^Rc7>@Q>Vb_=j%QU)(9te}~Ll+gssJ1>QTiW>dxqmeQayziOC^!B%>4TF63D zWJJ39)SR#QJ~Qtyoj1oxu9weK#?~Scm(uE8YIa^gQVBzwYdDbX>f-ba^Ynm>Zd-`c z+|GQ^T-!EE$`!b!gam|4bF6_omuH>HW4H$8Xzn(R7|j7flG?$;`({koTxy6ac;&9^)RGuTKJ#8v~zR{*SWh0@B5M|&&IVfeT7xoW99sBK$q3#pOUtzu0T8m!ZR0NjVz*&WK+*Iy z60{f^BQXN9kweeklg*V{QA z-Rf2c0CcNccg{Ned|mjS{D9LxFKdcFUyO(9WCEpG*4k@Dm#uo*v<02{3pYi!$z5X} z>85c2kaN=F+;EJe&UlhxjER%5PYQ>^bi&c|&>n!+@CK9S%IC7Xx`bP+-BNV}EXgE? zWGX|Wcmfk3wS>b$^WsZBSM7&#kTI;n|ZYCH|mHKl+BcVfp1aIbu^fW=}n9$&MZ1|V73C|pxCBf3>3f~5&t ze7&blcyO&|#F1OD7NUK|ObL0=keeA|dx6{TlR%8090(E6xQM+2p+dDWm(Y@L?P#LB z!18d(9uNUN0CW^Z9KD_4pKSPr0sxd*n^-8iHYy=^(*Pe0@yOP6^EG_e_~%~voUeS| z-PB$4->uRCu=*VFo;l3l-fY#Z*GQOJT~dw$O(v_<`^B(LL?C+mb50o0%4yIOB7ii!mH8E*3;`nv9>f!NJ7vWzEd+v@EkMMSqEdzu8>;m0 zp`QjbU1kn&r%4_Z0$2tlxadEgG4Z0`iL8*;5+2>90iiYEOMkZH&*R=x>fI1^%Z&O# z@TjJ7CjH+0k;ckGqI>}2g@nwTJw|M-C|W6zC6w4%SQwB%LAIr?Bgo$ke->c)PL?LM zfKlyRYr*7P0UyH)32J0!E)dcW==EZdTx30YpHs#+STi>0hAeb5whhJKz({4;L}9(17Kv!*d}!&dIz%NQtNspV>-jLf7~qz!w- zI7psUh@~{l4}ml`t4t?N8-H^tawc%OmqC&SJH+3>@wbc3xHrJn5I&I~vp;Q23(PzVB zHWJ^hV10^arlhu=9??iH;zYJf5@l6df2z7>kGvw zVJ3{ky8MFy+_>#!)T-=xCVZlXp~9z8Yccc4o?CXJY7%rRPhEF=*kmHT0F+^m+7-ca zUwGvs^{5;Oqb|$LxqD@bGbNDjYl< zNJ^0X{_uK{xI^^qut`6#Zu|hO7$KWW)(qgnE$GD2@gUOpBf}>A`h!3pe_I>{I&lv8%p-`f${a!SrN=`}mBe*~j zTZ~rgZq5c+%(UzkMNwT;p|+wcuKl^&SACzsTU>;A?2A>RBdnta7M2 zU&pk4!r$=ud1)X?%h|X{)64s7L7c}^@LGG20;^cf;Cb`*g4($D`{V@EI&2GP5F)D({FPrePmWFIPJzz-#J4%JD_o*$hfDiuQ=z*B#eJSDz&T=3R(29+JRD- zyK<;lNa2lXu}p!LXtmN)XO_|LRa^>k8e0J*!L9s{;LiWP%@~d9w_6RND0#9hrT9qQ zaZ!kW(o&G{Q0Wj&DtqunTbYnB*>v4Z;g$B)gEH4yI9@rc=6&Bm?0wqk$X%!B8QuX& z55V!8XI2>9HRun0>mD4`>PrLjI!kl_*9AIpCK!wQ3EhNoj@+`UOQ->|*BB$gPvIT| zLmpLGG|rg~u_S5IR{gh3PYJp%VZ!fTJW>G@Elu~sv%P*A`!g%h-^IZe*Y|y8IFM!+_rX`pm6LJoR{EX zMv#5H0yR{D(!Hg=X(hiKbRJLL7(g8Azmi`-=uKslXPGzR`N3Gk-+=)18 z+i=oj-i$hOJ!w>Ph>Z#F+d?Ao-9gW`YGx+>kvzO8$L1r_*11r#F$YwJ8$#8R!@8AR z5uWXm#u1xVvE$;dVqatZW^(T9Dou*A2f_uq5z~Xgpk>%#%HTb`f7SZxrJ>f=`b7hF z1N*oo?H-*<0%0rNcTZDtnmgPkp0qboHP)I6)OrfkS$3WAk#ovDNBx-~gzwH7C$!+rpCjjRd5I9hz&jQ%yO;)^ex#V{ z2w@T#W&n`UFoFp*C3l5bYlKk8WP`P(!Rue3e)4fg#Mf!4Ohn>%il=0C zIoY*eHml>^!u^lx-Q@2>)O_~xs!Q{&&Ozq-_Kz0c&!xPEGvl8L^-ttY%$bARR|V(N z78A}po3R7-G!KUYp8Y2@?gxuq=VVfHI#D_(UQUiWM2-Y_?@Abbb06yWMYgl@P6su_ ziZwoP#ocWBUF|rIj`_P~5L8|vc(?_Lz~!|mbUN<+FwjeSHi4-gJRS==m2g2`W~qc- z%IF6(n7z-;bzBB|v3NQv98|Li6{DLm{WZ=VWRGJ1!SyH4LZ{j(Cm3mhtM>G9VDF_T zfx=ZkEV3v(bZ-VgXeiXkxQD9e*t)uV?rkt3}j$sEKpC zq6q4EtcikM%zpOH1-^(7D{*hnMPV1rMCD8nO7GN2AFVNC~0X=E7_7pW;$W|c&R*Tm`j94dRH6`TZSEJV^}F@%6c@#PtG>Pt=M{6G0M`wi8$D_2qEelcN5n_ zwR#$8AXGKgAQtNF2i3*ys_N`;Pk zrjk(h$`pgd&jOOySoe>O6QC;#dvZX9<^WR0G>(Y_cA38;Z?lsgKU?`gk-P6FGfx@G z6DUIWA&M*St{t8&Ap0k}AxO73K6}GOw+Euaxtsk2_`CqBSpr91Zd`s7{n>bLd}z{W zO^F9kvH3cuI&(`7?o_*{+$B}N9i808ydN~62uXAk|1aH8%BlNa6Gbg4)Lr7WHaF(n znS40aq)JP6jcnLOBN79gVe4uaG!tAv;hQ#}slP)qUM96--M09}LHcg&BguXhbRuHiJN);$S{bem*qPjv{3yi$UfLKI3Qi7m0--MYs!ncB zJMBrb2eYW|*X{J@28d}8qsehbRj2Y|v+F~ZmmB=eWmMewcntOrkR`Zi4)>wUN$_Ff zB48MzCXVeSm1~!=tYSM4;Qkuo(3hQ_Vg?zslKuk!jpXW4%Tu{98bo+$NIM`>$;A(^ z%hUn6z_f}xgMF>9F+k#bDaqq|GV6bi{U3njdta}6z~FN`OkmFH{b9=4W+f@7fZ0gJ zD1pLBOZ7}+*L1nuw=FRnH~e?Vh*YhYkW6mG0l6JwFfJ)1*%U$sG@(IlSVqfry0X6y zd-*ZoF1UbwIw%k^9;i9X3DuYVFT(93$!B@LK-g{tg!*G3%qCpL==7$S=GusLsgU#K zvPj(^W5lhxF7`>y;GM5!rR~1lsupV}oJ1fk8e4d>W$wm}S`IkqeHb+90;(7R zreTw|Hbs3t+yn@;TQ2#%AQ^S>vgjD@aN8XyqYzN()Pl>ACNp+~&+h!u_PnJf zPq~oL^xS?`(XUJcr8a_8)ok9PInuV#Y9aE zAsA8k0R`0uvldstEgl`-OtG#j0j=dVJvz@U@hZwrJD*O`w%_{_g%vEXy#hG^`2ZT< z5P^)mHhOp86z+mIQ3@?pc>@ErwV#rhTn9kTa3x?nLy-oM8nJnJYu9DNB-qGjY&HE^W{rWyqM`YzDSK)bO21C&ab~0y$F;b2o?6^VlebCW|?ZOWf!55 zRol71zFflFwG=4k=fBaASmO-I7`qcRHb=fhvhI5!#8oVM_fr0vX7-dD z1@Z(VU%%V8STVu$97}`SY_@BVK!*=YzgC=J8M>N=eo`Cu>nb}dUgUx#dA0@B3t_C*z}^{Z8FT7;8SC43y>wgb)kvfJevSqvmt!fYacaVI?~m=Sk5$|2 zA2wr~den*q!kJNYc?lo1Z4o6%WhdkGIcFgp?6r=a)&KY!^~jMw43L8y<+xfj+wU;$ zbuFnyp{Pqz(RY|4=H$!n@uvQ@_n+U7eF!m9+LInJl0);4V5=_b#~bE!{UwWJeF+pT zqH|R&%jHjO_=im7HEB4}y}h0VB}HQH!5o1^Cnc6N*_kZOUiB%<{F=DR8ybh@Z4S8s ziQ!Autg+nt#f{MNwb9dJ?RwS(Ln%GVUr}^Tr%xCx-D$HIGipq=^uK8}t_pmr|jaZXHb?qnuIsB|o+qR?D{G_2}ydd~0j z7YbZ9cYzYPe$LJ zNpkZ%9d8coaC4+g1|~x0CBr9s#khDX)XV*g6DYFH_R0MkiO^<)-F-js3jTI`GMBbx zC_oM?c95$(mZm-|;GpAZ+5%nVe2W^vG97Zb5ULHCt=AmN<-vP{!ZK*$Aw1@d@9bR$ zXyH+%A2<&nKxOa~$%uNLZ!pAiJ)ObT^5r%fg@bw9zH=)Hex0a?y`c#+-CsYI!MD?^tz zS2Y$Kwn@K>)J|_d709#5Zo0-(3tJ@mC{bN=Geji;65q454`FiKuz05#cQC6~T--Fxp13oGmP@i&{9+kYak=XCM~+ zjBKrw!Vcu8)2@6HrH8u*ab5`>P3HbV8uxVb=wgI&7}%D`K`pnB@|9ovjHkh*?GQ7~ zQyXVA4to6hnKVp_c*7hWQ82`FC_z%T&!zum^mz1^*zQe zX{G|U0y;Wn7kw>KR&L(5fO?fsvv6p_R*u>`#c%yV3pRNOsS!rkXyOA;IvU6PgkN-! z^g4L0sMW7yE3z4o#Z@Cp54NOi=69^i)J^sEEImTqh zs|N{5OcC{pA9j`cka0jFM&kg8MoQ>L+)c>n{-N13475=KD!n*KNdR}d(uLKHFPZt> zn@4P%<@G?BbM1d8!Jl*HGW*pHLtZ=0C-APNU=REmU22FQWTybnLODPj2QN9tInc%K zn32Ws=cSIYgCDO+ishC*+ahJ`zQ>nLWuyA|M$p$nD8*GT{gMev&rw}|0`2iSkT<-y zpwNYaShDos96Y0n2aN=S-cAOe?r8%-T|&s=qch{-)nl@r#m7ae%jA-2X5&I;12MwS zo6ao+!&J+#xD`ZPpvX#Z!aUfC^*a2{`}YE)1lV3MI)46uE!=nBC^j0+`P-kWDL5J~ zBgxVemGf5Knqf;)^m-KBPPVTe89gX@l^)%5(bh7J?Xqtp+GBwpIn-)nQpDoK1JLpa zyO>E~r4BY5Un-3_hpPsKPdFYic3m=PChw1c*WcHsynlqj>XtHH3Kr+G`}N{%j$e$G za<58>t_l#EHs-Pe)fIgyj+(<#uSGcqu!MJ}8hN(YGrF}F32+SW{>}83YS-3KU#dfS*s`TXm;99PBp zb1n=8B5eLNPjp}~@de<#04VM{%dBW>ViN_m*8-p6e|yT_H6*zQmq!XAs`@-wv~5-R z`{6{r{B5L!$gkk4M5b_66loqi$MA(oaRZtL-()K4Gn^gh;%p)?M&mRxb(xpqQuGW130}(pTqkH5_hq>_ zD=V$;cBB1#@G_mqt;TWXj5z1J0L2C)>xzymb>m0el8^F^kFNis+|4GOoq=g!<1bB| zLS%DgIHw$k(%nPohN#yJcYB*kxSz?*}k;1@vE`p@~BP&O=2iu)87jBEJ zoaMMrC;7L%GNj<+tB0hzxy)FDdkj<4qZK)TXwIS{lU+{OR&JfdSs7+6MFx%z1nnjG zs!2VU?W88V%JJXf8`MASL>~jAruv)&Tr7`Hvxp(c4vK!?*~gj`4}t|^`KzhEay(q> zdF&L+YY4S=GjS|4m=$aEtN6+M42f@nhUR<6C4PqnRfK^{DG0rE+t@m$2XM{t#%S!> zRq7fJa@eRNgmT9Qh62hym1LD)ti4J^sJ>;4}ZeZtP|A76P ziih{n*4j)t%vpOr*)^11BAF=s;G0v4DrZ|ivWrkDySm7x}sd-tgobYoEkr4GSLdFC47VNh(#Ct3+b zoB7eM&Wse!f033rR^EeAT(;%yftJTLoE#w$D3p;BmX^gvu{kUu;Yq;opIiA7?APf^ zca2og2tb{!XI&MIQaAirkY;<)2N+gW425l7v1mx;qYUW)>eu|d7k|ZQitxbtJ>B=| z!1+5&+s@njUrE8x6+4Tcudws9o0Ih&$fNG1opIg$hkSjC=%p@U2`qO?*b`d(91a7g zgjh#5(QMsY3=b1Rv`EVossqu8%AngB8{98;o4SC(Ia>MsI=jZkck-m}J?Q3d9S!C@ z_|I^*W+gLxWFMI3pDCX@A1U@98#1^(7#R_>mPj$eZrsFJBmuCKsvrR<3jp(H6Lz)+yvCuU6;F=&{qysE`Fv zhy6#JQ_%)<@C74@^si2_KM!gQ5=@2hcL6bz_;iHyfB3zv^|} zGyffA!DX`duOGslo;NTC)SA9)-SN!U=u(W{kWRe@hk0E8isdYbE#Xu_793dQ2$Aj$ z$i3ot$U|**YgE}^=QK#6W+6SAYI@GCn+cR_=-(#&GAl6yHyRzQgVg-uj0pVaF9{H0 zr4J`9R{_DfIj5xWMt7P6v#K7nx}7TcoR}juvj>Fpt(YptvxiPC?43ECF?@f`&}+ z?ZmhIH3B5$uJA#K*0rqatqVybM}iP}YI7b_H6#r_Rm34o9Ov%FC;+D!rw$(b z479Z<6k#t02RcuQbTkz3p*qqO^4<^}XWiz(O@l{dKbE%FH!s{boS3~AU*T$mYmRFh zua@Mr74JOW7ZHWI{MG-uMw#nrO-!UeI>Y^26;eb?Y>JzRdGcAf^-Z@H!c>>0^&^^G z3W(9=Qf!bM7*>ZVN%zF!$ooq1izmC?;w?W_+!)rbMGMhR+?H;~@*kgip)k0mt;k5q z@@mKlKV=a`Y-AhOPfFAePH0NFQa!|GvQk!0rW_nKSli!BU2hD`X0P~Zvfe4&KWP}o z&TKhQT|lj9RJf@a?;fH*hC>#cKM0veIL%42c5HwlKj54Yf6?^EylJ!mAHgcgwtp4M zIg00NsLuChbM_fCGgdbvj;q|_=W@H5>;H*T^6~N*QEI^1$0((h;4O3Ki*sJ}BgP$m z*dM(QMJY-G&2Q8>a1^*jCDwxct9P^n;`hvi?7g}uy2|S=3vel1k)ySPno0-})VN=% zsU6sMQN0lS&x<~T2<;TVw5>=#9XvlBHonE|-Ym4*Z!Z}sH+uRw89&u(89ai8)51Yc z6-~cZ#1r1K=;9piTVQCV`=55u#}kwW=V3FSF8<<4>L<8f)6kH!=M}+vum0js_lcI~ z-&&^5QTmN*ZlvvgHk5GAta2?6^Ml^PFW_j~%04hXtu`6~_;b7KVRtJ+2Q|hUW6obk zuZX%O-bBu@{bu1C-r;8h6cRw?JV3J>tlN$>8#=fAPLR1Dy&~rOuqV&ldBxHOIc^hW z+QPCO{!;Cuh#DTbbsyH}`+9l(=AWo_{V@$u+4FO|`-ieyulLo*VxnvA14Hh|zhUq~ zmqsNO*GgO~3;1>hyx=A5vvCtM<$JXvWTjcoS~a|-&OfN8Br9uTagD5yCSVm22Fwkg zM*hi3F_v$@D|gI9A}>``lvbnqEq}CjJ(tK=PWAG~ zEboZakV?Tr$K>XPiihVIX$sxRf(TRM+p*@WE8Kl1QjydZ9&Ka^`ldFrhN=55Bm)UEa zm4}}HB1Xn42c3tM+*mt>RG6?grS2npp|$}XV^$3wT>MS2EQ)|IOQ*7>?-X#jxhOd=klrsLtyVOXHl0z6pB#P7vb4g_Jv2KOrlZSN7#O;IvW)WFCPs#*f zL4JlM>1GJ5#mnt?Lgr|uMHVfrPNXs%F@i&m*s}4{CX_H%MVQ##uPhb*g8~o_l=0&} z>yeK;A645Sa$_9Wy7x67Bt@K3;SOeh0SYa@J)HMX4i`N3OJ{_^ldfIw@VSI%Ar02= zYuWsdEj6e2;1dUHobE%<+?5Jo51+OU7*8MldCP|TAd~D`!QhrIvjHY|Kd0%3@+nUR z4tU2t%bi8&_NwH!r0C&||EJ@OAGG|t{`HvG>LC&-+F?TLO$0XfZS-cPs-R8+xdT&<9GJTA+9Me7i31M@hKGK%`Hr#eyp#mS*pgs zvGJ?(#S=>bj)qm-QRA(E@Kv5Q0ptaVEP)^7)b6)-XV-MLxX1VPs{=HWrzZG>JS0!j zMc>3xge}fQgqwZj?uP)C{|0LCx!96`yI9@ebnA2L)Zr!UK8{jjXo*Wh%@=kZN6)@mK9t5?qX9`R3v9Nhb0;^Zm?_%C%WP zvcU$fH4%5ufcRck(hRe=t<&(>(RbWDn(G<4cK(L)cPgi;hour^iYqD zP0W^l~)9Y};x3Y_vNyx6xxf^C_qCIsE7MhmxN$ z(PxlNC^$(oh?AzoEhmwGw+-L=@UB3rmvBZzHyt>f&rq#*W<39RYchCds3Y|}qv6xl zQ{HzRB`>-@|LZUQo79Xlc2_<1{@DVhgcws?lcFdzT(4SZf$q`#$a!_D);m*9``-PR zRIO2Dm}7NroXFCS)XbTV(oup&mm#HoI^z@bT?-@B&9%VJJP2>++-Gt+!QihaS;DFB z?=05WP9eCaQDOVW^eW|ruy*AuUl~Tb+>9cOsr3fFVA@3vAeZ>!j&;fbeJSVpCjU?m zs{1Xgbw|VIm$a_8DDv=qt`$3jKF}L~a&iO1B=y`aZ=B8UWb@pK;Ut;O*6+BB#}-;iNd z3Z+hwtB;zR{xMPuyY=!bRX1?Z?bjK>qdQQW!ojQl_BaOd<& zr`7l|3yR$tXtIArCQUii-cB*=gFDga(`G!}9!}ovxm&tl=ihuL&Zttez=t*b9v;Vc zzBJph%O}@whR-hzN_rQb=jGO=-CloIc0d^EqyF9EHO^7`KL{{nmImyWD1yGPZVo&~ zihQ(Hffpl6>$0m;IBLdBh<&daiph4s8OWuGbTDyOSoHWRtLNRfY^5=KETn^PWU!*? zIo??kMfN!GA<}=2&X5c^^SlArkb=01s3W{joV7{11aq_{XoZD~5NIa^eJ&qerAsvG zz<^jI1s!Re($8!pFWjGQYDs)pTp+@CzS)vPmTuwBi)-;{AiE1iB*Cw5VU+4rDWag4 zPJqkcWQDdIx;BD8Oz+o-Z#TMM4}>BgUW59~DD?*k!h3PCf?5r7-jN?XAT^)DZ+*}S ze_}`spu};DiC0!?T6>=e0gFj^y=P)%mHwwt0&gu7wH})ceAYJXUP^nhj_DOZj~ z=2S%g$gr`MaW(I}8?^yjxXypOD0tS_c>J4O`rvV)Dn8%6#ISk(z58}?2cBoTr@a?> z>^41s;@1P>gB$Fn`b`upssn^L*Zo9hhb@owP<%`J%-z!bRm$P)h za%NzIb}HUv7wcf6j$AofewzKvk`yYS^)!xwe^aQMZ%=KXC0tCm8Q|5Y@m_q8JP}Z* z#=`!TR`ec=Jy4k00-hc|Ng?r^@+bI|FzyR?$>J~BZLUrAydU3hJsjM-YS9=r`(A?( zhjhF6ZA0#|Q#T7Bt(`GwO9z|0NP9Jl9zYQY)2V!WCH;U$_VqASeE1O#YnhZ^0cHdV?Jvwk5Q|re4L= zs5nd|nYWe#0?K4W|M+~rJCCExpM{R)-HJJTlHjn$pV|2f>CmD?dz@CB9OV6NwW}1F zbaqluHE*V(1ZU%?j;tJFaTy0XSN7yY>NiRZ8;(8e%>GgfXzXZ6i44EjYx;XpnNYNN zg#gYS$@?DDvb{-tx&}zbjd%|7h2Kh`Nm-alyjc}I=rbEBYhhVYY|l-H)UyEL%LIqj zm{aUk?5##sXejaCURV_$C@Ep97;DMAq!9e=CF>`_+6~kH&$xPq-QlSXc-h4v+Dzm2 zWhK}GO?mKZWQpg`Aa2-c{C!>F@1c*dxVPJv&vGhXGt|>Z{`uyA{x51_Krn&4tYKvM z-n|6!0RJjMRp|n&x3jRl&_?R&7S>`yXN#JEeuYA8^9xTQ~<6g#+6C{+xG_l}%!B(P0v7buMZ(@l^* zRa=^TN!n6F2f(B#-!Gi1XRb&(@5+}zOTkmpEqxz-`%Y0L!f&(?Iu(7ITADb=BEjW8bdK`x!4=g0sYMWIx&6-q zvwgdm$O3%)oH)qO-B#P6L}H;KcqMFgrg|9pCbagkgy;NU4@P-gY*l1h@ip_&naY{v zC&+(8Z``kOa)8SX#Fa(RL|=OEGyty|zB^_sTfF-VEhw?Jn+Wv;IP|c~c2Q+kQ^;$9 z|BmmeIlK;-FQ#jxpxmSC_a;rXWC0qCdFxIDUB?>KRWt=RCVh<>Z*>-I6@>auy6g~` zvg!t`jgcX%cQHU zz&SaHUf%Y030{?IvdA+lCw1k0w-i3e()3>c32bG-xU)1OZ}cizf+JEtpYGnkP{G#z zJ|$3J-r@Acr1e!}Uo+!-i4!;eO!byi4cz;qQhtrqWe@M@F$E|J0q!_$4=rFl08gFq z5eUy?Rg3Xu_r7#tthx4@BK#NSr=U{78Z{~4BqIM1MsJ!v91l`BkU*R5wBG@5kDSIw zt@yxC4P7!WmR6jO<1++SJL*qn4vcPC!(FVgFC1m}7o9x_u_4alH7PiRHxbF#)OnmW z=TAVB>qDeLM-$m*#YGZ*q!o2Orc5FTUgzlozSsCjtV%U~hW7}t`P}ERDJPM@Z9RC$ zR&f7qx!m|OPUWd&;JcHhY${+lVb!>}N}t_I4ASDh&y*yMr_m0SZM6T3|6Exq1jYTv z!uPyFN!7vu!^jS?D6-u1aZn*Ob@F_?@4lHzol3f|oZLsZa@%&~wP;kzbdUck#p!aU z`$W|TX=&N_EypM3T&8Kvne31-ZvhZwd%^mvH*U7$bnDx+p|yDhn+#*&O7C3}QPCSp zJn^A}d$BZvCq5D7toJ-mZi;sr`-oo=226uECuypuFyYUhTvPC4P3g8C+4^%!g=GIR zbiBw(F@iJ!JQSFRaN#)|QA6LdwKOe$~R|FvRH}wZ(w<>6aBmg*NeHtUMFT_{}7CJcl` z>zTHVE_AQIWk;LObrPmgy>{)Get<*4{97o(W?1Qb-5S%gsy#V^GF48yu}bb$=yLRy z1j5eA;k4%v*L-;$@e8J!*df~b1@l8C)e+A9Q-rB6G`^)h90sHy%oY{C5kwGEU3M!J z<$D`O@8V^r?)+%yY76ZL-+A#)Csgk!nIjsXaaFKl`nQR+UsEE|OO{$_NI(dRWdMa3 zk~tuwL@MqkQN*Eq$(u6|7G1f2+o z`me#qEDev@e^w3VZu+i&2-it4qX>PAg9%s^zA3#l*!)<0Bu?3^phVDkUfrbRDF`0u&3sSHp%cJ!Ss&faG6`MJTLGy@1-l_>km8RW&!Hx3 z5;N$%h82=CUm-%GP_%BiA-Fa1-Fg?>!CYNj`6GGR(EQD6yeH!aGSE8Vu4kN^+dP*r zhKJ<{wan)*HRrXBU~}M)I#^)aO?_@Q_p#Yx)0g|-y@*TAm3ts#4oTC=m@F%E5*J#cC@O36J4mCG}!7CVnBmc)fylI zCa(}wATSO2#CR8fKUbC|xAT=1Q$2zoqx*IG1dR0YEr;ff&H7eiPK{0B<2x&4kd=>h zW-07+u?BE^QJHjphlXuv0_o@eGhlxZmY^dHO#u{P zz^Pkn8A=#b+?V|j=&ua*o6RSEjtK#huufA#RBAPk`jNbrqYo(4MoE<)oz1r>$4zmw z;kk4Lw<;#_U;F*1=5GcP?e{`Hjgq_XA!_JA6-(rr3N}L%cO=#opl+?kn0+iTur<~r zP!m7f{x{)wyudm<3QXQi2Fwny$?33|UNQbuF?-h@TE+|SJx(JE_c)JIq3tH;680p$ zhpe{rTaF#bZ2i^rv-`q#sW4Z#H8_1-|KEVs$Qf3@e2v$?j}>6W{42>b?PIOYN%Xx) zsg!!0B|KY!K5>nnj{$CYk!q*{u_)IY6_JmDB}Tj1SZjpyxEO}=UOL`=h{^;tXd((S zbA2*oL1YbSP3%H(LQ{T?KJ<@p3Y|-gA zuN!*98;&GWd#Q7>YGGKY+(qd!a;mIx_Di|c$*5PAjAR7JM|kI+75G6~S&NuU%x%M< z8u)`|gdTl;j$3%4IOw<~}C$5fFn%@WiN@ZYy2s=8NR?XoKeDK1q=4;^p6D8q>m;MUbeA1;8 zKu!Lw1i*Krtft2+#{U>Qq(E<~Z8se*EsEy`V_&8XY4XD{A_U*>8!q-F;3o z6>S0To*R2jFaEu*K$|JT*Ka+s#wmni5Jb?}s2Zc`=Y7A>sfi4(M8h%R&q-rqkjxX3 zx$X}cl^t(ZSiND`j+|yG@vEm8kSkO!1+b8aNzax-b>bSJ2s{20FmtxN2?fdOGA=Rw zo;fDo>3g5Kt>NzaD{;6a1yfqb^7jcIpWi}qn@Q1}V9%r%i%_rn03Ip5#IwBzKI*F& zT)18}pmg?lHzgo0kw7sUUcFa>)x5IbPSF;5;j$;eB(MkEhzc@ImeH4W}-3Qua6{K~7e8BXu@ z7GS=KU$ZFoAgpf|Ec=cn(ZFyK(jI{_sR>v!8Lq$^BkIi~NNU3pqli2(B`)FAi8(n1 ziJE_-{&BDuRf%yX8FPdJm3Wzz|+DPjm7XafnOhzg;^QjQWF?A)`B7&B?lo*^sAwZS1KBa-Q=fvOh z7&DN+WflGASVM(V{~ibga+b^s#Tdu_@`W2q(!r~|!iemn@V#JPUh!0Nig3HiQ5RKb|htg;bCHjFO(9$F3E% z*#qLv2gLh`=j=D4C9f5K0}>a+Ly;;&OJi+(kFU(^D+edrk1vrUQs2X)f5XC(`n!@Q zNyM%0rv7|WGbvXvgpb3OsEZnxIsJ%{(wTpjmcF&?c6qq3QqiXL64z!*F0?9w;G=gSJcv2xy$1^2+&VU~^ zX6Rj(LD8O-{oeUjt^M5GK|VIgO1hAKu#4aA^O~R%(L^aSunw$kE~Q;a(uG?pv~|@W z4y+$>dfuCQ3~zufN0|+>$}Z1XXBQaTjskhX4##vDS&D?gx|Zog>tCh`85gH0OW%s) z?P({y1=Fpu0Uo(%4;Z!|97h1;Y9Q@T58k;6lZQ!}L>Zw==wa1APwxi+7#xz6G&lqX zipl4bpZj*+G6f&=T-j7EfXKp-g%Up7`l)o3x?5sB*gWwHI-@KbKZD5aao7gZNV~@P zCMndC8rp2LqOXW{LXo_pKVQb!Ilckkf|3zVC5Dj={Y;M)f%I0w&@{ zDejOrZl}|LsM6h%9+zzlN?DUpAN17WctI#;=W&f-MKB#%FJ38}tFDtJF0~(Ds6w6C z)Dj_|*dZ4Ie$#?bW1BK z%38lnHf5WtnNxI%A7nHA*f=RtRf9n^QvZCcJRbE*@{KCRhRUmq#42LyT{irhfEVWkSUlKTBS}i2c>R|EL)r&`e=HkLU@@&dUhhu!tlHh7n(?^gvslf{%bdjG--y&O2XVzRIt$IB0e8+rYTn+BPP-|NpyztmP!;p$C|2WZeK+;=x4hO^4i z=YTc%EZlto;eYBZga*wSbQWa%p_G*^U@b)vv`4RN)C$o}(-}$4!i$l<^m1mRc7?Oh z)CI?z0<`BU@|d<}mI(4N2*njHo2C4a8p=#WUWa>Oonk&DMerGt0hT7=!E|BrwlZ9i zX_AY*fJk@QdF=nawOW<7_47Tbr%roeeDEJ3y!5@H_67k793oeZ^gY#8OhCNl z?H(>)4(WTDCvHBWF$4yU%Z+Z+&JGD?Pyl+UyOeX{DEpc2BoImj<}neP6|U)gV;27c z5agg!?4gq$#hSU2OE6G9b5Ue|@aNk1tfdmw#jw_MW<969dahg#oo!>39LG~iVK`t& zV(vGci3N5E5>*4^uad)3TluKM6lGnc1k7Tr)qdH*nB+@*pK$}fLxnUnvoClY{fftu znxbEu5pGfjA;^7e)%hu-5L316{=Hl4ywlxTR8{MMG?iiZR_AU8aCysOQB0O1aE;0kv8#!`Os)X zoE&%dk?@zWnJY(5C*!9{ItL%;*@+k&K2KS+=Z|#&bRL`2#B(J?)Y_K=8*`=wPlTN# zU0}ee)gTgQD+4?BDH?eS7LdCW4H>ZrZ=^V+mJ?=Z3`~orZcc~$N?@ix)aXq*>;+?# z8En2*3XNF}VF4wPdG6ewptv1g=!+dXao0nmNPd%mnZdqKP61KyWfZg3QMKU;T(+p> z7-549m+$jX1eqVgj%s=jDqMUP*;^mjY@7eD0O0d}V88f@T_=3sbGb*RNEoH`3QtWD z{&1}H?Ib?}02p8GWCB$rk!3T(mC)0rQ|LfQT+!~Ozj%hCxE#ar2#?T(+!^tuIAx^h zR=+)mEi+EI^sOc`D_7=B7QKN(OH;vvD=y-8mwgiJ@3BlC?{r;#K$FJ%o<<_|r0*0d zoLB+*@jN9bvqP$8O{ZeYC#wbSWSTi4M5!SShqozM9%fL&7NxOl9DV%UWMhs>G#867 zYu3+*f~$m;Xz`5sOp>HsH1D{%LzMvf(l4;7Xc1gS*a|Ajvz+fo(@mm&5v=ODa9GzX zsRlS5uQo^o4MQjFm@VKzs$=kFGBb+WLhdKAFs=W4PV)cp^o@;`h0D@Awr$(igcEaO zOl;e>ZJQI@*~!E&dg;07v+9*cr z@*V6>r+e7k4F{CDCp^RCGmcS;+uR2vmJCf{3Hj=zsQs7LHt;i?Bve;6#J+cPI{ABz zu$D_iih7^Y%6!p zZZW;lO%s7W%qb*q3=Lh#KKicH20LGz5U3u*UK8MRkg;z6ATQewwo0V34YnwHMU#70 z>r;gql05F1F;|usTv4$r?5-?L;eStvyVIZw&EHvtJ_ZdO zycvK3+dZG|xznWx9cqyi@M`FwGLsHM*m0Ed$DMDpHWd*FW$Z9-Ssbr2e7;3{n!@Th z(dn#CtvYho$pImM7zaB*r9degLk61(@h9(7c9g959LKqXo~o0}_~|{V8L#nKT?hSw zke6G@)5I^(S*G8OY`_(q3eol7z!7yqh&I>M7V{suVUC`+;yP=Ry&MM@TAByBD+lVfiI6IL#g zoOQS1>l>%z!mDU%mQ`N}f=`-~^6>Knk1Ivn_)9sXk|dkDz7J9c4g6s$vWT4y~d)~I#}VMyD`ejYp=b0&~&Cb z7%X{Iv6JbUn_?DVbGSirIwqPP)( zg#U3@&WZYG&SLF)ZNm>#5h}Lh5%Du8Y`*)PhYDHCPb-dL^mJ5ck-2gYT&*HwH;4t; z1^!Nig^xd}s12!Z+r>~7BE9)fI@}p1Xk2RUnvizAM)6ymlk;u^sjI<{Edvs?LiJ|Q zA@hCGYA~DxV<7$F6k%cwk(`TwbBIAEDsZMIw7wY=a7cdW@0MSF#>w5xq~D}Sb^MXA z8=DFMG>;#y5y(w)ra@@XWJHjiz2VO5l9x#kW^F{+=osWtV6$sP;6bHaS-lDp8xx?9 z_`L@I%Czrp77G7s&(zgz0(SGhd(&b4t#$|Kba)Z{^ZcEu>{Bz$l4Ny2XW_srC#Y@)Jy~f~0d!YJCt_3VGoSJkgSCN2C!oiCX@_)0Ow*ykk#O_d#4g z=L{sc`nfZlK;(OKaI^gLv4ABHq%;C5=;aA&zpOkDvso4zB=V7_5&c~Q+r!GsN(;*g z_x(4jSTNjMk&@p8sp{@`%ssz0O&MueR8&-ONZ3IP^p8|g$Y2rFdt7l=c1qL-Tq?@5 zJ!FgR?v-jI_2pk1@2&?g^Rtf49{xOAei1ISd_Fh7TE8xY`-f;>`>`?$t4=6AIHRRo8PAC=W1WqMsLvSwVu~~HL=eOa_7g$k=`T<9S+yr%4$eJ z-e~2brYmX)8!1%9Bu#llTH;)`*({J8$3cm2hO>ifq26?aVBi?C#1yba+1YSxc?moHMXaKI$3Wo$myl+9?C_lh-Ztp2x^Bm*-aI=Rg(8XM^s4cJ}Y9rMLc zZOXe&xDsYu@b1`xEcV9c#k{$*+|%b~Y=C9Lf4=9xvqHN&+n&!|*ui~fHW#~YM@zWi z8y`G-zIv3Mo!R+omZ;rM8>D7-4{j~|*^#89XL&ikqB?Aa(@O#MEOg{uN}RG7R?wWE z#lP1aB%%1GpwDycg6YvXFNw!)vpW6v!I+);rvy3KkyHhtceF_SeP{1HK8hoW;fx8S zbcq8~7kcN5rc z(AU%PcE5eS&%9_{+44l}-i1Gsl;(Hfc3J?f_0;)K8KjtRys9bO+HPL!jl{_oXm+*+ z7;qv!;pRLhZpC-AUZ|-GiE4o0$>P3bHeuJqP1n>6LDMVak15kSfBd>2iV*Pctu@Bi z0=(4*+@uIqQ@EHrY;LUmwKZUZ?M}hNM%GCX^0QCvj_AE32di*zO&SVMdBl?~yqmX7 zheLn+b~309*A6qwiD7EPyOSep6^(0B3x+XHi_kYq|&U%G9`!^8bN8CLeP zekxq?IeMii_f>+jY4Z}lZKrhO_BJ|WZX%wuQVq_e4tH{S!C6C|1uGH9z@8qKdEw3k zc5a2VWXmIIYSjE{;NMGCH(#7j{)1qKHWmYZ{&J4UIPb#*0urLCyyw&l15*(>@(jvL znPL56n6|7TT)up2vCF_kgP(dP@0V-!9rG3*`=bfPeB#Ki5>A~Ve&0e10`;xJsQ0rG z=TJ`jNKQS${@1_UlA3_dORj`Y`vv?@A_ep5?2U?@on`}{a}#WfNr#_TEP@J*sd-7b zmen0m`uVxnl?x|xT_$qv`Cc0>#R;2?OovStGv{CLgT1J4eXx$}26Xrfykb(O#4wNQ zoa%Dbd3lq0c_-gKj$YowxbYjnAmG5XjdsQQ58_8JU&9>mCBw!c`tD%^UH}O|J-dHmm=AS5eymDHM%L zFh69%wghhoZSDPyY(4|yiLwiKAgSyCLVCHXRV8eQL&h9Ym(}WU;qbe2rs)I(+&W-U zCd}|PWe6P=5_fi-63FE?kG>M=IQ7ZDhkXrz z=?CK17=I2M%$f(66Zn}?k8K1IP8VeBTM2O%Y|1x0lFonojgH7&{?GRq<@3(mYb93h^XuD*zz^1Gz5={xh0>JFS)Zg)y3F>jGAL^h%u#Mk3aE2C& zQ+f$Ecfi`d%(3!yiAIpo`rS(kWjc=I6>FGp+h1Tq@k!D-#MVKz@jeUD!KR`Ftr6&@ z2sK7B-qAMhB7)8vI%HpC8(M9V$;KoIvDj$~Zh4v{$!fxs-gtZ_0!)F3Av2>i7fr;J zG0R6HFIQrvD8CibDUWI?j~9I_cYvXQm;><^(ZqkAwaHokZ>@Dm5Zbr{2NFPgt=}(! zb~Y{thI|AvwN!1SB1Sx&!MyQM5*6cXhpPHLwvk_189uRrTrXd{#gm&!q9W!!i-hn) zf-v%XRCxV?|MFQS#(I{I1H4aiZSALAP2P$Ic6xS4e#%|FouddEjv8AW#a8Sdm=( zl)z)a;TjMJHztJ0Jvsjs0<$ep+m^rldC%q0xtp|Ff1@g9|Dq*#SHSsHG0vL*^d==( z=wUfafGrRc0M2mEJvft|?OvXppzJlAQgVzDSQVLc2=9njJI(r34jU&HG6nr0lkbe7 zTg3WLerXtp815v#lXgAm7&6TTwUzZRfNMsF{>WkNq=~vgIlzTM5$f;lzsq;|t^=O9 z@R0iF790^H$=r#n5TeP{7;493`(ac1c-t-0YHGvBvDR_YLtt^42XqbFYBU&tdT|0A z@XW80$qH?J=tt=Sv&AhCgEiduTF&$2GO*!{z0wb@`h9H8UuI0O6yt;NaatATzBMan ziLJ)8u1A=45;K$^yqV4eJufTs@eVWNx78UQFX=yPiKZQ{3WUSmtt4`XL4EN!KJ&{? zQ-^1C*`vP+YbC^ ze-^{8quRqWkDe{T0-r4t3KEMYl`0=){WkTkz4g>a{xe~2$~88VNMInzx7O0g#tMST_&fptt0Uc-bK z`*v=BFSkTHA2PTSA7Itx6(HdH=2X%+BwJDf7S$HSE3J+xNc(_rX&_b~ewOoNCAp5f z0{El^jRY3f(;u~WdUJGQ$*qL&ve=M;t(ARR(lZb=tffC2ST7|PDdc0Bp3pxqirWZgy8bsr7w0(>&nE$xKFMuQy%!sqgKcle2+E~nf&RhKeJA41LmfhTq9muA)ok?{msg1iPN#DL8V)2uA zN?yRR;((0^V}l#Fl6}m&sEuHJ;eG zY(K>p2X_A_M!DfflnL`t`s@#g2MA?GFF5?2!A(~*PjIkbfM8DzbHQx(_QYq&88^pG z@Z3YagJi46yh8fcmSQ~sw#Vi>RKR=TvOC#-TVjWVZlkwd!J@bynx4l(JY1N9lP=PI>Sau# zUIn}tzDOM$)vF8uiL{UUCYteN?&koPc{(>?EE5rKNhpt-bDNvjHdws`VF>AB?|_4)Mix!?LzpG7h<1GZ-|3|hmr z|JZWX;-~obNDN3SN0!Il?IqsC)@gXspj-;@C(7iiP_x%}_#(u|6FE}x&gB$dxG4#; zhGzv=qUn$An|*e;AwhjpvtRJWEm<9TDu@L`!D(DYRJ(;1YP;j(CCFKQo%au31&}6V zQtU-Qk~eLAlM|aa;DzO3fuhbz43X}|N~EHpqizl?P9n>YBkd_oMiK0QBva~=`4B<1 zdFeuxhd0hBz-2-hk_VF|zgwl>Nn3n~92Yu$`uZ(ghe&~E0bd)iR1=i#^p`_G<9)PU zGVs4c{XVt{ii5}Cz{E<06o*?DH{?(;e$W84>=As3Vg*6dt{?L^XbZmzO&izOGIH|6 zai1>t@^J*kW=<}viKLgD0(Oadi)W6!?0P3k8%Vt%)5sK!gUGNrC|ZZ@+^B>|1||A& zY~uFD2cREEIx>^6rJK>L2}5O%U8`e=uS^)+*)rCeRR|Y-$Qva)Pk?Q_y5m;PfeS%%fH7PpJSX(i|)A3?1C}#BF zAL*HG0J?r(QG9z|YZCl7Yn^g}n9UG~{r0{qUdP)%#4nfW&E8xl3ykI|Ob^ZRDDG|8 z6*qp3%e%=6Q!rZ_@qyNPmc z_xm*PlIyuUcRF3C&PFS{KlB;Ms%k5^sqdme-k))6Av{R!lB*t*$p3tFFMqBS3_&b;8qil7sv3IaU#U_s$fapcnyp6?T2 z(SZH(%ZA7^Z@{-#ehBK^kN|PcA7%g&SZKwVPTdYeLOe=DcIgRg#;7TuaUc3+Z3k(x zQR!q-b9dTrA+-0e*)yGEfK1OgvB>PwO0u6gZ{mo};W9PXYN>ezYzEuyEB{#^|7V5V z$HstneBF3Nb>9(M*8w?mtx#+5he(SW@lf!r)7qM%ne~K+3F9ua=H*UGVz(Z%b$xbE z4?wI}X>hH=$wr5i$iS!^B+y%tAB3)Tvve!SCI^Tb{h}hO;>w>A;?Sr5S7tU1c@>~? z!`|J+1cNJA4HARL-Ovenq_q7;*t!8jq>ii~d=FCc)L+w3D?R>JLVAlhvdSk3ajM?4 zymyO}=FtpGwN;5&$vwMBsTcgXL0TTI;qos9Hsph;R83Z!53TkxP7H~M{g>WsrNoF~ za=fm6xD(mT*|fj1%HIA|(q*0obbHeCj@IZ>i5j$e7gGTIALf{LURB94vZ1lSV-s3`$;m^w*vj6ZuCGZtgbL?nbN`DlS&K;+j>nc?pbM z?U@S0>^ex7Kb&O-U|FEGu0r4CW{MmkN;u>SqO0&9hh3NdATRIKOJ^W^DSQ54*_@o% z1d&TlS((pO;?rqC&tI{8T&vfAg~4>YHPzZRsR5jJggt+c{*d3{(=M3mDz>n4R_BVD zW-yMOff|kAu4rGFPe7iFa<#3?IH^K00xqp4W__WI9^YcsQso zrIbAV0ZaZlO90mytQIy2IO*U41$0&>Vi}OLdDznTkancSNS7n6f`b4Hnv0V3z>6;yMxe=ADB3lh&YBtEAeaxu^)`Ifz0oCmxwFk-xS>gPBrz8X3d*%x~e@`lP-TYSg zT(y}1^`!}Z3Mh6%sQ-pV%K7tr(6z|(H;yPc>q5%oy!=(u{SC`jw(9Iw&BWFg9X|&u z8AVf)qfTxA@Y;ld%?PdGICy7cr9(a3O$(dI*p=_QNOzkxPd6Fz(!TReMaI%SsQ1Op zB zLzcpwuSQ8QYI8o;Q!=l3X&^cjPk&F)mk!Rv$gCea?XBy4N z9?Os4K(9FZcejF@IhBGNB~XBk62Y$r2K}FW+h;?nECMZD-aD=?Kt)`FPMK~xY50Zc z?B9(gNTrXD^!6vQObH z(`ajg22oW+mdt|7&UIcCQ)z}gbB<{miTZ`fYateFb(f`Yapr2KPeJ|J5}~Z8x(;EQ z3mM54I3yb-!NmmzBs2y3ynE`hv3Xzgp}= zvmyYMEPnh`BpxvL-7Hw02wi&M49B-y*?nX+lw8h6ClQ}#ykR$KWN#=Bc37(|rQ%T5 z7Gc6*wGM1+CFdj@#h(zzx&#v5vJnkii%MfOg#RoB<57rWOHpNnW|rsm`$A`18Lc^U>^aHmXZm@ELjzxtoi1teqVOn{Ns1N<6BO!y3GQ7HScnDeFXk69s?&D){lqmR=u=MNIj zarkjr&y7VLV&xIjBqd)yDh2@gK9*^XlPPS2aA*uF1KHqPXqzN1k(o){(@t}Ct@Gd3 z=ki-qt-q@MO@7ZOO|lZZM*RGl@)AFE%Qt*&qTl{JRPCS^o4w7fD{M}enl@8Y)vW&% zDZsq#`v<|Dh2#ZCuG{B@9!FB^nQ@%tQm}-8b?5h=;yxR171zS0#(J@Q|c`}4?? z4AmKT`S`OBMOgG&1V_O6q%5MO2?5+`mZLPheGKG%`8?Z>wWPOxf@y$;#2~+qLXI#N z*WsAuCwV!n;c>;kS(1nUPxE8%?yHz)HKtby0To(W1Oel(75N~kAn+3~oW1;U8zih3 zBou!@PHsdt6uNNm@fq*RGvtk6X{hWoW~k-uXw};nAC$Y+ZPNIZodoghs22LA-yq_o zg;Df8M`3#Ccc$2TXjJV-rXcj~OzzHd5o#HQy60aX&gb8d9s{-%PvVQSKNzucukaU$ znE-RdS564vV3)uAM_gv!FGm2(f}XoD7+hJni%x=Y8pt@S<;rPXV5vsY4l#N*gi?Rh zDltuIxi@LBc#f6&0Y$h9oAO147;bCFJOoOd^zt9am=y@@XM48Fh2(Ctya4%;gU@2% z-@TjO7nzbP`!5T{#cH6FHBe=^L_h*W+%yMOf?Uh30A<9Zv11X9cEZo1g|Vj_C{Y5z zx>_EsV>cCM@qIG%m=Kt-21Y+ZB@RoelArK-H_>(z{J%ZXVd5AF`T_eK=&lz+oFAr5t0v;1J_3s63yd z@#6LF_6bz6`D`5*#%}O`xb2FIgE%3(4wwm3>UhSmq0!UMMtpNWXNmv4RDgK%=<|M> zk?(rH`{Q+GI4#WLDIuuL%A(Xoxx5XEO`^w2-uxFOK%q-AsHLA>{-k%lgae`ya|F!0 zXFd3$t-53$?;|Lt$5rvxei<@4L@k3*3tOAS^?F z$q+ofPXj4e-Jx8)W&{k^ge?iL7oo?3uS%XgPx(o3=~XS4Y2V{41HQfe_lyU)zc{%V;)rI5%nHW~!$q)V1n{iJ}a>5vV?xyVj_jhB*| zPTDuUlocAZim{cHA*E|=c+xU-$aRdNF)`silv#)|Uc~^{slFSqV8*`Hkn(M{A7=TC zgkxga$UcdKT+zYT1ldbDK5}3XK5Tzn)NZxu*y#ZLzvN9eZPre}DMGjA zvl32hU1w&-2?1A0zWJ5r=oL$FO6VCFrsdvm7LBdz7)ura!bwLedLecNa*@%ojwm99 zw!gGNIF?Qb5|OfoPhF_tmf@k6;~XIOvt z!1_sA!A?xwQA~0_Gow+efcyU+S4I{9R7L^PG8+w{$C)GR$LPALVY$vPM!mx%t0@Iv z%pa76N-(=uetQ+YnfODuR`#g~fn#NnsEPNdh76|`wyenogzq;Pp1ZMUICassM3sOUqh88iy;lv$Qju_Tu(Q*ZiF8K?3)y!-o$0 zom9DSn250LRI<=-s&jZ0WfM5wo2Xc*!09PW|4#{O%O&$a#oy$wwoGx@WN{M{+)%AI zY%btvbtyEf@Ja$Pc3KPJm3a_|K3ji}MCH7jgOwj_?;d{=+>ppS_&)C&USORF-U$dd zoTSAP{V_Wq^$xT;oO<_Ov3aS>^%|f%xui|sX>xhFAMdECs4Y~ubBzE)%^@V%tDt}P zFgZM_Xm_738e^{Bfo(Jkr#tT|REJ_NPU!nT9VTXeS0$4!t?|)Zg06efrC!=Mq z>rP)87~zwxHAF2PXm-L8d%94dd0l0d6RS4s&@BpzNAXs@oUrs-yymlyk|w@V2KIMC zM?FkIy}rKm$=&g>@1cOdNFe$v_Nx$}@Ag-{q+n88)G%_K1;PgcUw%9FLqm%UO>8(8 zrYt^kMh)=-k8Fp zGXRX;b4PLX;F9f~4-Y;~^3Bo&ZK?E0i6VAWN@7uUUgV{IQH{uM9%}|yi;-PYXXAJ* zBbwb95DcdSp||3xbh_g}iQ~O-bB$#Ms+rOqatx0G1lb~wY8dHIx*KOq+>KNr5pAqHzp>7jad^cT&q@?!`>?#e zBu|d+KkSclMrRs7D#uvLgYg+aL``M#;u#*^wW~nh;AmrB>VA*YhG`xB4XGs!mdgjt zdl+^&>y(P$d4Z-EG)nGO@-fydrrRq;A9P9W7=WGoZ%;{Q#*OGx!k|*~FzB{#kwO5p zNcn6wC8TwO?xmirzw(_M>R#f|H&L_F-{Z3yaORf_#-6uZd3fGk49ad0kf?d!Lw9kf zXkgu4z;T+xQR(cAtVI;ER~tIv@=^eqpCejWiWMmrD9BO;xhX_6Z8dDRi0&;$$OKdY4*&Z3zLHv&VchOlw4k$UaYVc zPdugpr_U|oP~jzemwpH1BZ~oV@d!A&jw7u*)~#Rrm5QGslOTx%UKg{r$C0C>vI_f7-e{WOzK`_**%-wY&G9^LJ{J5$R0_1G;jn%UrSP0i`vVf^Si|}qXH+d= z2-e_px6eu#8nKHnV~8x-a}gzQAaO2Ra7*d3?PlmT#l2iuexOyd;v0SHZT;r_qU8=R zx%j31`dp`W)3pm{0Nl1&D6^GG-nW$hEX#X4Ffnktzrq&%+LrYgy?IGLw4*i-R;3u9 zQ}(0=Em0YEg#VTwCzF5gz00rIQ4L}l=Zz)oI_OPR1V}_4#=9E*2}LMAEq*CZykv)Q z{)Z+^D!B!LL9WO0$cCzGF_5tVTp6)>%2Xf4zcF;d@?T}yU-A2qVdH4dZsOYNmI;Hr zcXI4(SkgedY+GR@i%2s*oUo4Zx>wl0*c+?CW2Hj)^vZaa5EQBeR-;L!W?&mI{bQls zqI;*Qp$xw*L#OhiH=N1|l%-G8>1r%jVG^R!BgM)n^=uk=c`)te!|w8ENH z`oK@g=|`$?!BjG+o%x`eT4!mKiVfNXjjW!pLMaB@%9`%p$A};IuZiBB%mbJ0*Y?5e zLvQo>bbp6jEeOKAn+$bO)T7NRpH1{-#@|J#vb|b7q*(N7j!ni@$@sKLP5wt{*HK2a zf{I#B;=kSclcUG8r!T;Te=|{?&q%1*Tg)^zA#^ecdFqFBYeiBXv^I7(Ph`lD9k&&1 z5|@r|(^SR$fZf&!<{u&j9~L^k9C?RLAeB&HMu8v~9n7CrLv?YCotLlPQTWrmjkC$T zI$W1#Y>KMLVJdc2U{B#VSN;RRCpDi4_lXSQn-Ow#VH9!psO0^qOnH7yC-}a5eX=*SM8t zLAU#cW}Rl;>_56xYVtIp{Hwy?b}r(QR)a zU#!L+su!}8iquP2>cF);2U!0*WWV?WsUckYTW{Hp@KKuZ3t;5K4#n6d;Q4ijK*6Wk z1Ce@g7SBv+kIyNM&9){|BmaEOPc_oZ<%Hsnk~e0qKi1`+pAEVrC!HMzBALpnVEN;_ zRfxVWr%Xd(5LiEjdT)>^`a3jNA-1P#PQ^wMyPqER#NlJrC@I?Sg}nDsh|_tp;-H?Pa?Pyf|tc2E(3Z%psuxPN=x z8k~Pz7%0kd{6@^LsmVUzya=aPdOBTLT~*?4jU_){T+WQy5c}(d%TnX!)FhG>3chCB zK&1RArRofM=+7)JD9d=P1N;Im_E{@O-|gLJ=LDf0d)``onixGfggo_3pG!l9Dia)N zn2a$+M9X0i*y#_63I{u5sGtornROM7i=ne}{o3$e;7mW}vN;B>=wC$blGiw>?euxs zfL`bR_^$ku4?cY7mdF*!T{-#>Z}rcatf`kFAz*x5$soCVyT{~Y!o;cST#<8FPqp@{ z%nV-R`}Z~*LYqWNtK+RFDW}SGxc+Qs$?Do5Y0g%);%Fp9OrwdDs$pi)Kt14Tw~KlX zb2Q{z@;{weRW3fquO{QAJz3?I9;JrD@q$O2_Pd_BxEeg8i-y93U;R zqpH4&22APA)9(Fwh8QC|89H@h2=X;(aTWB4{HGtB!K0xu>9Y&&<GEeSuoP-nO3`dfD5lor6EPc163w5BwOJcNINRv{t z+L0QgEbxuk6Pqs z#}nl!A)B{Wfo@{_mZ_r5m>MI(9+=WyKJP!xOH%UC)3B@$tY{rLYFgXO)Md-95e6aC zY~OvjD1Elyc-IE}#3ah|`OZ7){uG*#_sDT@A#lR-q&aJ_-Rs&8W>35I5!1vP|1xvS zC~ejwnjU!()15xRy>TWUmwhwXpk;hV()7F7#vS`6jO>FmPATTm(`p2h-s^qqxf^F*6GWPR`$~jdR6hM21=$);<$Zi4y*Uh+i_8X zJNDPlbD|%ehfoF%Z59FMbfKZ;;niJZSk=>~!o7BUM4-UuPH2QSi1(tcw}zg~3x zbc`}c>8Z6Ukm7GoCWoK)slW`s7|e@^E_K+27WBS%z;l3pTZlQg^eZ=S9yhR?p(e2v zwEHi~Fr*~El7xpbumV%yK5ZBt(CFm|0?S1@l6OI6!b+Er(S{&N8UOisdGbLzB~|D3 zW>qIFhc7pd_;rl6G(ZV!^$Qj4<5!KPPSKDfZ%-Gn;{hW$*rNTNjd|IxYb#9Z83zGr zVG2`a_%tTmm3{oa9BXCkv1lfyCI{X~!B8+^;`HopzJYeqTmvapPRXwH!xkq`JN$=aO9pqh?{{}EtnV&q+dL&hP|EJ|)EGwU$cdng|<-p5?*SdlhdJP_bN|5Vy! zUgeYrQINoFU2d++p7^};%e_9hUx(1pPWE(M|I1qn0+p8=2erRYcZl>i!JJzyrg5nd&DD50HtA3t1t)j$Q^F^*|N^0g#LQZH(Xg z@oH_U(`HEq3=zPZrKS;XvF}w2R`)ycH+j}f{^;)dgRaO}?aQh~A#q`(x0|KbH)YD# zyC$%2$c#ePAABW8jtljJ_|sfHEPN&i>z~|8X~#C<{9~-b@!Vd-znGyiab`0ha0A(F zi@tQk#wu?65Tlo+JN1F%A%*J#FdUtR^gvZvuHM}m;$~R7ZcJ8bow+8Fydfl}4)qPc zt`Zh>?Wf_OT8IK6H6q_d38lA7=~g)M|5EV6UK!7S*En{%``Elj4T1lFSo0<|og?+E z@X-#*7rX7&yfFgGpBxZ90zf(NLOAJsEkt(SpR1?aDl7X(=hw~8IFKBoC&Ohl-YG@6 z@_XNbe(e>$6ySJ&o>||SAES??E_Cm^HL{)UlP9-+R$F6$x1X65hbiqBThbpLfo}?S ztY1n~B7OS8lM|cEU&s!--b2PN&@Irxljf)_cyNB{XZ2iDhm`9IYp3vd5>=BJgcjp{ zS4%B(_dq1o*zgo?X-*KUCg~1L$;U-B2l3+mOB3{6yj3!It={Pvsm5N>DG_$!jQyJ8 zbXVAU@L}2LzPJSPKII-6uM%KuW+NpVjMp zkSVjFB$ZTBp)6S4`>8JI!8=PyKQAB#Marc29=LA)9emfT7npFzeqQif61K}I2PIFH zTZhXH>;(=AEO8E4VX|WLzLD1+^Vusd$O9Rv0--w@BlmJKy<3&w`|g(>=J8~Yvezr1 zfukwRm5KBo`u0L<`rz1b={6?FD8E5lXbLFF%(Sc$8gDS|#l7^oZsuoIm(#C z`WC<5C|~s<-^LBITGJ%eY3sAE><%#DGN7ZE&t4f|$>+#IDuMrIs9m1A1je0u->9MT zC&d*Us@@$@+>X95I0m^tXTR#+L)#ux@0qlyLQhjtAjW6ooCh~r(4J_2?W4-K>yZMd z&sUwR=O5s-p^?XayX9ZtMPy8X@4y>Bnnb;fao7)5{P)*)Mf`%G*k$Z&hm}VcY6*-q z;JQP9$kydfKP39YJu|B}sUWAy4wh4=~N#+2H5@| z`?_ktzh@{ z;wK=;#LimUCo&!EA9Zzy;lWGSuO45LX@Q+4%_aWVZWXh-n)O&t{zIk14(naTAK>L{B?eme^-qsaOX>_zV@a2u+}B zWm_5gT_CnUGpp`?%UX$P(l`di6u1w7@K2!4=U{K-c0VevI=^D^r|-rV3@Y^^F=exG zbac}ugxJ|!$m(bMJgm-L!4>d*#Xf(K7ENrlGlyh3PVRXwwMyJ zsQ3UQ0jr$&Eh+qtL()5~M2VQ?+KvPOyQCthYD-sP8BHjaEefLi1!tf(4jVC%jeo8u z(3yMr7cc7I-D7ic_tSCfyPwmkg4UnmB0(KMq2R^=&EF0XLjGN2t@cxSTnJB`0@g3L z`Wc8V`L8lI@TKFxJY+Di|3}n0u-6%FYkS33W81cEH@4H*_KIyZP8v68(%80bH@1!S zWuJY{_5FwWzH^K*pZgxwETUPve8G$=Ga{u9%{#^5ybr`OdSCiLG91!b^(r;(Zm_-l z&Dn{w-l3s}stS58q5FxD^%nt}F^=u0-cI4L`pcrW7?)mXaTRh?gYh3_wW3GrlT>u2 zsgvR2U8Ay%Lp_1P3ptTz93kb2Bk=q?Ea2b4LJI;h68QwEEfPfn`p57KMH92V1nWJA z;}11wW0C3;MNp_R6QYyp{bCEjz|2LrAf&FeaXo>R?rx#_ALdwm{KjpRD2QC#+Z`ni z?;ozpZ_Dza=K>?%7G^H#|HOgkj_?!nhP6-Ci=Gaiy{z)X9o5})ouC%>9yEs& zboG8^f|iANZO#cBKPvp`45TnkmJ_yaqy?`qTq_#-Tf;IKP1>}-$7?6W2kB<@OoX#;7a$FXV&a;Ada+GKLFGZPfGHZd)a;>|LYV~*sH z+SiIE{32}pZShz%O`s8gs~6lrbxBPM&Nyp1TE;}%CWR3MkkaI+-)Z3hv`oFySAaKh zL4yo2BfexT=-uzkg>jAc|7}xOpvwVm6D_wCI!c<#E#_vnPJ?cDRGqA`n*&vByt;Er z*;TYj4`3wdxGtlQ=%oWzG_jx)u|oPsq|2K2uwFJNL-me29kD1{Z% zR+^Y)V&I7vP8hd=nu;N2f0@U|RH4}G1cVUrtU#Pc`)$HINu0@zw955pM&HKMQwz&O z*vx4m;udBn?&%)2F-!;CKS$1IH!>&|{OcfoPFabniSTrh{iU$&Zq&7LU7uHx!q?0iypYC?`D~S&wE%-Cl~x$ z9zxifmAQMS#TI5x@JglT#E{g(oK>C`$C<@iq?l+%(<;s1~>J;^?I#3EJd8Nf^*Et>Q9k-4ML?*z#ffy35^JIVtm8`87XDhV`BxY78AK4pH zcCZw|e4+7B{mUE1J3`B{qWK_wS_$#NPDlFdUw4Tg;NO^otV~sX!bRBhN6o1Xzkm-o zfb(}VMH$r{oeQ>g)M-}P$+8e&y z9dmh050ed3lZ(u4Txwt}a4^#(t=&?tvP+gYk*C7i)->5uN^56xPi_k>DgcqEoQ7mt zGh_c4R`eKjLo$PZF8t}V98$A6)m)NEgAaYvHLj%J>vFQ-&<*5Q(>aZ5sLe%I3oP96 z@zeTR$^JPt=>Ywl6fL4MA6CHtMav$5!8ZGT*EW{x3!6IqqBM@PIa7ZRt97rcrd*`9 z9w-|AE%h>}S;&;?C8{{jy-N2?``S6N+HDZbGHKSOKYUrnqL1iS6$b4qx5!vsLc zs+2|d0H&P^Q%SCc^}Zu%LGtEDbvF`$^Lgp0$ME^JzN@!#_|79Jwfczo8n=V~_vl61 zo59oUv;yz$mDAGvCiiDPlV)ZEeL4!>oIfZPLDFY9NKJqfA6}8f-;#8>MUy3^+5*#D zQRWDT0@X6#)y>`b4A_%YbK@C{xGdm>Xt%t&aTP($4~O$7=btZOVOyhx87EI`fh_U5 zy5(#W(EsiU#d=ev6&9(Vay)3W?t;7-Qmyhz0mg!lQM^}0eP1hGAePkM2W9C(-z`jJ zBk3&aT@8Zron)lZ+?B?S@u}A(RJ62b?rIUSKmza$&sU{Kj!1HUc3 z=IgPMBNb>LYE4ifpKV{ZT%?4?Z5P>vrds+GIBoWn0yKBFp+(hzIu*9$2s_N2U_@*W zl!q?%)Zw<#v$+)83ss?`{BC|ifO@xKr>07od3;>diq{h&a-fOqb-e}NSWfrBKymN1 zT4|w(*pIxo$5Sc(1#-jB8qRmpAKmEn8sr*5h2pSp*(p zk_VAY(HKXUI|3s@@NFn{IVz*__gvQ5=mJYu1COlt%rN)Au!!uwfSqNPsEphnLpe`} zL33bLc@{>N#*$5l`#VlsfV*YPOa*KqTcFeSng^p8W68Uzft_cYeA!ran`;SG zVb1B#VUEw=V!Ng;;}=wuroma!QLmxU^%h-8+sqP0d7XE`;^GTYSG?JyRAyftj|%7xsq2bKwk#KpC+k2vj8 zK19ODKYqjKk+bEmcm|_iyyl)GZkJ`}<3L(H6W>9zXJ4MY=jGbV*+*`ja99+V>324+ zZw{t5^=Ec0X%zJ=#R|66+%Buf-V8qz7zfRf{>AUg8i{9_TBav(VkvIo2bNd;`0(-6 zJ$!ETdp%iejUI%Ng2r5CSq>Be{+UlrN(g8@ipXS;J5yDD%FiE2zSJ+bst}y7-)Rgf&_<$`z}wz<|!Xp%vjw5l}nAH z=MdO7=WYFUVa0i7wZ8!To@%En0Ce|&g-=)a`Hxfdl)FXPm1I=wH@g^_y)b+oOX0S- z808JP%ciXvw7TK@%lA+5I@fi`Xpz_ndp;ESv#WyZCnq9FJQ31ZT2ug{n-fBfNw>~Y zc3jr47QIetyw)7rGkAYRt$s0dQE5lqNh~2cvg)n>V;0tx;D0?dFL$1Cb4$4#^g+O& z`1!SX%P5n%$=YXq-*f}VK?$s;wY8gfKsvF)Gbz)LR))B>PKjM`M`Mq@08%YZKO=mn z(E2fBY4EHypE)yimjC|goA+t}|6}OFj>Y{hZg5(x3@GPVprtOCz~GJvhHBmYDR@Vv zW6+cX?~i)T@p?IE=ye|E6#OO;Ceu|PPnDL& ziObBxC|8s9H&W!ug2?5rTQ)$Ngf_JCH}VVNU#L1%p74c>WeIW47QxCJl5SuyF^aGl z-yvFCAOVtmjW7Y*(EOrkRwH2V=r0m#s8+pHO+jN-;NsK(h`AE%7MeBy77jV$;-<>^ z>Z*bNkho#MG{3fZ4;Lm0Z|QJFf)#DgcAEGm2d(Z1g>_%Ks3z%b5bqTl2}ZTx!Bou~ zFU+$QKENJQ+a>{UAQXX$P6dEvQT14d#+TVa1ZQ!$Q|H-y32>fq8Sm=FM!X<0ib0B0>1Se0U%n$+YK5KR$AB_}!;Iix#5A`hrd&S^P8`kl;*%*56{6oY z_wD?0u3ncj+`-bfQ((XLR+>m7mSv|iUf^|}6jJ+p>{CWx7;OJH{98+iV%AmC93F=v zaMmV=!90KYwv4%`kX_*YFUt)O_`y;K5DYuJCxA6JE9Wbp_XB|O1QW)%4`xZ8t;mP{ zcE_Co5hzP>BRcQy%{keQ;`-q$r`^|fXmt;?YaJ{c(mfAx73d{j8W`hohR5kj84m2| z>jYZGB29eUe_)8R#GNE5OXGbElx2CNQJ~WXdRjc9S*ctdm*+(X*O~R6l&>G|T9cI3 z$d+(Ul?G<1m>hJe8AZ&TRgKMxYWvPzoyz7Quc%s*6zEogL6K`ZE#v5 zSu>7$h$i6F6|)H&hn#I}wDh+BV%+;QPzO?Cd{GQfZ`6!tAWx-@~ZS{B>&MidP#@_$=x4%X%K)OJ+0rNLI0*Z3#aKld)Lq8BG@9MhI)tDQ`~m3 z$Q>xK`Q_16sRSf*&8~Eq)57`-KLocCujbnXd8bA$nq>$|_Z%8{tQ zFOAql0dx#1iCG~dPgzQ1rn5iSI>8lLTTi-h4T)LTDMm;pb^#%M8MHJyeDQLHkOf2U zyWt~r3F`ODQL$STvZhhSKSv&O#uq}Hdr>o(_`nr|Hk>RxTFj~y?E@>bfsACC?u~E< z#}%f|uVdK4|LBG7$U$r38+3|MU$l%vNyJv-&dPA-X-;k>!cooV!o_PFY;D(j-Co^N z*}*_D)){!6%eXm?x-w_PtYz5~wx=TnOqQ5DRj1D2mcUGD@8o5o% z4NwW)u;QOgoYI-%>C@nPoL-uJz4OnAJvV+q$exemjx4!>nFj82zCkc{+P^1!9XO~C zB2boe4oOqR5yOKPXuYp`%ej6ECs&j_4oVT#T0;emK_|Y`(V~+G+bUW%%Qoj~--z9` z=)_m>P!$s1vjr!SDwJc;y<0x4G#)>b^5rn|#oEfwuL{p`tRrumYcF@<7)kYxZMj3- zer{AvG&Eg*_KkXkVO~DE*p1aSEh}s~^J(NcF5}72j73g*b9DCgUhiyvS55fgAG1-? zETO~ZEhf1^Z+-M1;qFh#cCGjqHGLHqI!mh_dRPCfaqK_XvL+ug72k0rQCV$_7W)EM-}JHM^i@MsRHT z77x!b6-zG8QrIRj3#D4%jHM30Gecx7Ui+V3&jz1tw>B$2y1EKD>XXMJB``+*7#0z& zSx;vJo0Ivot1aDt>`WDJ6!UI)Bs${rUSnDXZD%|j2Gvt5eS9`2>_`h|rGPFcFk?-Y zZqT{YqmCb8tCZT+g^17-tZ974)CfRuxg!ZM%B~i=>N9#<9$)|XD=6{bAd!X!w-3sK z#Ej`f@}Hagug<_-4r1m9nf35Q=^R|9KY1Zfagsh+Mmukoi3v5R zD|pE$2RU@9AK1qQ@_6lL%m#{wH93yC)%zvp*$egHEM&^+&$!DWT0})M{hQ$VMUKBm zEbGc_qhcChQ*CpA>qwStL1u-MOTn)oftLj;Jxb1?s{IE)qD(f&sCW5c#@nAHo(O#Scg2MmY95XkS!sK~;o)~p4aDa**9Ak2eWM8O@ zx`(@N3sBG^t|!|)3GO1seckSAa*xtf-fWxMx7~0OXRwDzsk38==!zbi%hB0pQpq{< z41f#I_$+l~ETVN5gF#X_U3uAhSuwrJyC02_G&WgQ%YS*yL~u=;<_?8VyE|DcMhaO8 ze;sY8n;$;Mjow|y<*##3P#0F>>@9@kT@lVw7@urr*gVWYX)yTiyOEVp=#Q|rx8z-wnQRbW z?f+^1643o|apH6*6oc@=kM#i+BaENA#_W-+@TaWNK8&m=yFjy+FXgA=l5)j(jr{U#g+`aFIk2kc!)4_ z^h0yUeuHgS|FpR8HgT@(iO?=haYFlZm;6(}ac5pzr2J9MrJ+xtezh?j6;4}buv>XW zp%exUFZj0zH~u#ZZPVhj7z&SuS#1VY*h9mb_kbO#;7=b&6~_*qn9}m7QL~|Ma_qAO zexFYrvL+n86TiVwbJss?<#&a)tV|SK#1DtXuIg{4Tt!-U%i5e#(Rk3OvlVXfHAftZp8)7zbe90Oz~@3K zlNxV$2}AMgeUW&P88+gc`u@`!lpF;*0{H*UHi@6==8^fP>iqJc^%U-?>!+$RRCz!ht{iTP?4bR@91^qb6bnJ4f zb3S&@b$EiL@zFlX8|yRkfH+-^;?!i{v_bPvYntN8rF7fGrssI!Y%j|f=MQ1N&8`*xa7EGq=7}Qc|pa#k4taU zx;k4odYhQqIXxp3dF#pB99e+q(qD8|bC{f1T}DUuKU^=?!$I_`noclq}IbhI}MXZi^q!vBnbd^fs~fwmqPw?*3Odeasv%#gfkP zdwz@C?aen{Jc!`qZV2}8 zf(g!Myt#21#ZMTj24`&f%9 zeP?AfPP5fuZ?H&W+Ib$s$BZ#>0d8XTIusKgts8$j64gt!gg8DDFvNzKr&f8%I+b8D zHb`}gGDqPf?qYz{*x$V3@Gu3#o=JJQMA@ED1rQ1;vY3k9@4E07zOHY+F1Sq3sZ75Pl}vY-x7#TB z-+9;i*gW~B11~mm>4!T2Z))h}k?~M+C$0;TzI3D|Q1e68btgz%%E+vIA=0{~6TkDS zWaP4#DDKEL?Ut0Hs(3$L{{X8ek=2Gv$KvpWNu(k}izi)}hp=olGDfm&r{AD5f``2Upa5>4}dWiVy_}`D~KE>}&J= z19v&LX{6NZr(0)TI zq!Xo=$uT^Z@OWq$RWW4=)-|N)k&@>Ux6F;>f9?_h0Fh4Qb+$qZxkaqTW+RfHUYZEZ z*@8xF7QwawNh*&zskUOd5r3z@)Lx~Xe`qUE%Y&e2DVBS!vb=BtDFWFdlZ3ISN`BD_ zgg=R(nvn#?z@xV!dDV*z93JHrTr=qaI?EL$Wwm(&|I(SUa5=V#E=YAz{^QfqGvW9J26kUv>(qDSD9nP> z?SD1{maR|~gKuz`jEmY5UqSAh6}(Aq5g5BFRJwDW!Y;Pk8I*2s`Q;b5rs5A*B-wZ0 zQ~jK7^Uht73PNy5@BHis`PDeofShJ&?N5*>c+{CP__GhiIr_&@~I`?-M}d z2K-vYG*}iqn&M~7j#FCJc#7ABWM)c|?EF96-qZ(R#F<8qpV>IxX%QqPqxqu;Bnbkk zl~}}8tCIWpx6s*?(JPggXo~Rb&v0v_+VYjoFfwCq^q-FpdXd&yah^&hA+ihCeoG+I zQ-%#L=1d-K6~$|!yAR!eLJ2moHq^%h&}W&krV_X51159NAHPxu_5oPJb(K<-U3hM}l&$yzVktbEV zg%XOk4*)|Y-`||}*=bpLg~xIy$8cItI&{}x-2Qp;?Z|tMDQ}CA#F?cMIf&bPc^q-; z)MJ2i$xQIj54G}RPO_B`0uitvYZBEWToa$Is(10B@a;}4NjAhLkLR!P0k^+-ahq3s z@f|wb6Kmf@FqltEpuuX;&0jo}Qkdi9!e@dHU&&?^r=Z8-XtJfEC&r72Q`LV z>SRA!5zhLqSAf6;r?4DHKKs}4Ql3N}>9`Ko!f}{0ycD(N`l3eDYV*q=4=0yZpJ8Me z)u;!9I#i0uQ#iy~#1>1>yXSP?3jXzWb6+SV9cnN1>XM zPAC;?D$Oa1=kiP;Pc_%ijn+GKiAqaNq0cE!=@Jvn+TSBGncLE62}@@^f^tK4H6aG%}3*W{QTtcb-M0JZDbOavt{9%kj=I zm4r@^bn;WMOkgWD_r-hxy`Nnr%7_=ksr%mlQx#~);&Kr|`%9vS{)$N@Bc`vQl zuo}f=IR*gq@Y3WS9-e`1?pAk)5HP@}@FyYAtv&vS^xCoTbEWU+MEvDVIsADc$RL2UEKfnlYRoy-uA3T50dnA1l~T z!w18LUXR$z>sH+$*X8<`Gjb-c894ct+tjp@gEEFI?G^(#a)0Quptqm~O?56d^|h>Z zCH6F#!m5oY-iQExLI%D*YDn;@GSJWf116rHM4J9nwKkRs*=ZJYR?Dr04o|CUB9i#W z)(xb|fJMD<&EnDa6)0uv!{}zXhTEj6J@wvC<`q!DoA8uBo{w#^VFhfyXLX7u7>JQL z-TQ`-(;O~GhNM_uK|@;Lc6s;8kKF)+h=}H}#q%6~8ya_H@WQ`M)XXiy=LcL_6U?i% zb)Fu7ZGRi*;vEh&eEncdwVg|S0{bO3HOyP6>@#yz3qd${+|F6Et?}=9Q{ME)Dg~Ir zxemj~3Y5RLO-dDA!B7n9v}O6ZD%X~D95{{)xzW)D=g7cE55R^PHxjAVx6UaU@((}( zksbxx`3#-@e7cdjnl?i zNFT39ar5IaEeSRR&*@5mI*yEd3t8Bm8idXOtf}jo1y%ZSz)UsK+6!@v4Or9Cuu;Fw z-72=g$!kLMoB99YP*xp;6J6ZiAa-F^!ZhYp{q7fIow(wqda^a}&A~byd=GRm?e7AL zTm|x|9%r9d9@Fun74H37O4LU9n70UzXKzc!{51>)`hLH@^jz#L(mK3kZX*rSX%Z=! zeSO$=-Ww0hTOZgq$V0QM0#e^NIknu$8{C3Z`Af>evWi78o!rK%0$pnmRyhB0 zd`RsPE3BR`FmQo54jM0%yW0V|HX7J$x7i`P&+pcj*XRBTpbew!!~EmpLPncU6b{fU zVZa0w3ZHev%EQuTW&0E3<>iJ0;LN79eikD&{GK`1+{)rB4#Iig^`eoXFglU1VP(Uw z`Q+G2ic2t3!#NcS7fOaY@qiaXo6h`mFO{X~u)`YGVKpdBHGf0YFcId+T_FpR`*+!} zI3`sgmLDvaH4pXSgj#&-O+MKSCN2wF(Sp8F$bRnk+AR^u(V+YpXsz1&r}lk`=#2)4 z%&?3T<%()l{-2)0I+xqdQv3{2=`jgzo6d-z7fub{B?S0Dg1-z&Onjc8vEk=Y8YmhK z%q5Lmw#HuwJ_&HHO!s@SoUT&!*D_B?6To1VZhWeb9+$n3k`0NX1eK%{_gRk2Y0(e@ zSZEL7S6@1?+>{#rJ2@+wwik^2D`~Vx5+evJu5&xcF$fv3xO4~bdr}m-9%G(LoWX85 zw;d2PTw_L8={Dvfqzs~9@0R>YA*Sn3DAUQV`6Xm3DNM`~@0mt(RhRpS-4cw7z}cl| z82E@9U7j;;;a2~_pI^27|HwXWK>3F)j`^Ft0XNvdUBM#fmoIr{fwhj3iKfyFXX4!9 zT-MOmuf<=yt3u*D$4gdow$!9O3GVrU8A?GTq7Yx>E*Er88O1kDPPGw^7ooi#wZz#nV*vUkNeW)zH?|2# z19q6>t7c&*8Vb7(oku{DLk=LDObSB zaPM07Zor?p0P5!a`RHxD3e--q!EXcUwOt@$T`r5h$fspkJ%+eA0&qWn?I3SIL`l(< zBrdX#G=#|h#-u8D z$lq;IOUGPWH+J}p1)&}ylfxh~Sn=-e-K`i$)e0IqRIaqz9TlncOZ;r18|4!IZ()(Bfao4~anM=hwd#;{QQETK#S{}F1Af;FQ- zXRl3Fp#db--Tb^WwRAjcY2dNsZEI;{*oa}8ePLq+`py8fLmMJaDtSekG@L8@-p>Sf zUZ9S_zDms{GvYqoZr~QhH#FV>V-Z7b+L;@4_|(Ety4t4j+L5i_k0_O@->gqf_+h}+!AK;Cx?vrrIYg)f zA*M>C3eC%*+z+C^9}I0j4ICrcTKau_|NnLTa1zQ%GFUi}9QgOHdF!D}4+i;tVM=iL z3bT{x75=Z2Okl~`+Qo*nWmqcl+73nu00S8-gZ8FI((@!{{duz<|DsFz+yM3LG)c0| zHNu*AcG3X`)yhg?b)nx zSY?4X`w(;=^LVN2GdTrXx?&cPf81fxU|l*mM6~CM#Nfz<&}4q|5?V* z2lNXLiya%mp4#&W(ZAZY+R+N5l)R?#EBMuG|2wnZxnu#JKm<1Sa#>413qG?U;{_Yv z*0|yY31a2ra?B`c7;C&1VbPHhW#?%6t8X_?%M2i;#0EI{5wCOtjnLarb732&aeZL#*vv=?ehVzcWTZLXxg zD3{0Jc!FlUkd(y^|Ge{f65!F{kA^NN(UFse3ZT+m2U_PNDe_m^IFc zk07u{CYg1;CCS|QrB>8XI7!%2 zR-J}Dq%%!;581ZNSS5?#!_7o%ZSz7IYt zEOj{fv*}vCE-)Ih@YRCt3!L@gE#iLd-Ley?(i&A9^d&ehKSR9@-mw1;g>qy{lDZ6 zsMcdiGXnc%$D;8QcjyCRK|9)BrIG zZ`GtKlnNQen7x z6Km^#h7Z5gu&f_Zp0O$cVfg`QA6jn+vL_;@MDJ(gUc^qSgH>8*7Q`_|Fp$sH z*B&eUQ_c~i-%RwC%)n{>SL2}Y*ljMp@l21M2fS$4RBrWYkp7X<-Cz9By#73~Ea*0D zX88K|h{-*{cm1~Mpe*$x?z7h>f9dm>y%}(JZbX|EE?;w`)$6_SzA2^dEl#guR^38d zFCUr+2V0sP*?|G8)_cyZwAuMe7_)$(P&}Kmf~NtuB~0>&Y=0D?%1OxVgWBT@_>P{J z!@PCW10cG5A$myJr9e>(FtewJ%-?Bd z@Jysb1B%Xm!=%D0NLEu*WA*4q4fb6~!=%cl!=hE+Z0Q*F94=dZW@!&A)}}#;K>Ir( ze1fr3G2_8e)q&d$J%C;R*1`I~^AqSG4oZ_pB_YYKnH0uH?^`{hqnOayRtZ$xB8Tn6 zcU8~$i*~+=vGxs~cH~C$o#YAGMoZJQ9HKv!*gP@g@sG?O~PtVSyca_UGr9M0=x)JfiFj z&&RqNtI30UvS4xDXHS?8Cpz9v^_`UyMJ_J=uco$$)et&4IS&VvIw@6Vf5FbL!fGzg zJ{Co{?&4x=m~=Lp8rJHZpwlEHP`qhdDdA|AW3C!NB zdtLX8bcUKgxL(>d!00Oh?3Z-SffIo7@V#@u~}41cG56<9lVTfFGeGW_NQ(BCMXy?ZNGog)?oT zoV{EbMx0OVPjJ-Al%?CB6We&<6b3A3nTbPD4y zV?ixGFMx8F9_~eV5y*f0gt(Co?>?w=3!!UGwT+5#wUF5x+3T5ph@nANh+}G)c!mh( z@3tEs!KY1l{yo61xMD$IKvsfBHHOWZ|eAF~5!61oBnJPgC5-Ey&j zqH*U1=Cz?v6~QD)M3sqDVy%)Sg*++-o_29>z6Q@GtXSRCQbBVt#}1VHfxb43=|BCz z=6VWep@BH}htZp%wL9!hi0+$YSD~j~>dmV*UX@wb8<#U`4V*t9bY}1CDOYBJi`I}j z&(+62diitPbU(SU-f9QJV$zluIho7t`a*0>kAm_*nm4tj`<6-6=% zN#((R4|=ucOBXRGvzwvHI6$j zW`Wvc2azp7R>O2qyVtM4}PbjgoOjw&&Awp-2+D=wVAPf;6CD>FTSL z2`nSu0ls6%OB)jHOe4ssbM{`r*pvg@Sx5q1 z#NhJkVRr9$n-I~!Omi3{=7mk6or~m^e-~W+3MM6rfrWk{9{IQ%+~(6CM)B`z0J(_R0*>;l40Zx^b0%lJ(E zRJo->ZRJVKGZ&LBPAMh^m&hC-&`wa}6=BAdaPmGlp*2!k*KXHiMT*wr6?)l-!%@72 zSCMr=ut2+dE|Y>9BxR9!n>8NYee5pIIwnHS!YYmP^%Ee_blTddTs-znd{BSVte4J~ z4`6O#iea)Jt#t4K-7>U#mUv+$xf*L%roqwOV8rHT2gPA%wDDJaq8ev+DBCFD(o#rX z-HktPDs23ZZw{UE%&gwaL=3UFsz7^*WB3o??D}7r&@Gi7@`>LwOdKiH1O7LA z2;_=bn69%H7FM)YC4JLoY*3lGycS8R0!hKyp{zavt;Gex)hcxZh&J8ofU@7L#sWr; zmWREFhZRSYPyRPVo1k9Xl=4pWF4@{hOsNxO&d2!bi{ba)#BKk)F-sr*>878hauUrz zSHZNdRfKI)G#WDwRH(FP-{M19oN5%&rk!lccHXoI9EEwC9@yoH0xrl<#(I0@u9tB9 znk8U289w-{wn*oj5KYa?X_1jje)ALxa{Se$zOF6}bx1N(wrYrltFM4wRA3!}`;-uh zmQi>4pj-7<0vF+zTBwuE6>XwNE=@sc1&l>lP;ZKu55Mf?7qSjDnDb7PNiLyfY7gU^ zsa$`PaP%YNdft`tE)tGJ)W%fS!pjd91%vclwDxP{HZVZKye7bA2L#7ST(x4^jJt(^IX9M30DR_cZPXxx4~$2*1H&A1%y@;6A^6diGdcjMAX)i64Z*w%^xKs zVNY_+%yIKc2FjILV9etcFD{1_KogyVAvZ}1c!AIQWsHCD5oxK|VF!LBv&omuV*Qec zWhk3?m?J`9O4kPI*nZffgHZ{o^1ow?3vTJE7R~O97Y+7qx3zlipcn?kJA9@U6vl{1 zPRnm(=>plChK3FN`dF1ao~yPushT>iTS`C!Qyz=VzG{kdIxEOr8TTiq>R_(Fn^OFR z%b$ES(g?QWO;ovK?V#gE0Jri+WJ90#kCj!gIs(Zo2~F)PP|_}4b~lyYK>_ED3sy$M5p z+Ixil%Gq-_d)v>}t$UNf0`yl%@OpX<7VJK3rX@R&Vy(k1@cXVO=Y_ag@`<85d8c8t z>bUh`3H&#HFlV|v3Q6PGcnU0>IvoC;9<5C{fY}(dG!{>1CuweyBE;%7f^AZ;Y|-Yo zI4${xq~!XkIc`V(5p%^tXz*`pLT$(rJz|kuodJT-v*5WK7r+!-?L@EVNT7 zj*pCDM7sRY`B(v@>R?whVCm}24f1gvifE#&h8C7_%azR z>IXrFZ^X)*K*)TL>P4n>Wy#|$TNS3h4a3)LK`(KUw$YS;*4_7Mc-n(9awK`zEZm^{ zVlOQ-ia+Ed6!w84fs=?I;Fx;JDrsd#=v5@vK2b>GG$%#<=fz^m)Du?@-w=QDRF{yp zO&|BK1-)=TeL-|Du#X>Or>ptCZvWIQ|Fd8DyU2EC z&M-WSzlQ)(U{uSJFa}*adAJPf5av8X1_~zgt|8nS8^v+A-Qw)|IOsz$U|{eZCHvDV zJw@H-DMLo%_R^1D;9DKeBJ5*``aXbA8ZpEnoBcIp&K}ZpZZ@a-z0g%izuJ3@7P4};399^%~lgYi`HtYA*WDGM3WU@YJ zc$E-}jVUm*TrO`3sh^r!ua!=$Qx1)^D3ca1*RE_S~q-_eV%+c zG~X<$fxJrE_v+H@Kkg3uA56uoPH^ugmi}5yr)RaQ$R13T#(IitKq1w+7G8y#rDqxP zlO9ew{)wbcB#G)XMeklvU?v=d(gCC2$n}I?n-*6C?oa-`U48tPEJdv(W42f0#ZID~ z!icw@%`-`k+B08fkg&Y~lX7Eny>2`mBW3JXEw>b_7P12nx(7tTPv&7%Y?-sthV7&n z;E(_QCmGpTg|lV!1}}5;i4wry#>0zCfpt8Ga<3Ct!OsvaS_X1^Uil#M2}N)Fyh;lE zllycg=-#NmGNiO8T(Z@4oTyg{&k#h<@>p$hmBJoT1KSpqWCR_XS2#F}N3N~J&1x>NT z;G;G7+&`8xA>ldu1=sr09p8=w)Bssohet6z1WXDXSsDbN0*sW9l5dDhq^jYDWtm^BLie*NqF#LaK)gjF-JxN@+?UW(Aw#~fQcSCUS1G1j zxNMV1L{-c3417yuqXfx2g^BX7gz2Nf8HRUWz z^UxDg=SC{xKg7F|GU|*Pwv`Y5QSBhpPhUxB^9sww2SAhqNK!U4@P;L^$aPN|8VRL@ z#$MZ<+FvlvY|Zx`6_{B0oHWf$Ry@~Uc#NcgH}v_F>qSX*Gg~n6A77 zh*HWw6p(25RDI!qCxU?gDlclD z2QXbh)Sse{E%8bhXtmE_14MDJIXdC=@dl4!hcv{eXng~=5C1@>LT#i#6&LpAi)h~v zmr@qtOf$#qHp~+uvO#i-bx@C(6F^h0G}guDy4XcppTLJ zUuHO~1QX{*aek%y@J`ZS{>lAoVh)}WYDU~|BRAPU10lcEX;cZl5OBY^TLkXhjK~@N z=k>HcGWu^-M&M$Dy2BMbuqQEp)YX#7GZa7sr*SY)V55Fp8h`r?tkK;T7Ch^YTD!!9 zmQs%~qjhdcY~Axj-Jr$(Ytkvawoi7`r7#XeinpJ~E|;;xXlG0D2c(752={Xggw|d? z?~)1qtcD#_FyNnHp%E7mO^KGNBffoN>Gl)7&Hz(P&weIRTc^~`vbx| z2N@gf>K~vJ9^s5u*D!T-vZi#nwf%Z6z{$8BUaSy0vEO9J2%UO6q_noG=v5z;1 zJ%TpJ=7bh@MxpUroi}$Cx*3A*(xmq}gNbC){hYQXHi;n`-fcs0^KMO&EywB+WA>T* zuvWJshZU9xi#6FnN7XJH7s#Js?X$IZaE$w}j>q)}3d zUyUn$9FGE4AVQlLQ-?cKUdl!kz~k4d3jBPO1`p=*SsiZo=~Z6KtCf4V|9cq*O=4cP z%)gFDwJ!SUw%T~^#vc2mnfzknkp7*+*vDB>pE}tYvh+T+L2ZtcCU_E@2Nr%FS%1L4 z@k=`xL=9RcCgXTin-!W?G>u1qRcb?oFd?Ce4HU|NkJjd6#z%Ml8$9tA@>=U{G!u8g zI4DMgUl6htAC7yRZ*7+&Hhp4&KX~?cT3T1#3UW)qCR^d7wEt%BKPmp}#S2-jpz4R* zq)c#C7Ik*t)VqC-9sTUP%+DMU=u9HY1?cQFrtM_4eBEO;h+?CMZJ2Q+#MxhdO>-+` zbg{(VU^*!7iY+lz1c$dz>_LZ>clhrbhn)liH> zflzM~k6F5KtcNs?F&!X~j!HLvhMg?HZ0`H5x$_u=mJdhf0oGT>c9`&W1qD-3La;^< zd}m|2nj|&-Ywdr~)z4wLE~LZAnS31#yT+=U-qX$~E#r2e&aXj73nx3N z$_5D%8PCu@b&UpZ$H*uo-e}&@uxzg;my5&t4 z2pt<{5AYRxMt)yMPNtx_=aw#!NKXGc^*0}WD@(tSaNDEDpAl1#D>XL6pR~JOsjW#$ ze#QKiZi)_+P3v3mN{$S3mt|}mM_&G%m8xx?F^9uh((b^4eRYn0h@FtV)vuSd%Kga?7 zem@>q(P=zF)yQJ->W+syG6d9h{eCs){s0qJ->3uxoH#bgmi*+{?|j)=8TgnFNPZj1 zO25DEWTyggtc^r~|CoJbltU8Vroyegw}mNo>bI`lXz)j^ds)~JU?P_6zLyI&&$!pr z##_UDm9LHX;=8zz_E7cL8k}H&Arh=+BRL=817WKwIXK0bqR8gJKwBJVC_FuCaDL73 zyjp9~rrjtENAZ03di?KMH9sV1s~{_r*<)q0C`c5W#3(P@=8nPJ_C;3B6;sBD*arpe zZgq_!hMjJw5p~5X6cgr-%Dxm*TF7fU3M#5#{@-S$+9D(oJ_z+Im&skW2914P-RQmvz%A{gj5 zNmyBt2w8yZ8Y`_Zq2uMsStvG~<=te1%1%Jnqh8X7%HCLm=|quT%o-D)}80xMC||z zIuk!M35hv5$Q6{i2ui?Qi~y-osfcQB9F(HdEWQ~k)@GrzIsq0{& zv)ZhDge6a*r2<54x=oQ9K*=>KW%uG0O&WHCFpB_LRh9&n3rXQaRJx{QTkz$G+42UK zb(PSi6pkV*-r=pb*pPQftEjPXk{wcn6Tf4s48Z;!(Z>&HL9hgg=7}wR2o&x_3UrWE zRdKC@ze4)@9e#!+_5>+kN0UMDev8`1qx0ihiet##ftz9m`3fxR1$?jhTnTkvcYO9~ zgsgZ}uAWLG?8W95N%-?CIUi=vJD@m5Jxbh4eiB zWd1M1;q{cqG={d)v??R50@ID_+~z-F1%-+1Q1EE_;v6QrN0gSL;i^y&IlnuJh009J zAjIfd;Lu|qp-s+2SG;Ou1PoT40A5v;-snblG6#~GF%{(B$C&WYT3(xq-rQe0t0i-& z0*tMFoa|}osu2muYq;nKs|2mJFWE}ExolpN9KrunnqE|}1Pg04{`MN*fPtWeG!2~B zj;4yE2Sx3zJxQPTN%!onV0t7C!93B5(Kw?jcVX%_@za2#qlQX&8u`b7N|{e(3W?HI zHe416RuE$&RJe~${zt%Vm}yaOf#;ZXjzKu%I50_tVNq&D!O-=mmXL~^lWBf0>+ts2 zIBr^F!+m>pp?tEJC;>69x8S~MFnj(*_(?IYYU62DJE`$~=kMy)zh>O98f?;2DrNjo z))gdIYPlHLaJJ?95v9R)lXRTfcz(rsYZY+?Pk{|}9!a2Do`I+w0QW`lA7%U)tE|T> zvnxh-q|KG2dyWe7iw7}sum{4(KXx=^B$+{*Fwav_63d8C`B3*g>%AfB6Z2Dap(0uo?F;35X4YqfS)zEbf0dp9N{O+)J9{~wN6wPiP zInDd*TWK>rHFdgt1}CYH+~0yPI)R#Bo!{!bK>K)N^o9yQf+Y5Xa>I9s(;E`ShqJ}R^Qg5Q#5hFRpa_g_6W{KX;k@yLsxhHx z{>lJ>W1U>7XRnqSa&L`Eg4>cnHE(T% z+D%zMk?!a8#^P97!iq<+`=83S_MU-FLYj9j;I>)W@FOkq|~gvCdy0iYAv+Jq)<<}+A4o2DD=DHM=lH*j8IKZ>!3an?V;{{ z8}r+_3Mzm_Y`~nk^Af6QsDRsMxnWl*%-UQ)Ip0`6Gbpl|wCh4`R+@G0_VmKFQ~j>zFR_GV}ku4S=f>S)N6(sdogd^ozZ>&V;$ z&w*vYG@v>{6D`Fw61h*nR$y;TI83>ONw4Nho53O@pPx4rq3#WKE;DU_RG~Lw6uG>p zm>1LNoX%XnsYogrnvt0I+5KCm418bVNV=gey1@i@-g8yBgX*R8Et8~BZL$MS-t!Z} zSqP4<-3907*x~2NG6sAi1M9leiOCiZ(`M*?R3^_E)F`9zd*b%fL!w%Bp!=e~uS{u$ zAGKvuC;ppIMW?PQ_*kaNZ~3MU&h9F`TlNse&J1A$hG`Bmn%8+%QX`dCXtd8nO#l=e zI9$tX^37P|Ik1k$XqT8OG$-2n`UP6PxDLVm<_KOqG5{cI$&3j1g+^k~(cuwA-`7sf z0U%$PrK4vV<}QncHg^Wqfb+1a156F21(2m)knYgC_W4qY1cj$uF_ez$M14EzO3TmX zDJuZx&N9i(59tpL>W0S_=(0+3@@?tTT!e+2wh_FR_b?RIeitg(ni%<>w=p5g$}F2d zT6v?;0kKm4HQlZlb$Y*INsK!{V*2ag1#Ykvy@|UL$K!}Y#eshLn=O!kc#B>?GAmR@ zhYU-1ARmtj0*%$xJF=XvZy|T}K66_w>QY_}Vub>Fh>Tsr;BBzs0piMT=$Cbx<~W<6v<37 zXd&y_3t1Mb)`Dxf+7{3*`5bGNl{|QmFg?ERG3;XJQP1|GVQ~*LwNY1}(mf8hz0cFrBkmvW~6KqPGY zg949L*mXd2gsB*n(}VVlmkMFpX4#+q-WPBXdx^h4f?2`%ubF_%&+OoFx{r?&roKoz zz=x?!%%6~I?iIIvQLNu|VpWw(p95zy}N17UuL)0u-Y4ZfOAW8Uv!?c=7~ z;ko>x&Dr;CRbIZDr`oQI<=1Qznf!+zalrnpjLI=h*RccD&p;?oCTD@I(=?ZaWTEOW z!U`8YJ~Bsu!j>9cg-EI=PbqO%>EE>vmkM8kBWj9k6vb0b0AJ5yk(;%Rp6zYXV51^k zieaTaf^(?6Km$2*4}S3dO=T7c`mV;ZxU*h@VRTT!)J!lUby($QA^?92Pb)Y8*Y zE)q>156X-KgvRrb0QT!30jYkf!YTCF@v@aY$by0ra3@}JHwrV-`tm- zk-a}Zhd6bKl>J%5EfmPmf$*N4i{CYn`f_5_=C$ombJ@(ycX?~WG2VG>YPpq)8AYk$91Bs!;YG`_sN6F@`*Y*@?^Xy7*5mVYzT#kK9=0RJCO7>wWRo68 ztI1T{a@-|xMa$isR3YoClFKAhh0^sX&%2Akz~DBWiYk zyvS?qxFKTATDom#R%lQ!{bq@*XkM`sljR)Z+-{twA0B#l*yEwQa;tU1BZ<`_gXDUL ztIDE&H4QHWa71g~_nI;DmN;>U8e^!AiJo=}Uo-%qCeWZ=`Yt)F7=omtS-+68Sc&h9 zL(o__ypKD+l{_MI?R}xm^YOz8|GoG$q_C^zh9VLV^DBG9n}_NE702ns=8Y716F9LJ zP>Q-cefEi4JNB>+y*{#rQ8}vqM_F56P-1lGjO_c^tWX5Gh!w306B(Nm012)cd?e1E zees6W=}$Pmd(}+_6!Oqavzc$Vh|7JB)|IUuf}|FW%&A*Rx#W2WYaO+m@ua)Wmt+7V zB#6}%W<}5a)~s`QD0~Yx?JcgJ^&gGX25+ac!yhMj-mvSbF(6euoNk^_lh&h2wM^Y~>+$aTu5?$N z2g6JqyeV3s5BoRO6L?jjPPzxvcNs!-C-N2i4GDoZms$M&4~uj-4o0~l)wm>uf6iBc zPta2(<}J1Fv0kr6{su*e$$;CKB+kzpz>ugv**7`WIGS$zrcp>+^U<63`qTG1#f}{z z`p?r)5qa}V#6j^Ky@>(!!&*yGShcukS}s^pQSo{2Xfm7~YN`yBWhw8(RaVZ@HLRyj zkv`4KwE9q@Uz1K|8-aLG9W*syHzhK!1&-J43|Zc!ihD5eFj2F~!rc)QxQ(T4?}X5* zUS-ERsUqmUbn0RpG0v5-{yp;@ALeRN#V9pjDiArhGGa$otG z=4U}Z{!m22%?lop$2EPH%lPYRImYb>ebpJn=k4M84$rZK^L~mqO0dbmyiwzLYG24# zwwU}p)N@R^9HYd~kqM+7n{MEStNe0Q!8x=<5F6EkW7M@gT81|(2h zPJhggV<(yF)o#Q zrgstfpY-k|K^Q9PK9;#5whx$v;@}jupY20N-e2-63z7kD{hOhn#`wN;ige?7g z{IBVmwx;QgXI@AWo9)=cNEKQG2GSQDMeC6w7Ra+Zp#W2An(%?V=}U4pSa@%FVN(oo z`^kh5e~2YcbuxqB3z&1VOj1OdyupaUEanIW-MyWEQaFnqR zD^e==3#X(F?JUn7Q|x6W@~SrR2fz@0Rhw76f2wZCdgOn@dhv5&8d5i zHIcUj=cfo?UA$C?WBVR+d=a32g7~FM`L9-56$|S^ix- zOVd3DG zS3PKyJ<{8iRSI+zBxM!fJqQxS2I)<`C!lM0BP!bHQ0pAVat~xo?2ag>8Oiv4e)Oze zu3N@Ljkf+O`-S5*;m3a2aRF75df+YIadvxhGE{`{6@$7!iw*kGPJ1_hJv&BuFdvo>T%4V>aO(7Ky6JhJ^`J~YG$=cgtLedcW zCoUd2<(f)A_uSFtpDCsa3wm^WcSqa|o`ObJ;i~VPnMGrjP4VM*7t0bilZFQN<_Y`- zaF~l!ohIdohN*bb$)Nl_7sB&&l`@UHjNsbU?zF%OGx$>K>g=@D)m8{GtUO?EKhv{%3Mrk7L8=)M0DsWL8SB@=A9UBJm zHLfaA7ruXtPqOVrQtd7UsrpqA4NopKIeXmh&8O7&*UGajk{FL9U@3TLH^y1i4)x-8 z#K@g%#V?-G5HJ*HrL5=BTgHl;j_6)9^+Rk293oG?ggc;Dv+C(NC2pA3}TX@Un{?uk+*2jOuE=tKRo?4g?=1* z&zpGTDoh?P0sFon$nQYpoNLXE1pf)lYdA%3965vJOR6T34&8oZB1_9X_ZaLl@Wb2-(AK%w zFinz^Hmx#OYF>BxK8ti|nF`#&EtLc(!|M0v!ycPyKX~0<9c>s}9Uk{XJg@rg7qGkWy;xFFwJb7p%m2#r^UQZ>Ez~M#v0@*` ziZNgorHqLq$=>c8ckG@R6stAo_?2P7@g7%xeaC=JySyi8B_3C9wV53>X*qsD^5j+| z=@Nq#cU7{S&vI0pAjcgI&30wpz}>cYjwP)UMqvmHYLU!bLfd{bB7qI{M^@(kPX3ok z+8J_d+iZ)?8|i!?(`sBZEzY%PF8b{yJ9nIHk!}$QuE5_cG#HnUP#PfdCl4Hbq|hS~ z`g3HEAXTKURDEp~tNercZYc}G4_$_zy-l(RyPi)=-PKav{q9BR)1phFb! z?*Nf8n@9!*{xW>;m_)&cs^nzRf5fJyR=CNZcG_boU0E3AAa*v~ z+?k@y;H?-48@}ns?PHKADzmbF-%RSZ04F3_kJlhVC0h+OEE~MR@}O*9y-9ieAs;>e zU*Y?+8G!(tAvbFU!QJU!p)Dsg;yVSJRDNb*?o<@-7p6f*t@W$qrwk3}lheMe`)^7V zKj+eNuxt#;$L6H46Urs0HU7G#%$x{!TIo$;lEgMcKozu&-iHleSRB0M;c0$On!mZ) zFY9 zGxc&L;k54&{vi$;QG55C4eb!2rhZd~F6uN}*pF;&p>Lcf27x_8^wSs(Vaj`D?b1Ur^sv-x$aZk$fbD_+SA?VqfRA)X< z!KKQPWC9e{T1I22p`oR1lB{KvB@TJDw56{NT$G&HqGcg@{;*gpHGU)`+#b4Z1}YZ5 z4tvm4Ds0|cTNF@Y(0Gte46EW{8I0LEAS(Lz#qGcQ+j0qRVwLq|h+BrtPY;g=s_*9> z9Gx{Z=ZYd%KmEE*(X)QYK$H#vo8#zun%BV5GzccW`$J$i}0GBn7&I2AGz_Kc&DjcT^G+@d(kW zgNnh)-4}9R{*cY4FPIGSgv#C;lFydK=5Or>n*f1G+B~rOiF-{f3-Ks2V@7ki#`wos zkCaZUF!v|Cr)2w&rRJvPoWtUv&?BH@P|tn;LCS*jU_!!}x`Js2r%W6Z7xAq}4ea6Y z^K=hFt%f;|U1RBu7mLP-4s*FZp+KrtCVdt+wTWvyBJ(Nx*;S9pkM32h^%Z2@!Si<+ z38mxxvj@5j?Av3;Ar4}codKT4Z93fOuXgX$j9NS|CM6{*1s2FEjyN77K`?2}s7l93 zEIh9Pi-_;zypB2U5nQ2@xf5;+4OlH#`vd!XQU@V&7YkMMzWjkqH?h7oB(zlX0?O}u zE8xMXOlr!Z6^w}g8R#nhIz+T7_FhCqDua@LFr>5|v9B9FM3E);av2P4x#R$F$YVM9 z&J`WXIHbTwaCpPpWjw{?OuO)W6AdgPnxV`fNVbaI=qjqL;648^l(rU!Vt@ee(zLJ7b2S^`3Z{6l>m)t9vlx zATrq8w)c$Ky>4Q5%6n)G$=AbxMJ74wa7k>_!2}=rh-vnDD^00&oRv2V-4!8iZBUXg zRU6ho2@!K1PzyPVwA!JoAO>kWH?ZNC%)X_Bjl+sR;ZM zS@ENhpXX|1p1lezYW;EhKkk@)$5rjcxA%}o+&j1;lq9!+nMnB~evFHc@i4SS4;-Kv zIrp&aLHtQH+QQVcss%}GBmrS>mx3eRBm4JP97H*84m96u-_s+rP9k8?vE=2zw9Cz> zF0o>7yV|&za*nEW+6eqLefpu3^_c3_<*tXuWJ?b=aUbR{4=n{%Qpbv^8vkz4mL_E|bSt=HEiifXSRfw|Rj9)rh#` z%rt$KT|z_J)8=~>VWpY4!UybF$=c~)EsRkfK{*8HUORn^d%og@@aNFYGA7Gx^M+f( zVmTZEOR}~oqkJ$AJ5mG&$MNm<`!WZYxt+yy5cC?vZ&c{>Bqv#6n-5gVFH1m+(OLMD zaeXLU>D2KD4`-rr6FnJMw`P*T+nf7>z5JVVX5(w3EU$C|xoM^q8}AWhybENRH4gLsOG z7&JMa3rX=YL3fl7mx)&UHg-_HK%aZ2*~Ybn48;X5Y6tEHLy& z%;&ZyGaX#cft`G;KRS2G$ZrLCK06MRPZ9YOa~A9O#IoXvuC|z)g2jM8HGmN79Po&a_F;+u*)R0KEc>@Q0w2bi2vg;i zEYB!g^T{xk9e~+Tw1$NGLremt@|XyS!4QyV1!+?WC+n8l5d3U;QRn{XIWuW!h4jTL z};}kLLUGGJr68+{#QFp_=SqSanM1k+f!^q0& zecf;Rrfz?s=NGk>;m@uf{Ew9JU(HL1)FIdCX{t86*T9@-tl!g|>bJEw{1q%QkeLWS z`$L5C`l3Pd$${=&r8kG^Xt}hY?Lx0TnCPc1?#bJs2irp)1nFen1wCkqyA=^;6@*$y z;=@4{*_MtNJ?Z3)fPrs#aXz`v-#n#O4xj8{SiMnA(&&P-ApDp^jTopuG7wAz@ZX*J zVwW_?Tv(ShZtFn>-A|C;q)p7gFSke9PqE42MVA$BaX6hj>6V=r5KkV&6ZFisF1MQh zfgo+xw(VP?7>yMUjo{;%!~|1yp6@uz;fr+pj z3q*3DN5b;Sl^144;8xB|`@-5nC5c1lcCwkYFK@Aabob)Q={2e|27d6huWA*_c|CM= zaRW8BPkNpET}~6&xK7xCp2Fm`0|yoQrEzk#&T^a^A#o}W4T#EEIJw4Ct@v0Kml;>Z zMS3u8qq^Y%-ji1Yl@ zBcqUCX+n)tAG9Iaf9Ozh=kc7}u7@);rv$u2A^HUtPe>{$E|}WzO|?IB3qSZ)l@s6B zcCu(K* z3G0S&f~$qoLqdovGVU5tBg&BGVlByyzdueR+6NuoLIARpW%uiDG3h`Fy^aqf!D4%) zmhbNI4z3~oTyTl-g>-D5JZAFRQXWA+x*kq&hjh4RQQMOSj~SmfIEIa6#!C7O;%-ZR zJJ)?Y#pp4JUpSsqA>(u~9-o3`sjXu`!wpqq)PO@1w3)l~_@KP;D}%(%0u2u)#b*p14A^#6s)RcSqd7-dG`i+z5aq9 z2lF^dY;b?bqDtpvL4TJn0{lgS%*4`#`$sZ86xSsr2|wf9IBRD_XBK?m6>-E!>ucEV z$)wb87BZ3di=R8BFt8EcZ4a&C3!N>?qvXkOpSK^=ToXsh{dBK4g(#q8Tg!;ake^Z6NK^#2@LHY@F}mUTDF4*&>3(Zp1K~={Zpl)O&~rRFA<_~$iqjTn~`pb4!ZYZe_1N8?g|b40u7w19QiTCYAjW7j9S_UwQZW? ztgLJM&l1O)17r1FdDxSj z3shT6;!4J*2N=emDu>@NV%?k3?KuD0+$5iK38iM+aN3H2(i|9WE;x5lnlfyqL7I2|ESR{u{I?3c6 zxj8cpgZMwK5;?9FG*x1nRRR(n){x0;ushE)4;!{8gDG$-+{Bd7w&*f(qS3awnG_-4 zXFao$p_WFNvddw(SdEsCu=ZJ9URY|Sg;MK-#-$>@7_iuVm$gIl9rm?QJnTc!k3v3! zxpj{xYriEo-~dj=GQY}vdD=ICn(A#kZUPe*x zcIxPzxmRkv%*k2ZUgCqa&Grm-tGU35J+=oDMFKm?!x_4r#{YI>D_RqyJ_jBv;4_ZA zh>c;eo?JVv(6G{OX7@HQ6HOq^5MB}94H;-iH1C%b?V~W7d2CT(m{e>@6_d1SZ{-iI z@Sr#x{aP?Z`$~w_ir}&5C9>36iP~>j(85ER+jYIzp@fCLCQX}#dtx6p`GgGMJz=81 z$4@v{%#0$_{P3%P8pce(CsBvRITcJP@ZO(lGzyC3HuR0TapOcI1jLYd} zmz%y+!MGI^$TXny4-6 zh^lzY7e=YP5{KDZ)@3C-z_3{*FY!5VFS+=HtKqBZ@YIPOCj(4))bAYLXMBdG734Ud zrJIx6Re%|9yK;)pZ$7{qYA+5Hu$%j5QWI;H>rzd-CK#vbzVThlbgI4VD8V35&1zg( zR&U{TXD+SDNBUnj$8!_LkNFuIvc~rs*8AOxeA?0q6oGF+zN{JsHS&X0+#jJS>m?I} zZ+%G}-)WXY61Ifn_T*uzAh5ghBXO>Xio52R^ArgNSSs!i?$I=pDT)R~+l;cN)k1u7 zA*J8Wq~eC6d1MMh(HtKg^Vq|Aq~?gIwM@P)10I?gVv$Z?_Do7eGVr=Jk#dez6rd!H zykKKW87HX&uYin!DAA64Vo^ec@AmUZFjZ8c9& zhyrJCfbWaKdV(j@V(lsSl05tM{GQu}8sM#r44KCc{Hgi0`uaZH9|_p?w7}GG{-A=h z7JtCLC*UrSb2?*zrP}*w+55ij1wQb4FL)`swOGEDxB&RZzo1{z#bKaPL9^ejg{F_J zv&WD!V60GEE`|hvencfj4ZCV))jd6_N$_bT-eD$0L^yKg7e3D? z{#R2>gsyHMG3e41E}O<@F%BYa4E8&PtE3C~gduyv|JVKsqqv?kHJ-0uZY*CufE3ff z$Uh2v?|Bjk6{QHN=@bdz(+(YjLO={e<-Sw02*H77BG6LQ(8PnrFWeaG8|U}+cOdUm zIGjZbt!=r&u=hz_!AA^@@{@y2#d*6J+kbiQz*|sHk@9Bm$Z&p-{TM=itf;&xhmf~+ z#*CwsklxRu!ZM84nVSp>=XnV8Krrx|EZVN%*0I#o^$)*fkts7D4VlqiEC|zTOM#+H z-_ZFb1=1w=>)z>~YKu2eqX(dgF1%80R0egY)s#ruWBOnMeL0Ykh0>;i20G1+28wbc zWQ=-6)Hys!T*gv?X_2*oV?TTiDdxDfVIW0tfp9Ztmrw#1}VIo$ME5Aiko^TUqA)*s8JbDmL{1du-E~% zuiQxO2>esiabQNRTj7^3`Eub&4zTWR*8lnlZ(1Ut0FAlI#*ZEA+gIXh8h8;@Pd$aR zv~9yUR4+>{ktsOXBc>@B^Pdl8(Hf8K5o0(4gq-JQyqe(vuTIrt88l2g#4&DI?(hM) zO_u)Qs*(PcerEp1RGXQ(O%`l%>krh?m3DV$(S^yP_MN`g_dU3#P6rLsLxQOFhTHN9 zyZOayuTM-TaNHK-I@O?J_&?0vZ( z0IK2Fn-ZwNy06#95M2o1u{afN->0qOVEM52^<3d&?f>3DHZpIc%hs0!zARmst-E!) ztFmgYSY(%vtvL(t# zPZTRm5(6P%hXAvrC_C5*h-vGm|4Q_E9!}N3(EM0Fl;ScZeLOK~-Y^dDh-V~DnKQPl zlIu#9qzJ!D5kj%af81^HQynsMt2nBI92`K1>xo3giy+;x>ZwAU-wnURC3hcBhryS> z9X^tTEqyZQZgHm1^>O-B#;)T}haF9FP=c z9hQLqgg?x-npLf7XI#BtBzjrYzSjuOgDbq6UZ*}1ndHm9{#-yCp>gSU^UuiD`sR&ur_wrN-ZYY?D04Zn9$abw!>3xyorW-TmqBGN8W-iE`nihD^Utaj zH>+RZA)sh&#*&O3Gpx{I+5ib%%58WL`Z_%n!|NCsRdZi{z%hqd#ivEF54Ia=#ATM~ z47ul!UQDNmy|Q=96fNQ{H~>QCcEU=Cx4rZH@0S=4h6jcrj`%2Jf0OT7xDE5&XhM`& zj!+y#7}DNo6d3wOu9x?RcCOM>I(au&$}3k8eTB7GH4rFwM?4Q-G)XNmOXjRUSM_)~ z+y4EyQ)6m-eXT;*0~_?P;Yj7+cyCA_XxS}DJc3MlGqPG45{Z>}kTSXk7#SA=pFf3i^ zdI1TC=1N3oVmQd>pu39{9dIuqF=!n};9QvC>L5V_7H~82NwijroV2~BMmL|ke&=eZ z7Z<%lRn&>&fThekGnvY>v8AA898zsvlDKx5Cyf1^q74@Pi||uv*hi57x4OBD1iq<` zeFJ89!+4S4!t@Hg=bPKkw|DWwECO)v$`j&b;il*Du`s(1(0w9%5k&Ve-zZ_q#Pzv` zspP}yjiDV+%RCRiJ5@53$E*n~hX`4t~T}&bBS9_FW;#Cwou;fRX zucz@VY+GHlNHH5ia@{XY-F?#buJLp)n%L|vIkHFQ1`x8Y|2wEkY>sp;4n};I9zrYC zWdq4-A)N99@GV&8+r%$SqjR!BWb)?k0sw9ozi76tSn~WstY5ES2R6jLqAef1V?oAx zNv$l5{(tzEs2Bnr?0T-Luu~sn@Wk6(YIKL#Jll zyDxB!@*4#GXeO;M)BKQeG7zZuShAdp~ ztCcnj!=-R$#_=Fu6xHWzk@|&eUu459wlZgItH(El#y4LU;^m((Ds-|*hBvHyiX6q4 zokJ1m=ik7>W+^{oKs@%+2~SDj0N#u8IN$ug^tayf*9_sdt8^RB<=GGW|J)h>We;|J z=c&+a`sWVuo^}4vvM_+)UGE?3`ZX*+I8a$WzfiV~70pZ5kTXN~)h3iHjzwQK!dl7_ zejh!Yd#-7bI!~Bi`TRA3IYRh;Q{mPI9}J|TKxu95M9jr@c_2`1UylQymFsE8@-t}@ zF$p#;`L3Gu2S&POCMR33)@W*&<%d+u-@P#CSX@%;?9y_L%#}#G{%7U&>>dF7fBcj;V2fhU-T` zr3_Mu-h?rP6`>%)_{|f-7e76m^%;#c#((667vYUhNP;2iF634S`~0`>$rikp_)BS` zP2{s^lMWPVYD(>=nNu;7JT%Bte~4a|tG{Jt3X(=E2>M8*#f0&tIqk1u~>6;j&Zf|ySK~6J#Ij4#SqsMKWhB%^dm6hxyOUfgy8mil^dJ8a|^5E zxhb~o)06Yx)93s5hMWnn^1czY33GVLh9tgqR-EHvT1Pd12A-KD{I|O%khhgS%zIE?i?>F>b-Lk#rli*#A0XM{XVhtJW5@Cm?Mv!?@1OVHA)E~OsgvPb@7L5v>oq(6NVk$= z#0E*-LKQVDY&eA5Qdy#!z$u1X)XLE}037f5=IU>c6K`x1@rRse~LBW(0l)q@2#w z%B9#7%>?xfAjC(#A7iRg(u5w#Z@HARcE?%x_whh_Xs%;v!dt^&-UJ-xT3}Qaa&>^j z^GNyM^AYEwUOk&M#Gn{U$ltNq;Ql=FQN zspj<}EFtQ$O7WE;vl_vXPbwn})ge|Rt!q}+i3Z}zu8dYp*7M{Qx7eR8wL`9ZK=djd zpx&I$+tHk~U&$v{UF)E6g)aAvvWlm+{Q9L%AaJ-wqpweg^Hrn7g^_|9`q+dDFoe?6 zGn568e;dHi?1kx*T#Wi{8WTv$BJN^GxP#65;fx>%EpEtMqxJFjFQ{(BBSKgERW=B; zPIF`|fN87p1c5ekQlS-mM#cz%8|{g;vn?<+B)d79LAyn^dy#-3-sIpD|d*Zkw$ z)V>)$Y7zqS?OzVy;KmVk&Y%%;l`lq0eP22N+)#DLAc=c&N}42(UXTn0hcx`JiXA=* zWMD_Rk~zYNIYKY7sg($@J2e?&wVli@;s9 zVM!#=;S~rw8_*TF=07;fFb~AGbY$^(e{{0;GO7J*oNi-gDPE=Zz=$q~bJfQkid>Ks z@clO_-B;+wOdjXN0|!$S^X8M+xV-OUNs5^Csv!3;OQeC{R# zEItqFHe`7Z=L4o0KVLka zSx7S&i_`-HRR|^O#Mqs+^Nn+U2Kci2bI`In#ddRf{Z%XR_WJ>=33`H&O~*QCtNIk0 z_NOM&GSIfiOq{Al7muC$-VLZAq&`(Gwl-Vz49g0Hy7JwnP%Db(5KD)2ELt=rFy_6avN zxUlTLk>v@>z>sRs=lJfBk*XSgMd-^`iBig6D&0r-QZSRnVdnG-YG)*$S4TWGdhY zUdel|Per=Yv{}xN6-|W8`thg?36Be$Ic!}t$gK3v!(i5{z2LWtPYs|bsxHv>47q1X zSH8+~uUqH#cYI`Z5dU)+tgwbC%_MB}s?Rjp#H|F|z46C8SC+0Xb~~R@J0INOZcIPo!KU+ z*{qQ#DrX!1su-k~AH-J31SQI-8qAc7iTu0ul1TcWM>x4D6ui7ujpjpKB$HZsfn@cT zknL;d3*{ZIY{--^Dj3G3rS4$kK-^!K0q}QCDAbGJd=(q-56m)=ie&~It43e{T)>uh z?yN|)1EcjjwYVTzxFTvmRod{%at|J5_m5YK^R@yk7?qRQubrMu0@Hszk)KsCX7K}g zAP-ivzj+?Bzp#%Os|Qwn1dZx(M4apvgHyVOk}kXZ(gOy^HkRG*wt9oILH%fZFRv9o z8?o9Mhg;)!F8^Uj3XcDME^hYt-Zu(pyE_jqix|d#iT=wVZ%; zj~v0E&}ikCvXm5(={ecSX%?o3tFpF~88EnwRG$DJ5oY39&%HZ(hO1#rxvumjxwmHO z)Oj(lfV*nw3qq{tDm~7M?mk zCp*DT(|E0LloWFUdtN%QsSb)?Dl-oM7bYFDn6tYMIJk~lWo(m4R_3?XkT+~p*6 zx&TqcS0A{|tzK{^@&tJ=8p(H58jh@DT~u=R84WpP*_hbm7^s0H2^^O@McI6? z9%H#xnmIR!-3AT9lm&D1&HyRm{4qH2NYn?H78unUV2g2Tb1%gMacK~SfHh;83GYiB zb%gF-8wFqfV<3e7dkEEJTa9mH8!pu=KhQkguD*_eVQN&9OJSSDV6+$TvigpYP1C06 zx9(kI3-Vsq!o`*eGN94;)d0n&&bb4pFdAGh6{c_R@!%a(VLp@XkP!_?KgM&~A!J=U zr^BBd{^-H?M|P{=`mNJ3J=?My1PcvLb5(eqND(g9m(xO`IDs22ubj``vH0Xjq-1FR zMXE+FU>m+-=q@=z`4*BLW(H5|kKPpck?cZ?9N`hdg84^oI|ydGc!Mo~`9@6DEcxe` zw)o6{)S6ybC7(=N)c+bJFmy*W=wn*XtE;HyMq1o*M4g5-L|V_kl+;?ST=TBj4FaX5 zfpJ*D0PSb{AC3-zT;LVuV~+gmEoW8E%(Bm#cpN^U%QxK9Dq4N-bKl$L} zB%3*UzS~t@aS~x3uf8Sj2174_qRBre2+G$Vq{%|@Sb4cf8e%HGbJX}Zg$t&b-tBb0 z?VkJV7Z$2?=ME%he3uc_GiMzy?7_f^B@goQ3%Rz4Bt^hgzKhQ`&x=>?EW`ipZXCv_ zRrcL?+{IK7(rn%OIM%D|yn0H%9RET7{kMIG^x;kQ@jK|eyc>L5`RvW7M*H9s;;Xr& zwn`ZOWzZ`fDV*~o7wty>bvg_sl1D>B0tG`GPk%du!gOX0`M{1jC0E?Kx-1{ z`oNaswN;(v@?eD_Wi%@Ifd4b;eeizhsN*$8#_r<0&24zhxq7wE{rOs|_RG+s*k7|U zgzt!W+c&T7h2`qT0O)e${s!&EVg>Syn;$<-pfQzx+iJkM9+wmgV46{fCa^|L#&!jx z3vnj@8o=-o0BjwXD;*z6p1}9M-5M#=zD(OtIJ>O=#;Mg3SSX6e#}3;LhK(B8dwm}; z{3}dd9mKM(9VGamkMm_9jbo^z^bEvzV8|}yywRM8cI}*qSOuvrB9%?Y`Lc5UEm+QM zE`&@x`;*)3gm!K$uDVJZW~8A{VnZ4?WMrRAxCuwH}*5*7Wi_&}a{lS6-=6r#iGDdh>NjUn&nXJ-%e zrnZoVH=0tSqtKAVJlO2l7gSeoU^~fk2659If{Ddxm`XM7&p7>M8lN&C;YV>F0d~ML zXOZd?9X*gkavpCktGw?zL>(h8bXN5aN=92M?6aX0pw5MknDbK`EHx%{3 zF^A4ty~akabn~yY-lSHP=<$q=;{Ly-Tr8Qum#y-DcaaG8VVUh1A?VB}a-F12fKk&* z*dBJ)SY=h?g^90)nq1?sq6;@lZRGS(P@45s1hI?m9BJM9pGWiqdcWtqmV37f`P9@5 zPcXUY%^1f$teKj=D;7P6iU_@D>#Ko4aYcLCtAse7YJ-XlB1dhHdV$nT1uoJS+|liI z@U9->-&#iy!YG`Tv>WMNI!|oomzJX~<>qa^Nw#;3%hA{W1eWoAMa{jV45!5 zLG5-gb9Qm29AUfhJV=d;Di=E^XEN146^!?cXLXMy$%-Gc zErD5p(0W41r5eE=sV7PHHv5=DkwzY@N8x~Ami-0XP7F=Ft9*8^oB6^%Gr)5`$W1S6 z-?s)!mhTqWMVnYgZmR8MG@z`$8t{v>rA8@Vq&Tv3r-yR6RD4Gf9-nm?-Zo34!u>_( zJ)-##C1q1o1#5A?Z&UFW$XMiOHeXY6UrkvvK9j&nd&?eDzE)N?8a^XVD3d>hE2KNO?aadoty zGYkv^T*$J#ku0Hx(yF3mWF6rFJ&bgRx~?PK8_9yAqwc}F{C!x}54(^M1nw?DCK;A= zCatTM>tx4C_KOeI>3>MZ$vD!wB~JFgN`kCk&hj!05G zUDD}pBV82e9bU#M180oc9-tWK55P2aATapg4(>00^%RM1{5+}A3Q_gDETqh%bng<(5$2?V&*U@ z72+2za)15hiBhGFVV=y_=GKhmoFs15P5P{N0jZ40ArHGTVyg6K?`*FMOXxxYLa8J} z5kr-q+DYU&!#L__@&`A#{|RT^TCjt@H-~n z{P@?Eo1iU`v+~9*%hxGA!H9n07oJJTC4&e4Vl0o4Tju&hrq3?$)u^c3y{g!x@C019 z2fY&0TfpU-RCNR8=4!I%VEE14DzQws%BvrDeSSl;yvCL4py5yvxrYmk_S&?px<{iK zfQY_&TtH`PJk|IV!MXLjH_U6;Gsa8{Z!a`?K ztqKQt=DI0;V@;r>hkmj2x@hc`!ttR25Qqe-+phd9sU#r~GUx`|8slEmal;s*9dEO~-6 zVE5)5Od7ZGdf^diQ0OoDG#r>yN$k@7WPd_YfZYfp`DrZ3R`$0O#pgM=s2j!!p$;01 zx^-+@w{j2*)AM`)OKv(~ZU$Zx%4Qb7V0G7U=(LB-zyCz zTC835pG%}EHgF;=gm;}ESW>pwo&6Xtvr+K81L{UcXa@c>GWSZYON*){qUQlD9+0)M z(azy$(B2$RWNvG6u|YAegak?ZG+ETrQhFa63QP@?`a!nHZ#! zI{EuXU?*p@qYxn59LRKFmRPU@YwoQD-cc0-JV=&enZK-7;Axp-V zL7_ED8Ci&`F}U;@f-&^F!iW(0WO&0ESa6%s+9m^ZRQhywejMQ8v-cbl zGI*W7Eh=wZrA1`dl*kDKPvkVn3Mjs7{kY(2wMg@|;(Z!iAjWQOlo-4JgyxKSlp3-B ziuoBhO_8@RYP1gh=#kI8)4ctQHg<+@gp&Sc6h)YXYH&P|E$dH*lzNBpwFu^?WQx`7 z)}NW7q?Bx|($&YP5ah}2Gf@n@I|r_8m96fc5SGq;P&H8SzuTPudH#)^$?Ct6c{Mu# zPx9Ws^x+Jbvzi9H3Wf z|6_eWUkoH`^6s|r)(}0Vb7{8)9_Tt2w5^%*rMp*~GAcZbZoTnH3 zz3&olu-#9f17Q}|%@JMYA;6KdE!|z{W_Z&VmOKeKq5eom=CTY}q8jr2Vl6(IC*s`p z6Taum8NACyp^-(!{saXy%nN33igEn0yXe9&U6@Y9ku5)Fi`Y=VMr*iK@D953yho>GN+3 zTyOAy)lk#X)KM%U))fLA@qPyG_@8%?rw7LBGj7zD@R-gr3^;^fA7<8_NUl^bB6(z<`A@}0~TxUf*^g~|C^Jmg zDd95_2*cMk*i;71euEp~Z;<^_y2vbk-@7LED$D*I>xDL`)sA;VGSJZ>!1%rqZLT2k z0&9uWR}ye!4gH@2(K<=y*gZBpIJTRoMT9>X;??<8;Gv{v zggu)%_7Rn-(`^A*FCwkP`Yqa@U#IF3oJ2Zpc)wdA{E+ZBU9aL>hKb>YWP* z{|#LM0?0x^rg0kjJX`T2dZVlce#Y8-0ZcSh!#h*r`J~cqT7>V|V(NM1U)}XMq>mwv z7N+qX*SOLb`&oePClmy~`)GHTXWg&Yw8ZBgCj10)ZvoTv^sl~#eF7Z;lmf(TSO~~e znA%pg^+>xEtl1-Ay4+QT7D*2moO4JS7gWix8lzcxp=!TUuiQPF$#oQkpVBhSIU{Sy zgnD)Gk;Nz_Gvm(cn^Q8Z1Grq5VuscW4f2W+zHlwH$nrg&)puxcNaAV;Z@^5|eF+X0 zR!L7VQl|X934d<=D~<~lOO9Z>RMhc96(U&2_$_<=B0Cvjj3j!Z9EZG2L@18ed#Hph zBQGW68Z)eFp8ctRn0F9ljCb-Y4S!T2_%<2JS~Wt-kUEL0Mkegn@0xYWq0T%m*a2Lo zw#wLx!{gf#j_#wdEf9BLH)zDTD@PxK+I_61B}jQDLxrfZ<0KO1 zT5jPMmX3%A8_mg6|5t5FFTXpfq#GR}i-xi(!=3e+SF{*c&dVtw&eH4sg>Bg4Bqpw{ z#fq$#ON1ZmZ%=!Zmlw3%PvHWv8(V=hr)+^HY`H$cuP1H7fn0 zoPk}ri8L0CwB2fQ_d4sZGeT83-_d}#XZouI4%K{h+PIt9u=ILF%*-UUrCGh+Cp z+tXL|*ZS?=O@!HT5E5PTyrOPWL3SKA!q1w1ewpHwHlTxzIgbC0u|aWe!FTFW_@vxO z87FC0E3=ajdMBs53(cjjT+`n&`^vD((70)MQ(6fbMb1WBX^Pzsi1vEsQ~)x81?fOx zS*WcdVejQV;A3xh{kpz>Rg;r+0l8Rxl)L<_x56GwjgH&lGglRTZr`hRkh`R;wNI7i z{Y{Jk8S+mJf|mf??<_S-^Crhf+r+|nWooH&>@MDN5ol<9MQ8cS{`cm$(#G8J?aHHX zH8JD_@2y)Wl|SBMZ>vc0KrD|tQ!jo;i=Vx&Gm@r36Zl^b{%^(c{J4f8Q1-;#+nK0f z-+il!5N`nlWaSZ$l{tcFqYVnh;k6Z}&%B-Wkn|J>pajcQ$Bv=lOM*x|Ht?=S_XG?S z0Hfi7y0;(j$*vx!+jl!+?|}K~J^jYznIR6#P(UvB`0gwZUdoe9twN`EJ*zCM5(hOa zL>k@J-(5L`ECBmYwL|yLakr*XeDJ9rNP^4MaLGB?O8-8xRDSvo2I^yUX%|n*cq|p? zaaI$Q;nITz*%<5I3a@gekCw!9Sl}LYSW%3GtaR3{>FCbW*ShV#QC$UxirtHzr+p=Y zr#eU4zt4VdI5eF9sw9fi+!yo6sQ0SCEoMh-HP%EOuQ8D+gZvs7p~ImnMTIE|z9ZL-Q@EM9AW8 z4ZMf2Q$QxNAj-&@{k!E2VbbJPX1IC!?dmsYa~$Uw&wWRv#j;0@6%rl;hCA*lqTlDW zQ2H!Lz3lh^dQVCEP&Tri+25;#cxS-{7 zcRGj4Mw>9 zWL1tkIyt;QIu1R{FQRH-c6SpB%Vn)%+7KeUOddOdmpLj!XqX!2F5AR|{rrNK1| zaVKp8N-J&XvUaU-ipwZZq`R)8sURt#WVrh zwsm7^C&m~b8`S{cEVE-3ORhk}|)KUQLR{`ml&}?K=k%>47<@76ffMXh+OI`c$c21T_j!b?grEZPw=@&tS!oJ(j=YL*;ZZxwqP`Mhc+OBWg zOWxSi)b%=PmpNF_!M1`_1+wFb>iaNjX7|+d?p*K5I0Bj2G#XDl;WE}GwJ_|`y8 zC;9DjCQTCP1M6KmuVvF4OEEIt{!SjXHvE>WvX|KfARj4O6){tItDtTkhDKU7uDnqs zvF>X3CB3hc{Q4Es@|#g-T^&4VwO(efZr7Gl%JLTQ@_rh zA3dI_6g5z{(WY1X?H+Qp`7&Y(f9D?`32CopgM`!`Q4*y<7U-b3jre{Fp#S#0g4XNu zwrupfLa7ElpTt~Z;DWZ+dbVcY(Rf=9A5#6tA6?#Bu^S&ID2I8vtiybrn%3M4$Qn#_ z1*lI2+q+$p&ZjhfSE6a+qppwG%4hY9;I%%vIc#`5_ArpyIH!$W93QZ2bpFD|oK1xr zVb6$9|2M~5rIM+F?Up0|O9SkRB#te{%x>il#?Qvx5&2OAF!BfGa3W5Wy`-suyn!q0 zH8Feh!CDFPchn84s~)JeP@uO`f>>V8NyVI^)ha>$CyiWv-@g-zpYAgfxxTs2p#ZGX zW)pHbLuJ{|<>d3H#TU4aPB0=@tKrRI)Y}rKWHyaz&kX2KQbdLBxGi}0TW@EQYIyfV za1}RMxw7Tmqty$%80jVd{;SNiqZ91ncRrwI0bVHWl5c~AE>)9|dQqh$+#VBW8q?lrQ z9{5q;nqj{PnG`pS4F>!Rx_#(T6TvB3 zY^O&hXr4w7k9%0QF9{bIeZ3`NJzrv7zn6~nzG1rC#yII z7}hp9iRhT@=|K2_vE#wsA!Wb|y-=PYLWdi_^W}?bt+u#T0KFTm{ZzCkgzctcEmMXx zpa%GebXekm>>T)$;}iKp*%^4ZnD#w0db4STObE3Zr^)^-&<;E9yCrjDN?zl1Dg&>) zX}lTQh7fm6uxEH&9WDux9S$Lh<}q*Ljisy?V58lmm0p`$ZvI`XuuK++QDmZLqxjco z3)yiam8}NTe|||HdkhN(^zX=4_vcyKOtc*1iszHi^1^KZOE{dEDfV46FL`Hs``uL0 zhf6X;_Cxwphvv}3(nr-*-Lz~M%i(@zLS5ft2;RI@eyi4rQ6|eIf}w6)XPriVp6v|T z;301Ch1_fj-xM^F{-f^ijq^Px_G925#~2^-27hu)y~1EBtBb3k@rz!w;&LqbRl?%{tcn4F%RV z<^iCVz{-vWdm{eKZU(^bpsU*aHJVwi=hKOiOGW~G?fAyOW1eAoK>fMXHR1E02b={d z*MfW15pZPoNtGP4N0Hk}d%5>`@fgTJW!Tu{&*?sSmemKbu# zI~{;+N2?DriI^dDK-d~#;aipUyvJs)eW)o>Gq&JLR`(rx$I(yW>m;6lN7l2t7td+z zfWyz-u1my_*x9A?pbM*_%vxu4#8Kp|rak}~ZQRs07@st3vX<}nkfyU__TXG=so;Hh z7L=rb!f0GRh*DuCSI~sha_+B6Ib9|c)jjz8T%e-lC)!8738-;QwV=c4O(s8;I<&y4 zza-|^26iyKX&rGymZ?^9#+-yIvjZR|4-5}*PSwU+7`~zFnM_ft;=B8g3Or4C(MsLM zuC~cN%@N(=6rW$tPa;iFGGb(Zg*&ZMyBmK#fqp)f#RohuU|%GK1SR}a0x>*y;|F!8 zKNn;^Xa4N8HSnH&B|)w`oM& z?-m^#_s@32J1Tu*KR=uBHpUyN@3uuy4oC*ANDAVm0iegTxX!nMshE7pE%mw8rd3%A zwucbi6=}SpsQ$tc?i5E()spPghbEBAvj`Cmm$1@6o6Uys+PQdD{q#Q_OjcvbX4#U) zV4fGO1uA!V!tm!ZX&{*p>&vNyom#hHyLa&gjfdcS#tg-o~iLv2WAyGYOC@y|(rz@-1Q z#sckZ%P8af`)Z}(nyEswizuqV+Sanh4?#ZIjABbD^1iVSyW|2E#mCvyBDRr(1hNolE*PDc}`3JU($ z{QLper}&00XZBo&)gL3ACh$Kr=jXnAPq{dClEsqM`gZ?zXo(Tv?Rhm34|Mh$SAk?+ zy&se1w88${Hq<%+UpE)rbw5AgPiNoVj_@Q(vX;+rY+abpwIzG<$k}^enmh_qPHjYut{O7_fp6X z!%eNi{<=lJat%B)|MaQln9dAvYCzb4U$JRmaLhu_lr zPG^Yo`b5=zmtxq23N#A=F)~^_ZLhP-LfaiXF>U?WNLJqg z-7gbshs7H&j|tg-xPuygmrGVYx|9^(xI_)wm}dYUZDa3r0%z9qYvN=FUS3o&Pr165 z63l#0C;|r`LTmH({^?eI$~1XNoHb`(nCPH0TcA4lXbRj?VHD!?nRrA2A&|Wcx5~_C zo?{~Dg_V%GNvD9B0GDO~*V}uTOHew#zRR8cqgSx5sgZic|AlM*?iP%hZCgh_kLZMw0680^Gt!S0y&u|HJoUL4u3DF3#POq`$HhCeUWW5O618x4M-_{^+;+Wn#Q<2ygWR0PF zFqQR6Fd;b_Zn|@ik5hp8QE_=96U8oidS{QcEhYhZ-lzT26_dGLbLeCqm38-g(>+Qe z@mGHi-nx+4(wEE0Riu9CmW$VZKUXunz^+Mgl)s#f#<4=7`lTOtb>R9Z;tg*K|UD8U5hPgqV?=Nqj_h5x70q5@K&U-cB zZ1~ny%B*(9w}<}-w{MkV%J!AM-;W@mWrI8S4Kd$~N4L9|&-JSkne?Ua9>b`28-?RE zdI&Z9z15j>@kBDqMm}we@3z_M;q)mbT{be1Z#!c6=BSxor4Q2HZ4ntnHUL%bTAC5A zeY(1>&R#;enu0kPPG_pznNt)Iz>uqao)NW?9UW_<&{~{Tc1p%4Vqls&x)&%#^z#>6 z+kJsgAiKL^&Q0RqM#hu$M^eC*I7tGlQ!IGoAM+fQippQKtAwvx;w5o8r5Y* z&Jdvykw==?>VQ(-xr%TVZ4{5-`k6>~fOPsbX;Bx&_{vmX>ALBWf9bmIqJ~$tciMUO}_|Ut(>Ho1f6yA%Z;`?CAEGQ1y z9xYfr_8xAE6UHlH{az0D_g`ydlY_obeby_l({%drju>`3GlvDt8>W0PJjug+_QQ!- z)gTG~?BbvVqwOGJ>rF!xGA$@ziA!qO&jHrzLM#o-!{?@#rzJN;S(I*esK1aHWk%8X zwaUrqhq@r1fMczo>1#IRT88~$78Jj zw%P^LfOdtMSGVfEz@%EjCl7DkW>83&HLM~ULSTj$ne$&Xg>>5PIF4nM?5TGNILh_3A$N{w6hdraMAf<)&cLZyUvJ_hs zH<}9o@x_*&`Qzs-^|!kNk_wN9a1#GR>gvwNrs>u)5zYVA*#;)}Tcxht*41%J<7HOc z;p8&sa>W^m4RD=-)DyfMJJoJhZZWNuLCPb{&Q}MJFkV!c%PzO?T8Dq~NZ~vDp>2gs zUV)-vNQM#CyTTlAamNpgEY8R#{G%R;Wss5Ao2x6LWOYH=I7EzCFh&i>nQL#J#2Fxz zCE=1=uq1Q}L(!={Ha~J>CPioYan$b{s4KtzK1T zJYQKpBV2A}+`dEgEE=(wc+w4Ov?rJV?UK+*;{AJzvgB>7@)nav7*fau zWr~dXRkG;^CuF3Nj^Ip9JwZ&W+mE#BO;5EA-=5c|bUM4seIOsq$>RS|woUIAQP{() zZS_@^_ub%H5)0{Dm%aP>+i=0*?&{%waMmN^#F{^a3eu45CmIaR&f=Ln+F|n?qzr_2Ipy@(_ ztRx)zN=MFf&)-$0@g5Z^;1&%z)5(XTWc>_tuT=ZUOuq6)zU7uW#h?G4e zLWvXLrV&Oh=TPo=rjm~u0H^DX>qL}1T)I2b_3kgAaF(voj`NV^??X#FaITk5O)XDv zrhmGOV(P2)kM;M^O0`O~^Ad`Tu8g3f58&-q;KkO4e6t>quglZ7wG%2)fN^;(7-de= zQc;zEClWrv=+OR(rFjeu>`S7ok>T}VO)5Cve3&r6=4PJb;wQEps6vJTD^29(0mB55 z!^UAk7j0gGLOhNJeO&K-S^Pkg(dAFo|Cbx7SlTLX7H8!IZZcFqD}zAKa7j1&*-Vcn3)%)ZkM{3g4*=vPcAiU3z=fGA9-? zKG;1cXtjl9j2iSPXC0W6EkFX!cowINtIxSLHj^kl_8}wZd+>)g$rhqP>ykx(8t}Qr zd3fgQq!TQYDn>ll*f+RE%M~n8d!{ksej!t&iJ-?O_zuS$23?~Pa^#9f#E0eOJ(H5Z z=H)y0y5OAu!=he+1U%z2o(RazLGMY3`aV#|igC_?c1%1QXW*MnrafYYaE`M5*iY#5 zZ<;h+r1Hs-mE4j28-}K5|KhSAC?6xo?>Kh6zv^I<53=-`#*@@{%d056A_gH!K~ya$ z$mB8%LBTY`r-t(*s*N=Q^{k@c{LjIW7Xhtnhvn3_-UVV8hyzHU#TLDYMmyc6?=V5L z4xV#Z>XZ)73CLrc>zremNmy9`Vz`PGr^LQ#?q0i?OcijnAAXf$0S=Wo{BrJoSa$rF zqh?$Wm>=X;1s*6?`ZbH+{i|@G(7RTu|5|^}bxls%%(>x|MbfxcdHnfYRr(&Il1cJ6 zCZ--5ZN9Jm3VjPKLAi01gLGDp{rhr}ky!7zBu3xYazML@5)Zmrz~An%YFAM=-Mw4} z8ZkR}*K)&Y4Vxj&0RPJ)Hg616D28r-URLLi&8N6eYhMu_2mg{9>$qU{QX0WxBF;Ur z@Z;Xcsch}X=a)c5>b(k5{Gt%G45?$^`~|C@UVm2bNOo%~irOUw?=3yoGs7Ff5Kj9> z#W~+K8uIIn09Cm?Da9xU{gd9?UQ?=C@En{FcebWo)3aH4O()`NSD`DqltvlGt(hNn zrsD6~D0TeoN`^$;cVgn(H#9ln-K~^+3oG>)@~C2MBXTPX;uhluPcW+ifcJuX3bH$V zT&e#B9zLFawR_Oy1L?=L6W+wmnjZNpPcHj$O{Q8Rhwc)-ZT4UPc= zi9NiE3!>Y$l!n$xTtRr5rSBI2Y<*H#VKls-E7@|mm;uU>JE3>+teD@3UzX(-Ra28$i)Af$NAB~9=->tNtce=cDoH?+$PT<9&EKgW{ z?8xxa#Iq*}U){!1WK=^qMz4B8<`7@0YN+82`^wgoEP7+-aa49ku|3$*TGh7tg*mm{ z3O(AN^sp;NlDuiv!n>S}V$di@@^RVj*scThW%?yqVz*&M22YXX84)ad@EeY(vqW+< zX*KG_CjCW4J}rn+E~!V2pUuFO1%yP_&t(o6A(A5S*J0BscsU)BO9F~@L$c zu;y9kvxh6r1SO%5Vq%@pvn&R#GY2-)+6o3fkzUWGa&E-OV#qH$cU(#|wZE@UskbrZ zWlHZ9F)z&*wPpGaiwJJ&dl4Q3U0|MDW+c-8nQ&e#wfv^RKh=0e*~n>N63(W_0@el}L>UQ^rW1^F*H{IAGM_bzQQ~8~5|W$hE5p9@llwV`sX}N+`L>;-t(H`U zbhetG0SjikyG4BRH=|T?y!|)ZC+8FMlJkvbSA}KB>1Z`8o@8cILDO@`v2*u@jQ__Z z_yg_2alzMofT70A_c9R}$Op@Gv%G!!oT9`y zxqhIpoRZLsZe9khvu~}yn%b@6WKu#gt3LBrjem1|D4eewcI6 zBv}~o_Ou|xQLFwVCcTW5njijNEY!}+%b`U%2n8LaP*SbuTCIZ-pJ4RKdYTUKwf0jM z3^9zwhgg74g3(c!gqlv|GcV6mbm6UFw4_ME{X-&)gPo4BmO4qCp57=#)Wyx(<1fsI6RDnc{@H-vd8{0Cz_oZ&E$$`O0h4qv9t{xj4VB zm1ky{20-43Lr~%!GUjXVc@Xc<=@)v9I3&MGmmwW8W)nb=@>>b6LMxlP<4Xfamon?0RbgHuzRtIf?dkSN2B z$9gh1ehB}=#~}Sbw4+UL=ejC23b@+uWN?_)<_t;ZdH`b^hsD~$r-^e4EO61+=TBB_ zkK#FfGRuWbd$4nA*en{o6U2qRQBJ!{8ZjfoZcbrZf_E_IPyQZ?vGqsMt zI51%SyCRIq(TVX5;OBCcU0K8*tRb-PWzA-kp?~XOtvLEcYShf3KoZ3TM~%hQvf6X* zoiqCyCrV$IIm}||qEN!~k14ovC=#fvw6`Q@*l>f{Us1{a1nd{6oA{%SBJu`fYwSX0 zDzf`h1{Aw{9!)#FRiWBi!4=FN8_PV@UU3+L$NT;IJ8z_c+!^*hM=q-YeViIBxBtB6 zjWS;MY}b_Dh7gRb%>aAkTdK1o@z_!>KxBfMQ-u&Y@9Dc`9h(LEu=H*?-}37xeH`m+ znaO;3iMxf(uSzy~ty|R{j-ijbzy>rqdwK|Ep+|80-R0qn%ZFbrPpYHeDsImEIYUkg zs>NCL?tk)NDw^hh0#c=};iv0nY~YXsem8h`mBa9{u;dR<>$cV~t&CwA%|_DwkVz9l z`%sRL*it)DNUcW2=z-RopCuUzURGfcJCF6u0c@+vY^vyhu%d31bzv2LG7Dci4*R*C zdZh$RpYj{mJOsw;ca9XQ^g+o0$aU;tHu-3i8s8|QfmDeP%92kV^d|5(dxS;o(hGNKp3dM*SPjmOAKB7zLRi2G z31wJNKJoo4l^-T~dh`jwx9OTh7Y%`XCAc^!;>1wZTA`l5&~L)db5&oIPUOxhkS0a; z=imdg-`a-%9TUJ*C9vU?mE0x+Ca6fPKTBbl0Fr+WMJYtg2Ph@#v@4VL#Kg^{^+5G2 zImgOBd0Ow6c4(QJs3S%qBv4i6!X!@&v07sMu(9U+Y|ow5cDk!=aL*N1ex$niuq+mk!%w(3pa*!6m*~di7exOGa3~5M-H^-?! zo!*^-IKP4JfZ#Cg_1o_VAGH5}2sq_Gb+7_&{RfWblb}~tg6rn}or=$Z*VzchM8=`@ z9?~W-2!(gX^>hN}kGHC3T$~-La>~54>w2oPZor$N;;hFB6fTy3M(L6G6r?y8`-1Qt zDOaRWE!E+iu+-hc?8NxH&0}lYOBReS30YL9j)D2SQ8jRBm0POQoWJ0w*&PS!9Q4VKz%MqLFP?oR=Tq3H(BW9k<>8!Nz`oITBF3C2{V}A5&7HNWVQmY z17fYZk^^o|_{}`R;|v{HvwtZf=So;YQ`f+5g-cb&kPA*pt@ zSwPfAfQ|O{wXHx8s4O_B?mQ<1dMmU*zNP;EzNs6TZooI-biicM*81P3oK`meTRX1s zXrs2^7n}HR-`XRGZetqzEZPbL1QK`xbJIgny)l?S=#42jiDWXQTu~^&r(!wv`U_EK z{IW_qt0neBmbq8CBWLTGX9!kD!l)~8kZsX5PJOcbgg#JIO-h!dcXxkPI?(Xhdph$3ccUmaLp}4!dyB2qf zv}mEl-QC^Y-3cL&?tSjP=lz9zS!=E_hf%6IMd_`52JQrxSfsmd#HwRjKAauo>7BVv z1OvWboEAW-Ooxdj*NI8sz`pLgi#e&tKhe>4MJaj2V^ZiR^jFCb>qdIJ zbxN-R67z7@3@CdD?0d@=aX^M*8y+R8v{3w>K+F+0 zWdCeTY%bat^{YQ6Vn9U}N7Zny<8_wgf^SY4pb2@>o)C4us|L0E^Q`*5 zSU0Gq5D|I2CfO|8#xgi=M-@Bn4B^Va>+r52)2P62fwWo-UqET_N!=$|^(}XM1>5DH zB9*oAc4>A6Fdoa_Ghl|n`mN@ZBS84?>>4U>W-nqmXXpdx7tWW$AA~?ByPG!^jrqQe zEHGCQy(bX0e}n-!;Qd|w6Yg=Nfl0(wAN(Ob0Q>~VZxNU6+-%|(m9RT9hXPGieO5Wd z;OSizws5~To}!cffZKdcqY5F-aC{lmI=+^cS7a^S^r~*n0LC!kW8I-b2^v4aQ#}gh zn-@lw!xWC=ySPf%O=B|r4y5{vNmHv5k;v)Nj%XdFQTaV~|3ln%C_P2UFA-U=G>#bj zjR4^$6CUTns_)JyXh>yqi@SFisK$d{8+n(q;$Yuo$#I`1@?KGdBFRN{<#z6!sB2`w zJuriGBuhWQ8VS-TK37+eqhz|g+T4vQwlE7tYW)5eeow6$A_DtUz}$$~iqg0!xV(@uyXJatqS$^8+ zCqVC5ZQEj9%!CMfMLLWJJV|<->pj#zg8lpo@_{0p%e0&ZA67i8bZF$V2)U%$p;?eM z&^z(*_Uim#GZ@7MGCZg^>y`wi@Z9N^Y#4tNgo5M;0V6mJakZ6Uw& zKD?cU0rD^_$}qE9zoCi?77t+W3lXuF#_!plU8DAi9^0w``Q0#mP?O4{V7D zogN5bHR!306E3iDHCLc?^UBue5lhg+J4&VgqTRMVW^C0CRhgmy-EJPuk~-Y;0cs?yf)2v}wKbKQMJQ zH98+SYqM%~y2o?yx@uK1aGRZ=S_o?GZOk~&Upb2RH(3KFTMn)EIx_ynuV&G44 zlXxCo>p_r2wJYhw<=lh9R4SW zAJj_)RAx0fyGn3jprKUnWG%SH#@+nXZ;}k=Dh@Cy6&QPCC@?^S-Xu4Ja8CVpre%WTt2I z>b-Q?6ClRP&*>rqJ3Tec|3QLK;2}$-M=gGypQ;p# z-wol^_N3dEK)4*%zvKZ22kWxg>Fu|*n>8Pw5b`^`yiT7xJ6FnNd*(uq;`}P3;&k*Y z$DFv#1KElA*)NvJNxREk7E)|7xT*9dHQPG$Y2>OA#=x>V?)$XlD))FZJU!r*QFH;1 zPO2Nj`VREGz*(YI92(qi<%~<$vh;J|&h``h8vaY7$+y{*lajywTwi)D-tn-t`2Vnd zo%R+1u3ejR-)el${3Z+y9EX*Z^S?2!5|9WSc(JZTb#gqplsE~#-3q9PMmg;4$)$Tg z7&)7BcYnVarp(U<@NHq{lLPy;ru@*&Wh{Q+yID&7F{sH3_^h2#Mz?;$ess2Pm;#89 z3kmFm?br|f8pBjRcLiGWM(kS?E3<$PEXa6tgTM?U6{KXX8tYB2Of8F4l$Q;5LFU86 zb&8%&eajQnGRR7qK1MQmKr%|QB-$2Jk~9X%;o&9o34(+?n6E9kXlu%>GEY zgQYg1l#-E{$MKg1DS_8wXa+ULRCq~>LDJYw_{>0fS2>=o^Tsi%?=W6n$BV7E`crS0 z@PxrXVm?^kS&DpWyF_MnvtdzvSaJ3#4Aa zU0)fT0-Pzqqw?&X@en-;){FX-o%^;?oG_7A-VI)US-aQe*4Kl?Xm7mqSB~oZ!%b>L z|GAv+dFL_dVBU_cYW!cr2D5h4C*}s~vzYunB7WVrlyV38iyNK{&Rle>tXg?(ef(-& zlYMmrytiQRreLt3AZ#CPDh`%Of5Ap&ICsZQwJ=gR#F;^?R3LaDz2d43WcjT$HSCof z_T118Tj5XQrcy^wX1O&y7b`XhCUKpnFk?1~ZmP#v)z=1?Qxp#XuS)PHi2zm->C~N^ z=7EtGw+SaJ@;vOsgbG09X%LyT2%kJyIK(xX-f3nCi@H_?*HZ)%#$zBujcnST>^z1G zzH504{cRgGG$c^gIOw}_kd z6|tihH6WBbMdxT3jhd#^NP|&|ig~D=^ei-w>FG->RCL@pu|cXE>xdajWZ$I`74<7q zJG$O}9zke(hC=C2O-pyz2`QD{fl{mOvFn@j)`SkEt%pbQhip%e?pz8xkN8)PzfXS- zo(l8_XP5ctnU;<|!D8H`rHr{sOi?T(M6NaruCPf)#|`PZ_p<(3>Pk}9atPf)mFAFA zv_|y~Xs}|hI=%<8XOZ^j=7!Xdx*t|m<#issTCCm4GNfI8oU8c9+P=~MtcdtW=s6C> zfvZDK=PESIb|e?LYg*4l5x_ZHZU)VsaY%5=W&odvt9NI{k)< z9Cj5Lz7HR$11v0WG+!fD|6M^3VK0VBsR8_8lp(?+%6+CH>bbo>xW_zW6AzozF8Wi@ zB;U6h6veNmAEI7_MF*erMf+xG>wzLve!Bp+uNJyL0 z1egC{a#)l&U|kkLiA+aG9o2De|NjM`r( zgAc0H!8@}K&DV4Cn*l#{{{blRZ~uYE3x*%BIuCej)Zf|L))dDXVIc$X??J!aq-8Hv z;_>}@k&^j@WFLh z@PuFZpI0QNg>Zrql-~dGV=$6?^t2-#!KvT7ZG$q<#VB{+HE{y>@sB-^06hFS9qg)F zLDxOXBsVw6gHoIT_wbZaJOfJ|Kw~?kHVewY1N*8(cqY5G?C$j_j)vR6sWglO^0lWA z2+)-T8xnE#5BJg65F&-~t0_;t_;|_Mi=6=4U>*oHXf<}(I}cBf)*LxFyv zz$JJ8m!Bbdxc#(Dv%MHfZ9hc5id=EYkwG6tc~>IDoqK0_i;sRThj)D9@4K$n2TY@5fIdHE`peF_Dhp?N`PuYx}OPPqz+5NI~J`}fR$XRUV8)tP}zVI}A zd2CDSIZSAZg3`4FGjRwZk9hFl4Pvqq&can8z@oo!@8P&KW|1oP32vXx2&+0v?_g`H z9{|E^0;~rdC5JK#3l%hNM_8X+uS6+vFYa!*SqKubQZfYZ(N1=mh7dy+C9O9Bk^XA7 z0hHPI#&3DYsV8GsABjnllYe4%L(5&pCkkjV16&dIQXK;b%)_8>pTh&&H;`_nLW-ak zjZF?2A1V+lJ z3}0I*p07^WPY2Ff@1wQ#?p$#GJWsYvqXThpGWqhl4s1~-1l^(IZ3*$k8eNq|Rspp) zMGYOz*QvxczPW;dHLa8w>eD14?a;m{W3oXj11lpL+`-u|5%5{helt3n&>7tu6E`Rp zhk~6#+2^k#C^b#{_0;Bnq5pp;ythI0#-l!a@JH^5z0&HUVdyyGwqt5~wotXAFX`t02uGL%KfNDmFSC?zfYh58? z50ULpIlNNaL^4ssS)*AvEUt0?OTEFrQYK`WTg2{SR3Wvi(#$8jcn?M`iFQVJjYiFI zQpX`4Js30hm4&e1%nBokfrSrF6uuSIuOb|XI<&jFG#3*`juYKo3G=7Kb5E@JwKWW_0IdET41lq-t zFvatM&(CpT>{5_xY<5IZbi8jI;OT#5ir~p}UQFE(8yfTlota9bhU?LF+-rNt)In~= zhI?t)Nc)A{%_|V8K!1$_d8Izx&?f#{Z^_pma-A2dUo=ryUSNZ$@S)|ITO9RN-7RT% zmS^ttxZ;QrbkKrzC+$~<$0?*qDbR7&r?MBs9X}zAnLd|5*sumu>#F))j$(UU!dqlA|@B|A)nr9qy_RxmONM~BavU#n$CS*by^ehrG9L9kT zx#fD{^7+*Y>0RDGUTk|<&VOzIk?s5ZY`p?b%-sQb1ggg+@J-Xq)d?%8h z>w7w22Ko(Omade2U7ThdO74nK%T7Fv$Erk3APqVEJI{7LytBKY6iaC)c3PnP7sDT& z&@9#hV}~qoetoNtN2Ch{S(JZ3EV|`(OQb(?pY1shx^m8vvP@{4>YHQ{%t#J+-$LFo zgOa2_%1ZuJRNHr};7zm$gLMzliaGmek2&~L7&be>#cg3s687OU36(Nb+cLFT=A%A@ zfI@t7yj6)N5D@QmLi`1dv0>R60w>smfzP2aO~<_8Y|TQ4R>xG})73zL$2g1G6olon z_XpJhmp+WS$H0q?8zf(#vhunFxFQfgT!I!*eoW)7>$5$Hhr$(yeY)nNOprI5ZRcZ+ z@VEVzhZ)3C@$sUSU=6ktnspCNBYL}0G32gtC=-rpIA|wz{eHjaS&XQcaUt*a74d6N z1r&Rt3??0QMl7{vTLHX0^3`F_P_zs)rzB%-Xj2QO(23a3Tk0<_dsw7a^E}pdf}PtF z^Xro@y#fBS%A|1~Isq7ZZ!->HsHtLY;8)OUJ=2V>&;ZR>+3nzeCX!(NLslIZv3Iu@ zGrf}0MpqmYDIwjb_~##HAziiIwhj3p(@+r=diLIa@^f+)^o{wQx0cmu!Iwm6nJN3-FERrBCgq@JpXXg0Pp1fKR132gI?BgXrUZ z5S2As1y_<%E>yfZu;g{FPI21yi2IBgz(CR8j}cmod0GOxc)ozD!-08KnLRH-Vh0`>=tlj;NN&H;*KA<0&!zQlWLW*n-J`rA}N#%u2SjX64@tkhVP#n za>2+&OOj2`kEjSlvDU_Z5k+2w(7RL(SUtEoWe@K_xgpy*+J$&$9@|d%9IqBXUyIW( zH9U%qOibEE=zHRo`|(n?+%WQRI3<;t{s2_?qVouu++EZxkM6LC`oiqd= zHh!x5e`4BCr!}88FHbUSymoji@lyuJV=FcvY|X9S4!2RajQ%)~UkI!hD4N5A*exj@ zhzeDJuUV?uZT!pF?i6<$Y zwgnL$1F(leJ|B{F-N5BNm?#h=oFY=q3@Oe^;c`TI6$ReW>Cj9wigJxmq$bim4PYy* z_zAJCuv+3Z+C1IL(HhV$OL&VSlM|~WOcMKRb#saLrwq!YOtY{9>2&_84G7E7Ozb!f zl4}cs$4%bEehg$a+NY8gVV*98!Xriv$&4)o+zew5swVL!?3PRS83>tt)J@?>CloX1 zJ2?AbMDks~^{(2(-LFd5ZcJ(Z^=t=Rc71j$a;5ohjY`adk_jHuG-g24ne(zTWALK8~9w4&| zhYfq8Ty)$Td5Cm^st!ooUzQl&c0&FVxhxS8{V%=HlfpfiVZ20CN#k9A`JPpG8s;R!CvWv#taXNNv`lO?4|N;_=i2Cii|RfzmX{F-XWjK z7&Z+&EX=b}ruTTxorv;5YP$(I!C&qQXH@J z1v86g8ils*)5tAtF)28}&Eyg`JZeXV#D{Uo^p}1}H~d$a?gWh6d=w5J zKcFFwQ_bDJo4GzXquOQV)+MsDwV-%pxl)BXm|!0jY4iHY>KWlrGH+g7&_mPu4O$I< z{s8J<`OA!PbY4R*_7#`Wd{D5cR9V7{H3INO3pAtNDO-nuqr`)x3706_Wgya)#>%G} zXwVBS-9U6-dUoT2N77_5e8*m}YycteUuu6uVS*~xL&@j;Q1Vx}ZNo_*E6)O2BTp}p z7DM5w?-o~ImXgH}DcHs23jPYxXY>$poq>93QIs2F*&PHM$|vmseMg@ItWi~QN)QOt zbwh`Q$+Ug8h)sPH&}etbqegc#$0sz5;U6cT4Ng!>kZV62_)^f3J`Qiz2{nd>cS|Vq z{3nqI&_fdJTt7Y(P8s`w`#gJu5STd#XZ#>1#W<;N@k ze8$wFu`MF{2FuL-c-B5rjdl3RhV*j zH{^Ey7}Qan$)mmFD!;lKDr;`qWCTKt&9ahnlaG_awZ#iaw~^eH_Tq`R^**qk z3m-0N_>-WobSWa(d8mw%0a^Jd0-l6~(ja}B|KCHqgW9glkFVo~m#rP*NkDEB3$A8w zdaW~uzWp=)cUnK5pmvjOSjDZfCf|$CWzw|;E!_UWN{RPkdRzlSC*3rw;e(o~LRN@^ z<3}fku&2q7J#9MWVXZp*B^rH865xR-_Zaje`Vz0K@k>L78CK#gOW+KNsM?`;Up>{2 zB`%&(O_PG80sHt{B7#SSan6-?Xq__;>PM^lL;mOOxPQxyLqa{ZmOCW<|= z&e)w2O0=!}5-AA;0A6hD)-mQQB6~GSv^<=+Pts@HdMXK*z{lS89};=(PF(6d0sf}H zpM^*FyZa9isy+NL-J1MANsWL}L;@DmK8n7y7Vk$5@@lS}-OcC<7u@?>)y9R><1Vpx z5Ft!2Zw@qJXJ<$>$*gDo^({!^N6`GUbb26T@NhAIbg}4Q$FlK!o4)D$J;1O6`SpKM zlMo1z;(_rATurB^`@Z5fldQ$p$z_3-=cR8hjufOgEG=}obj7zNNnSjk?JJA_3@!3N zxK;uLDY!9um0dAZXT31(FHtx6ZuMlvaNf5pw_9%PJiUKXnPW3gzDXMK9g;^QIaxiV zlg?w^?A23&xuT-H9a$%3;!%aDS_&9;If>(+zt$Jip-?XF{L0f7%i_!5wPWI|w-NnT zX32acj>a`j^Mg2~6aV{Vq}PO?5poC$z)%|OtMm#OP`|%ZJZXDBP<6q>1bD{vaskHpcClNNDVCwQ|JNz1lFwl=ADZ$;7eQ4XkWJp zh(Rmu;K}b}%rP^k{vBszsUkJrK2kzPh$^V4E6S@}i6O;AB5#&#Fv?c#%X530?O{39 zp0C~C9PEO=zHX!b10Oz&USHQ$eIw-+nJLrPdMF;QHi}xube7JJbX}mu#p3o((GWDW z34yua=89PMjDI)Bxp%f=ef8BM@Ml=sL|b{P0WKWX?3!MXc&VUnjX{=R3Q&$|HVTv0 z!Jit@Zo%y&51%dk)3VxmJD;MnMJUSNkjwvn1he7v-KKF8mqlv;(7+Zlbg;1S188sD zvBGOSYJS0MpX%b~?z&rmCWDvSI#M5TF6n&QsY>;=6^M9?t2PE`$vu|kU$cq*bhnX zo)~AJhztPTy}rsA6G)QUM#O5T&ec4^B#Yz=DX<_-c6zDH1UcvLXuptqH|9*EC+E56 zh#iKLlhbg8i71m_o+TnB;v_u$sedMH4eTegnL~0U;o|-&BXKN4c(vbvnU?E8gF}C; zR9#Uo2?@)p_5DO{bG44-6#BN}P>b(IXA(@)bz4p1 zk=qCldVi^T=ISv8bbGF+rxiQzo&`HreV@xRB&{5(j@mxE-u0?g_eKujEW9?>y}gmtx|Ft>HVc7Qb;(|D zimTsBF$`lCJp}ad-A>*IYgOmzj}xkYd0v}k#G5tE70X8(&7DFnt8Wu|UOU9A{OHc9 zSuTi;V%>bczuvR_sNlAy_>sL1P3ob!m*SGrCX*X4r;aTr4$9h@D1-)$sX%(gjy0+) zHf5Ub%^G~{D+3$A+8i0(tB(v2`It(sM<*#a6?iC^{^S->GxT&A0^+rSn@c*yK(o(& z0Dd&1=uVuO=qFj*Z2E9JgX=;V9ctr~#S|PzO>wn>XZF*p2)^&t1$H39j<@TCL29ME za}Mq9RCa_|>g^z%viOiPVgzEYnTmW!e82y_)mug#aYkw0->-u*{c1So`nh#YV2{tA-7e6{%gB!^3I!;q-2YAL+xck-ru!^JE;~!dE=QzbSXiQ&0jT#!;uvZtoX+W-^{S zUEHSp$yWvx+Q)L+L(<%?9Bh9_pxaE$#KsPP@U{rJ9Nad6(jSBF!CifJy&MxB-CVWt z@PB={bpUM|xZX#Inss-kk?3q0cK(W7|ozL|)I zJx)%w_=1v{M15ClaX{a#gY-R;F)KN(`d-q=dP$7k0i8W?rVx#K{a|#FA5g{4Bc(w~ z8JH7LNf&oZ&i1m{COSR=&x2d;Zwl#3kDU-)(7!OmnJXV&AX8 zzE$Ij_2y~%d`-kaj9Xmf2Oz+ltULo+%mno1cM`WMNGXu(^&g$nq!I;~k z647M*{TQfQVoQc4cP;?+K}W5RtSGXCq^Le!(@#pLo=p+lij2l`#(!+V8Jz(i7>q?T z#u#P@%liqpr;8)}O$4q;B--Y8r#tO0THvt+wU~*xk*(SgyySQHT9xlb%@s*X&y<9n zg*~Y^+bkbAbRVw0M{S8wo|TlUjG7TsW2u_IH$(mPS5syDhJty47UU+ul4J??vbMdE zbum-geJ?}aUfsAqp+G>30D_NAJ6+5l)p<8AgUZX&%a@@UNC5PxU35K7psHsF3u1<9 zr^pT(esTwD*1@I#_xsEr2JP+~c@V>o9Vg+Neh>#=r$Loh)m-P!l#{;qbhZDZ0)Pv+ zRSJApe)wIzTyfX5J(bq~YJVK>ZqSxTwxEBmHpd{H!(Sl(mD(K3=*w$kB(WkY?1<~I(7L__eiJ(8_qj8- zyMX8e8xzP8>9tR$x#%SOY(K6CW|v>)tj(XbB`)9?5n8ik!9?u+jFTG2wipI6@L?AI zH+;;_L7WjbrBqcj7fO8%%^3Y`Z-JhyXcuh?rR;I3gaQ=_sV*mj9EvPhBAiMGS^;k$ zP-8q0PEdE(QHt7fINMRnS0b$jboP-79ZOwDK&=5$?~tK;Gd(=WfK!b0dm@E)e7hE5 zIwP8b<-^j|@h{Hevf ztfJ*BajRPO*Mafwl^-gJmrZSFaePsx9V23k#>QR;`9k(5judbE-vTy7`9P<#529~x z1P~m)+Do@w5LlDp?Vo-U?O#gPe2YgmU?YE69(rtZ)4Trz`CD15qNj<6uBZdh>h1a= zDQ+3NYI#=TgAHP!2$x{6HOhrsZ4!lX&X`H;_$`i(-JgQQkaEshGDRHm(s)g%zLHiE z6W1D9xdzjCrsa&&o_QfV78%wHmsB#NIaN@%P_#L`8O~Z>1k`Ywhf`$(-vpfF zK`dyypa%$?J9Dv`U|DsodLTU+aGIYjXfP+ zZGm!osvhxfeNR7zJV}KEVTV-1s1=h}e(yPTi=T&&@`XUn=u2QmGQ%(`Tp*hurT`h& zwOi-Fr|AM3@?u%B{3Vi9awC9Kr~l%4AW~OQ(wbCl#rK; z+gIwWsHiU%>e6jzmOHqwE0;5lmDOmbJcdVRFwd;xwyxJ4mJ!WNyI6JI)Ao)m-!^L; zp|T+fDg%BRaj+C)%j{zdhgN{}swaCyZnHsq&8&|D=`nZ{6lUT7O1}Lsr|jRR_-(^O z`X3lM{k1D{KyF*(d0$Mf1Ufk$ z$vVW{5FsoT4XswQ&uHLBG?Re%3{zRTU^HN%MV@AFwg<6~qsty?KvJ)e&1D(}@O#8b z>u1^dcW?8e`v!OZiV3%eDBUqMY_joj_*h6^0YMCWr1`#UDm){vw&KU>is@j|pwCjY z=7S1hyS=tCq_Kk)p2nLIRI>@dd)V&YN~9Bc7?TufI9V?R4i6E7YAhRZ>iIi^icFfn z@lr07u0f2*3%%DRgxHJ^>o#YaAu=d9U5UozZLHXft62solu4M^UZHhKRDU2|8~oAo z{skEp-cNliS0FRgg`&A|6D>N;*-WG$g%=z#+pQ-*`9)PT3Cr(2q3300OLgu$Y$@ES zBQWSpR_%WhYZK+r_!^Ol6^!)MKGZgrYB^+UIETcCCoE4oNg#Dm?hf%1xhio-jl?)Mknr$Azg03$hRd7tU$a;(=A898IDc;c_WVRTR_PpA8_V<$9 z&OWFvA+t*-!KspG+en+$?U%jIQ7-SXJZK?Z=slJSIaic)7l^R$BZppb&UuXiMQS@LG+9dMUNWoA$p*}}B?0geeuh)n?LX-B%H4;ki zM}cK#HAPf{T?ysdT{8VqR?JF+vl<-Y_w?l3?BU$`e22o5 z|7uYaxn&3ooHP9MZ*R*C^)J_i^{JH}1z80C(Cc@10P!Bm z<~4b_x{KTF=9hC@2QEnXHOv|O3gZcIDkzvgvsR_b&=(x91Dj^U_5rOIB5oVll#03Q zRQRl-iLSniZTz*1&8JDc^N$8TBrnwTn&FF=V$oiGEI!AUQ%O;O2HU>G`T6-{L=q66 z-+3d6RUojZ_7(`Xawaf!`Sde6Zo26@FBB0nbqe?4c?#GWVz+G?6?Z zaw8nnyTK{gEs>bM_0j}gZTUTcslRrxLQsF;pdpl;y+U;p_sT25r!zy1-hsusCzU{) zHGYq`2AVZtQMnE#^6p459zA!2Y6;Sku=4bDDk6k_rv_Hh`pBRP3us^_fN0I)9>dH@}V=kZL z8^)$(lvi!y*h#Q!K@_^}*%)MTiOT6FdVAJgq^Wn;r`9U|N9L= z1fj=7$e#ytlxJD(bY%sQ@_3Dk{pcZd$RNsc zvdxBF)y1Gie3BC_4G+=CoXE5EYw1#}G|JRW7~?Eh644=%FE@pesN&{e(R!LD30xBi zOmW-8M#24!ia5yk%)zMDYyT27F)6md9T9qGA}50R9v~QLyH`;+*M##8%l)@F&GAz# z1;v}%UiLfP*&(3a1Q^*H_zV^8M?{v9iYA~m4BnT;p2@Cg#&+@r z|B-ArT}@!qGdxA*jL2f=-1(he*dN9SV}4<9e9F{FYZt_ zz?~ac6Yu=GvJ3dnqDRD4X1f28GJ)Twb>s7P98Jo69m+uGBY!(&)xmQ|_OWQf@b%(9 z2}1u#?taJojc)*0Rq(R|L}sP~x!YCm;ddv*BzMc2uy(J~7+I;%K}&HKpolC=A=1gsFap?52adhudwi|Y4-hJ}dhq?>*^QHe?>iQXo1>Imubi{9-< zQxYdr@q7v;VP zu>mz4BlZQ=sk11;up^hgpGl6|sshi9cw%}GBAB|+Wt(?U>Ub$TlDw})A48cKb*Io_ z0TquRj6A{p$vvV5r3c+u?I_-gridaUuna#uyvHU^DyMiTLG|vLrQqZA2-g50@(wOd zd6_8DBEa$HAtY;*BMd2FmVGHQNtsROIS#_5upX@D|?liJT7+_yrjfEpzFF`^1f zcPrz-Oh|@mgOLHES$@^TFrOG!+Omxl?yo_^DCSC(u?31P$0RGqw~jePo|?%idSfGrsOB7);pFX^)&F)3;Y#PD|Y#%tK? zIqc~-DJ>U^)OF3gh#XFGG4kQ#ftFS(nOMT$d(ugUu^u4?pt{X>>9XvyzISjMYIMb+ z!tr(C%6a>%uo!8olFG$z9gVz+>?y;2w_%(nbhMdu;~)+=4?Q)gD8hZWMC-Jgie0s+bLc*#_uc`i}MJ0+Xd zrQwsY3Yao=ROTAM2Ug;XJ9C zRmHQU(wk4t#HwNMDWqU`63I!7`NAD@Da2saI0rCm2?_}ku!<0|`;OjJ=Nz2-z~Lpo zK9Vp9WBz2%23W*lgz-z#$Pupbhhe73VOFf<;9?#h1lI+1SBVCD?^_*xNeQdps2}r+ z)!dphLpn$#vJul*4^s_t;J;%!d-%021p0`8BUF-F8_3kb5%gfPE>#e}tgDW>15=YM{a>IkkPH1#hLnv>&k7my!(DOeUiPN zW>{9M?p;0?RKo>5jkw1sF}6c5E+fwzkf)}{e#`cfLtv?hGK*gt33^5N!Fn;d6LM?s?z4(dzLY`}W6Yw0&O1r(5UOZD|U8Rp$5J zi=)H+ym*rGdxd8?KBYTjTVGeBS;j@m0;A@5>;@WXR_@k9)5ynQ)UkuQfW-bFw9{-l zMq&l1M9uL%lXx}9-!MyE<@^Z%Br2IP@o85^{ly4hL^IT{@Tn#6S;;&Cpyeg5LPjz* zWG+9RNXsr*clpF0OpRYq$4NI03lNRP9;fJFba&+OZdcwChG5WuYU1nqG`Y$YsAz9`%(e3ab?yh{=5}Ur>LLl4@N>Y z1bc=~@fw*l(2deyMu$Qnt#K%7bj{qU|Dczgf-+kq!Y7B3M5Fe|(@M_rES5{VM-`HU znYo7^dsi*S9hsqm|5QcLu>CPI>2t;CtREY|il96zp74cvBJ~P~XFvhwIl*>Ygf>AH zSn(`puzbIL@K@z~iHAHOc(9(lZx;XGvPMA9ZAMi0YeL{6cy9ch^->VLN&a+adMUEB z48d8izA(6G9Q>P2L!cr{bL&fPyMo4d!BQib@#L0^pJX01a?X)hr~!&_E~CPy_YsJ} zMx|8$5tSRD53NqfeXW6==nI{kuR9`k8FI6wt>)_v-{W?n@g9UNRipJNk-;$xyjfWT!^1)D?a4mSvpm^o79)f~+eu9`%# z4qOHU1<*%QF0zB2DEr?1@KyE-EHkjqIP!RI$2w2Yweh|gbiu-yds(qISF7nANB?@K%QJ zZHhJE>iO%smGGAUw0~g%|4kJCwLtYtvkZEGV{(WWGPnNzQ;UL^LHZtpK1W<%Db7Cs z`UqqtCp*6O8yp`JYD}o*F5l#YN!7j(sHG6E_UX73Lr}0U)=EV8T&c}JS$oZvt3KZ+_4M>KDJkyEs#mG87Zu4v$*aQ$;{f+tOE_ zowK9$9{Q#~tCLgGoQd%;VD@BQnR`bObq&}}naY{zJq3BO6v2eaY!+r zQ@#)+9<5R5b}L&K*X1EM_?Wvyytjq56lPGnV24OVI}-OcKL%v2!39uiaB`!n0R^>+ zKo+qneb`566gZ-LG)2Qsj`P0PR|=fpTvNGg)l052HH?9 zmr7Pf+f1}ubc-!`(G4e1TemtQqIj;0j^^6)!+%<)Y4Ci;o#Kf>4l6Gm6~ z4F)kGaPpP;NVWa&?tJs1n4l9Qd&Z2DZCd^3VFR+icB<9PW-kZ_ z-->)Tpdv6e#W{sWMoWH^*rP!$t^UEf2vI6RMGApQz%Q=|QCv#VOUz5|2EW-;4q=*V zijbnqNFsfmM~nMg`e^k}&1z8d>tg$(u1$Qb7m-VR^TXTdr=^S@a>M7R&a?JKzsmqW zQ{P?C1*r(a2N!!ibZtgeqXjosKIc=3=v8E}ZsfzvUwI(VZ9RBS5QwLbm%pfknQXoN zl%OV^m}xiQoat(M{?}nFT+5g1i_uEdCa|d%5jjSe0)Y;*|A;=$BvM^W+#VYe-&O`@Rte=Lxv_Nt?O8u{v0ydW;$z!V#-um zl`)wYu?M1z%9^1I-injIo?X5dKL^jHzb_4F(U#+W{FXh-hcRP`-N4s+weq_6X!vx#Xn>Ry$UBFs zR;b3<04Pvn#Em|}x)N4xwh+C3`DNI0JwS2(c5vl$w4iFL+IVTx^m~={p`|p+b=(6y zNVU`fVyjAkM-6v&>`w6w$-gk znUJEG@@M7$KR0V+jG2tJ@~roLUY}Ff1~rAaoItW`Z9dv|@dJ98jLIOL4cEJJ!o%8`IWWC2r9~8mO`-Y9&EV10) z*nJKQWfKg2mIzvePLOx5wIouESn(^=eRV1D1RLK>sHW*rocp*cWs~`>4%3$w{Sc{F7rwd-gN~k+>!KhC#W+eSSocO z4mBaFn}<7nXS6r?94GDvOrnJ$3rmViXv-81iA9C;^R}_h30nA;-&$si+jbM=8NkhzOG-}LW6Im{4V77n_c$U&j6h1~XhOcos! zRqFJK@}5huvGHMe>q!MmDHjvp-6{JHz> zBbPJYY&(zSEW~Q5wB{)t)+=P}?DJCcS(Y^)58;7r7;TpPR+(JZlhEHDpmy5E2$d54 zUbRSoF3YSqp&!i#!(S>6+yChmIF{>KPE% zDBbFi$>#y}&j~qSeSYsYUOzZrV9k;V#UNDUvMM2@7+INRug)k>UXdrU`fQ%>7+Jb; z`+FM(bT~d_L8{j}HhWx**S3*oOBs{Zjomg}sjnx!mP}{NwAe?MuZkRmjrg%J7d$%V zf1+IVoyaRT%82;SIO5TG;T?E7J~Wb9p*5En71)1`V#Sw1WCFev@7a9MI*pFfuakJ7%o7)Y_hQX1%7@KSa< zF2I|9N{PVOAQqe_7K!cYOhK_D^&?fCzY^m+HjBM|o1!|^e4{|$LA{0Me$2OyC$3W_ z%p24$9auOn3TZWXjwI_$j?Dan?gXsA?YRxoTF0HRusk&=~`ADKW2!~T;@pL zqL*xuIJ45*@O@0|{WhwKpq95W!V_3S4^Q0^eh2e@`zeKL3mSE=HFmgn;=d0z_(oo* zRY-s6cN6as^Q=5t(a4>I{FWEiU zOwh}s_C!+Vp{x`4tlK16yS8!vDi|w}(}zcZVY0|LY&aN!Maj5cQPN+d`YHJ|fv@u} zhffgk58G-3eqT^~bpWNXqEMBXIgY2v!7J#wfzNT@D5Ds(bY|o7wcXCHDXE92IUyQy z<1O8a7s&iv#=mb3+A6=V6~7|>?)OHmV8l8>Fugm};SDIoA~Ll;k;F+2XO;OOyv}*@ zM+N%!ySqicV7kd#vI8r#EN?YW&S=Qev3?dsrA8c=5(|pNF4tghKAw=$2o|3jCO1i7 zI86FlU(rhJi^WIVkBF_Yl`7M4rbL2eT}SUZ$@+I_QF0deB`nL|dx?as*QFY*mM#Z# z;M&ipko2R_{FvE(;I(=vlJn@)DtWSv7o=i#;V8I}$#L2gvAIH~P= zT*Ce})iA=Vh@2MgpFcj12zc&`y;!F)q@y{-^+#eF7C=LBEUpkf*gBbm%=xmOE2}%o z5CH!p$Rj%H2nEPpj4$e2Sy(qfMqV;b+G z81lqLh8XA|K$Rb7NUeuq5v)|Xx!R)b_aWYu=kS0a9o>!Lus}lvPrMqZLyql~ z!d3k=d&WUz``r+bC9e`rIW3yq&_S?}F+*YzZ8!Jr`+MR7V!_utn+@*~Vkz7c>NXVR z*31Ht?E{Xu9@Yp$Q+%4DsQ`0q7)k>+%LYd^L!FEa&rTzqCIMM^^-sXxFf5;tFz&1Bt)P$(p zlX>XzdDGh$`-#m`APgzG<6RO{9b69um3V2Nyj!h>7%fTJSvi0+NNi^&L2cex*hk@5R#MWASBC-lejgW} zUKs@um)`6Z>30+p$-XUrg3$Xb6T6YYWql^3REFab--&n;Y1ng zl5g}&Ezfa)NY$vev(LJXR_&Nq&K1NO0Ev>uU*ToO(|tEtsFELC7j0R-&SN-(+bZ5^ zby<-%;G52`Z7QQP=8M6pGh<4i1(|OS#>L>sAs8#1hsl1+gY7Pg<^3YL`6G&_bbHyj zf$wZ?>#?h|^S*u04-$>X2K$F48hNj!^nY`4hd_4i2Jch9-$6(FPUfzZTQKze=gSV2 z{o)E1yW7%=c_&w~d3gRS+_i?-(f%ntp+YyJx}Cfy(g7wg1l2#>`Eg4;BA@{M`~`*` zhc2llXobCSRW_u-*T9|JESaRN**!^0r4Xvt+c~8U6Srfltv7MK$hG`nv({H)dwt9 z6a6-#!4>#Hd%q9>@YLfS&n(WjQPcO;bYrej8pSJ|G|TY}lVGg@*__)#x8#jtT}X%3LZPcaQ6(hct-dIo-1${uzvN1KDln?jL4$J)Ryublr$OFF~)TI|)!zK2QH~HGY=BivLC)-#~-Q->xG2Id|*k z3g~eEljAud`#xyxVJI7Td40Z*R)9>LEH@l!{`Hxn4iy>WWF2+?$=3rj+MVY}$m5^+#$WmF z*7SOB=eWq}xA5Bm@(#olSO&<67a$!^Ss1(VzuH~$3#VH!dg?~5TjwLk;R&a$mVWsR z@9c>Fc>- zoo}5g8IQIWimOAL33RFI4`)~<(Xzpw^=j(nQ>E0{W5~jN#f}B@+I7%{$0S_?taV6u zfb!v${J;}D6N8`668$IACGgS+EIem?P3MA#G6`D1HP;8sxXLL^e**5`)5FXp%(&RY z#L?IMVOye>h}q(}Vsc;u3$~xZem}gnat(ae7_+_anbv7-uzTNRh;B^@EFej?b%djWZN)W6^1WSy94vP!bDht~)mSPx zjlnngOOZYyY*YC#g_jEW^(CRxStOZXT==k-mBs*B!e<>+TFqS)$-Bk0sbGxy1?JdM zudDAalC%dzU-5_bVTNlYOvmMJ{Bfqd62en(;yi1a;>}N|w|M0nqvZj=kF~up%TJkB z`9VkY4Mq8L;Jl3kzw0tm>9Rwh)t+P*;Van>iSrc&;Ok|6zxWtmJfYDP5-aZXVXjCf zV`$C5t!>+wBPh3!&5aXt$K;nE|Z*q#6?Q_d#-{Ez#_||)?591Te zZ+Z%z#Q9@pKltQ}0;?xGk5Wg|Iw4|u0v7h;9m6sA-Olq5NJ2ubYkW)TD;DlyU^n`s zvjGNhv^X9tn8F081~TI9#DHIpo&t>S{hHnyLzLojnS{r*RH9zMl=cc#I(7)+=TtBv z`N3lwS>QFWVjU~%fsL`heZ*4i8#jIW4bXM4EO|&Hwa^iM(20PXy^vHJk$zD6 zyFix=<0PMtWB^$c5u*~u)=j_V+(jzUpAT(C9-?&k$VCHVanbOMnde{d10gf(Jx>S> zNI_maV5JD9ls*h%%!o-EF`~i^YC;6XgM{Kqyy3m2-WdK%$6%kV;$V=IZFKYd&99;G zEy_P+DaREqGRfROAqxc1CaIIsJ=1LZMQxB~Gnn^uM7=f(!v~U}y=PAs3*?0C-BorL zHAii1za3_#Q&x9~(pNC`Nyrvu-G5drqkTtanyIpVZHLj)X(R7LyTYJQ7SyMVIU!nL1lSA3Z z_cY@sq3reHGBD)%2L5*l{?hz?e#oX%?uqRn0IG9?cp{hRoMdX(c>N{82D|B`eDfOz z#wF#9X`^le;33wBQKR7j5t{4}9trH^NS&9AfPvP28{`4!`Qy+g)mXs%fY~0qD>I-* z3x;FKwr_9e=`MT@hLEmF-otj+%adcG5ZxU+-UYcgNJ)wD6t}IC9dD@sQDWYqeq08i zbqBt@k@F0kpy~S@dEhp@cjBA7?&+6J)hHt_Snf_ z7vF7i&_3KRYj1Rqm*O1MIx5025tgU5p{WjKtMeoG<%ac*ysp=(+yG@uv1-5%nM9Fo z;fM8d;`F{;B1`aVT>~@(>rr?y(QVzqG@?oM7 z?>p9Am~S`+g&BYZp@Sb6o2G7}u9@}kdJG9_`EDWrOm^tHny6bu0>OYX*LQb-emWv1 zS;4R2RC%RQ)KbPhMRP^+Fza;2<(rrwMCv5V9$o%{Tl||(!QaN=L%85>yRl;kB!jzp z*0z5}5x+zBw!ZQ%oEHOJs=sHsEij2KeDR46J?bD=fj0_gUMtUdXSC%_MTYwf!J&nY z-|!goe8rAOaB&lMX*{cld6{H_07Ai)5P z1IbISJFK9)=&ns5O#J z2}EF`nW58XwNiWcdx?tRnW6~{fd+jG#|*b*uvff$e4_V^<0IIh*YF7bo=>m%kJk z@XTjr|Im9=A8m2Va6RaIHyuoKPTh~i)8k$)QfrTUbID*hJKiHj4NrF~jcvp0SIqsyCCMRDGr)aR93v)}{|>cdPQKUmHJd9w!# z&<^K2xizqU;@36}?2Xma7jwrM<`Z`nIVPCGaJhGku27ENru1!&Frwj0CeUPTTsbv1 zt?ccfCsHnHjBPJcz_B}=5RUVV=*O<7;j!9;5MMQUbT947_2 z=pAQWMJ4YNHJD^o0NkmX$0PpmFv%@jFK@=5b|VdnVCnZm zYkyl~;!l7-ws|vigW&x4VQ{S+&2uW9MBaCFkUe%km*gn8R!^xGe}t%6MPDhhZ0=6) z^Bz$b&G6?&<)Ke^v!|+I8JQ<^7c_Yr)b}k9Yo0Mvu_j(Q#_VHY$my5CEKoRH?NN&0 zWY#a9nmDUY+f{>j^LjJN>}SNoNpqSP#Du~V_TKdXVjXNFqy=QXz7c|tmI9GE*fY|W ziZFDfXFEUPjoDh<2L;EIj@_(>LO|16_f`Rh-1S(SDGFOn7`SZFkAZ?TS^THO`Q>Ps zpIP}pujdQ=#7}?rKVO;Pt(vmCUnSUN{n)$cPwb0TKdI2ZTOzB%u>M-tO^=5}HVU_p z6B~*9GKkq&MpI_O+aA{yUj;5DoHh;@w$t4VE1ueY4{Z9}lhJ;By2Q4HTX(;$xf9#> zVT7OJGdM{_d+>&t zWdthP6jeWHh}PUc>}bu~8@1zU#-nw}T6kuk6d+3bIn#ZfA-sCGUrkO;bd1XdFK^%t z++cwy?hgi1{Is&y!dm)vLh0m+n#e*nO^bByy0uB>7J-=Qp4UvWFx!q!Q)=MxN9T=@ zQFz87H2g3A!W}ed#5%%Qmq$(Awvi;6smS7WT(pKshyBfd>9^MJG%G*Q8M?AM(vHQN z18rC}Dd>7Ia912qC0xfg@87u%tV#a5QpTRo6Lg^cy)S>#*YG+@A=NCy)8#8s9vxqD zCn5tDwy&zM6d&tV0_4Rw!+zdiUp*k_Q`sry!?8oFh~LtyDe#JZEkQ!QpWAur05C$Yb8@o4W zTec?7uCBDhetEA^=WWCvHgoY^YbU@W7Wmn1p2aUW1F0gDm1T2`*KZ1Y+JAJ5h_GnV zuf~;%R~?0rC1}LfkL1|Mh;{pCI^%te1>QXuFsmX(Lta{p5LT~a6{F@ThvwTvSdb3Q zwTq-mx(rsi*wd!{@>8UPxP1xMAG!7^&zX_>lgI=H(cDur!}!ns zY|q*KZj?7@hYBrkbcJGqT0!hB525bvx2tPxyF?}MHnq;H1Q{ipf=*j8OvTCgYHfzr z>C(7gtvlKDJjWlN&H-f8JNu0T9OzoOJ?a68E{vlin?n`y$YFhcpZO0oF88f;vpEeD z;9!tU^>!@mH^!r`+k|^?E=4wssPB*<;Tnhwobsu;KOy5X;h>`w zXiyd0b5^1+n1snym_JvH?XRaK2!}*z_6ZhT1_<5z_jbbuCw985MgFAqI!Z24oF{H5 zeXpb&(k*OPTl%5PhLV`i3HOKz?f0obSh-bfwcHkE!U3j_DQfhFUfg*%Q(rbWoi zt8fZ1@H}I1nIOayX4PL0^4O2QQlZwE`gkraqI%Vk=~O@PU)+NASH$%c{b)1pvdIWM zd0EluSQh)vxdNQncsg@yfSk8kcajM@JDy##^G6_&*_^{;O|6H>BDEzpTWQA+@d>=E z?8#6?=t3Kmm3WFp$-tnk-)F`~=}cypOAxAPeYk##lUIn7wFm7boIb=&$X@O!WI4Z8 zt6#1)7kHa=dYkxFhCBTi7WLL+4)H$8e3a1Fx;4Kf(gH}Qkv)u`vSSCx%4YJHgAR3~ymTxjFOMn+xmJ z?Rn}oG7_<E7`&d2j*qdjF!Qy!pBCR#Z(mvhx)=u^3G)a2P@XD z!DPb>l>W_92RE0^?*PLuP(bLbO%4LWrdBGm2Tjuzn%!D56kp0ODwy}WpdG)! zh6P|c6QRz2Z!JbOXUd(5idk#8`_r3Pkp&*-C59Gi-WQXpMZpF_Z0rahJ-0B$d|Xg- zzkG15f4VyJT<=H*-iSSFSZjyi0)M}Pe@av@MSi;m`I6%2S3|x2;JP#{sQcbptNk8T znrq})qw<|Q;nm97@>=_KPA*QsWEDn(-y@Jmq!!#zzbXuB3cYz7V5l^QTZ;U$$+TOd z)}OLB2)CgWb20nsC%@C)!skp~6$e>XX^s&dsi99QGcYPiQJlZ0hFnhHTjYs`&z465 zEU_D7?RV43wsH7qcVIELJt5+RcpG?=jv1ub76W=LU%;~$A)_}aR^AbPWOxtbOExBs z07Wzb42r042b8G!B5UFO8OVGj#p??f>c}O?euu{OrzM(Mvpt3ZCOSA$%;#K7!eX z6DcpI{1kl`k@z^5#V!=j5?GAcoy~1GBh#Jd*SUVue<N$AKnT6-?|7VBt%-ik*ef$3ri55VC_kT61(V<~5lIa)o5$AQ zf3#ST#og1TFLR699uSBzh%69DDfSk)BvyXrbgfM_^qvV&gxeRVL{KWLITY2AIJe;u zzbcp#BBZ|*nBosiJWfA|a(@fY`8M{=49WtM#&bld%uT%}T|=92gg*e{;p`Qt0AcO;d{WQToD>eH2-w{~_=M9s;ep=h1cI2hxavj7AvB|qTtuZR2=>Rfa zjPuy}d9(>XMBaS4&p@~l3(|pXpKB&%5&3!J$$-C`z%{WRUO3;>d%4;OBCenc<}Qv2d+_O-OPY)p24`O( zeBpbht&Cmq`(0CAgaLk(#%?24Cg*Tu8bS5!F&?Q!4*+Y(5V$>9tc3~huCutpIMlD5 zyV6Ia>ZxmqAJ6t9E4?;Ti0!&zb>$0CIHGgzIN>L!&Ga1G17&kX$pw62ig}0^BgcV)-P3Oe$TFPKQJ|DK;#kBBS zcbjP^xLRw?@b#&!CZknz0sXO_Q?{A{ig-|fNgbgAE1r0QEOirSO)fy3rpccz(-9|* zG5f%EbwV`7b5&pRH?(S9t+9gW_iPBWR;{akP;-Rh46}Zi|6uT=N z<;Pl}y4*a*Hvkcx|1-WvR8NwtX}3H)R}1zi;&eb{Zg9*rU`lr0iB*?{y%vRb=)SuZClP%O1Ri7 zqfrS3&Z>zDB==DE)AS(cY#{+XKXbs7?lh*#s`uGNWk2w+)OBWuFa6B^Uj|kinG@tY zGT%?d#iR_cKx@-!;ra6O+wPQm0xJ}b&4nuK#}!t5-29q0D4f`Pu2lfZMqRC00E~_V34MD^2!WAEelh`4jJ9u4^pQec(_M-$nM+j z#fdX++LvQ`^2*nSVNgKM$mdhVFn!an&RrXe#@hD{)_)wlz6tjlS96i7no+fco4x-^ z%Mb`R5FD1Fgpr@NB)6}3t@D${R)VH~6%I}XIO&1b@|3faE1|WOD23@DQ z+ns&;-m1BXxBFJwnQi*6)UQh@*oW6U`($0;asXr_%aec(k3?QVF8;mGc&HTZqg@08 z2*+Okv+Ys{Sw(L5pyL-Ni^+r$As0y;Col1_AdC7A%Pgsx4&2e2VxAvV>AH_ZZKCjA`U}H(yD5GrpB@250&!8(Iq(?zuJD3W~+$ z6gk%3;L>~v59B;Yat2u4s5{+HfUsKMDdx%W1guZ2RNDhx=J_eK30NcaaT1Tz>eYBt zFCOwD3RF{X4Q0rUMFers5Pp-VWgC(`ie&^>fx-bkVh=wGM7*G>r<74b)$d$03=LXF zj6%r(qn3&#`2Hh$KD9|i`L=cl#ueHahCB;N3q2VzMZ1NpHgsNqd%Vrn%jpRr;?~>A z2Ew?^`Qq8h%fZT#I+uNa!1(@e>X7`qP=3GrfJpzeUA@xj{q*#7XsB_Py|LMCTMw~Z zVqI0qgx=vMG#l=^ zSQEmnKS-*Zd*oC1G3@k`aSiL6U%fHvjrXH|bE-@b&i9tc<-ns*z(+0W9Ch-Cnf^+X zu;*FwbI_0(e8tY*`v69(}o3 zpME}~l2D{4RbA~IETXpy5hMB7MQTC;Qt1dlCYv8O%I^(0g6o1gUdt{U$uOc*AcpL`bX z9QQiePdS|)3CtG9ljj@^jR)hYho zrS+0iu$Ga}{dA&uQ(T_e!Q?Ym4J$b}R|w0{*!I`2#=OKnm_O@mczBhD&1r`zP7ajB z#O&fD#he<+oE?mkhWlNcqbHH%Dg2Tnn2t3KP*LoLOJIwd+RwM1iCbqPjz8 zBNGLLenMe<-LRj%t3$H8a<=e@azEhQ<`g}oOSlY^X?_L@t6 zW+D~P>;3EP`fI=YMmM0x3!~p{YW`7!pjFPU?;k$+$H87D0UA`1AmeTy3;=xZx}dim z?VfME&w>|Tyh~m`zEs&ld808tv;ahFQaDbF3j*BEdj?y`O9>AOv!fY?_KI`ESwEV4 zkyF&j^3O6h`W)ucB+3i@fE3ok?f5J0VG8I}YSze5x)+5RuuHw`cl#x=B`^KG0`7-F$O1z) zC`e>$RwC`rF?3BkB??IiQ}+F5ajvY`O*)DsS`~s&ev*U%8N}Qqc{=jGM9tnj7N$#I z9!=TTJ$2L+NQqXsZ6dj!KnwR+A6*&o;o3IodW?*Tox}49{4_!=f2qtBP)(mN&Bm$r zH3e?mZ{K_JT^r;Ei!QXz?8!DhPC04%nKiXRX$K#@AF^89*iK(=*i88UK>6Qrk=P9U z_7aQVn(`se+8ny4%|Oj6td z8}}-Q4t~^qSjjO6YrHk4Bh8zM$kv_L z+J>)q!6t%&T$V~gp1dL$j4378bYlhQNVzgR{NSx`#!0S3|4o50EXtc+;d)HQ znLj-O<&_ep)1BA$!;^5lVSelHmaH0G*7IsK^B@88s-A&>I8?-pkwwNqq4aqKF+g%S zx3S}r9QcbJrF3n;-sN-;LUnDDZI}dX(t-sCJYzmwq!=9X4uY|*nNbLYE;yfj&^{i!LBc5X}nxz=<_)3nxaMha@CGow3irq6;hMB3Y}< z8hfR&WB(WLn|l4pnF)J%1Dq#9VX=CzX5Abc-mKZWw-|ok z-K)aU4POdMncE%IC0=UW|FjVI>ne(`=SC-{7A@j|-{LfWlzO;Jam2t2Gx79I0l#Ph zrOA*k?lo$&o2KCCq(4W;>Q1VcTGR`@-g`Z->X3C?q-!*c)dWi8Ls|v_#T) z=+7`E&Vfsxgh3u@i`I{X*to#cjC^t}P5~s2$2SFsQlf}?$lzWKPjt;_ngp^3$M;(2 zvX8YnAAcdF{6d)x>|JT!M4P<)8Cw`WRuntyf0)Mlu_FuJQmoNMrSmCiI??j|| ze>&S}Tf8F@i(b#C-!5VY__Gy|#$UDVxIX?2;8!0b;+MpMEtmE;Hbwr)*M$!!(K*sb zcq1OM9=RK6r6s_^@r90)?2h0DzMmR%DAH;2mdkKQqkH=LV~_H}lR3>)*X8q;yj;o z9p-)>{Mr&ilc~#I&0UmW*&^LalnK1@caKPhb8G`Za3bWae_N1hYbT0$kK^i)i-6j# zUBDJx$kY)bt+*w?ykvpa#NWw)rp_G5ANe`xb>DzUIk1*k}$w>Z&=_pG5 zh_3Vz-6INsu6_ZuDN2sMd#WYTV+Y*t@fO`9Z6k!g5oG9uJ6OShj7+S3e9=vK@kNZ zmtoJNlbiJ>AcLGB$a0H8M^ppw1mw4I&|SUN^65|E?jMKogO7+lY!pb}+jQ-ihp2xm z0YVDTf;b;)QUB1|YWG4t*@?7wMZrRtaz(e!e(|%4W~;$YluslY$D?i^N~W|=tCm1o zi^2>an|H*jM7J*aohol$GVC-o>wEEnvuXEp#=8&tkyY}?w((0Apg_(e`>PB=IpjrC z?E#8&eyVXqKVoEVB3jt45c(UHf))E}GCC5ADfEgs>?sI0B6cKJo3K0qg1-6sm1qa{ zAuPgn?K5^T(F!~%Q#gWE9ykC`6vi-RuipqAlQpdVK6hRcAr0qgKQwulFZVlcG;yYZ zXvoTCt+(h9mo%TI(`Gi#VDZAss>S=Jx0$OZZyJ#3_kaQBHwF$xKu7S*)%RE9AoFMP z2j#Zav&yrVc`>g?58OcuUP;u%<3I8Fe=$o)Kx&Y$6sdj+2VP`e@#%Y+QKc#FjdR>m z*|gr$)U3d<@nXgQSP#-`yuuc_K@Ept$If2K&-M45PV=1Bx+K;_;y&90ch9ZEtLW|U zy5z+T+9W=-YGQLL2>P>wP~nNZOs)NKTle|~+?Is*47N{dh1R5dVcoZIK3)beo4X-K zOp7Vr20M!uE%;FtGhszZF_J&{(sU!L1jnZ%FKB{h5bVfhGAK>?UOs#Wm#7aMz~y@2 z;Gy|+bs>(5YzN9*n&Ri9$2QJP!I*sln7c|=e5@gm_#pC?1XPlOoP~95(242<&C+kD zWrhy&V}_~^HNT1KR*pXfruMLyGbunCy;gbA&pk&#np()hEX}`=n)T0iFr4J{X>TfaT=whQE%8rlT=IWE-CAXf@ zT5xIM+{OP6;K>6Hivt8{<&954Z0wWGUwj*dV!ifQ;K1@ZdY|yaq?cY1NRYsscOaSU z{{kJ{F$ir#HUsWZ&rk1PepE0FybJz7oI@*R0@u8UgR)9S7KNa6xue1WRDM+Eru~{y zxz|XC&MWO22r|Cz5!Jj@v+WBxD@{0i><}yXK>-Ts5Nwkw_cd|YI-*|zre<8a+fmZ;jM#rJrVqj+~J`txrw}{m9QZl>X7(iW#Xuxk))V zh|jXJdh)8{oiw!9+@<;^x*22ZKu`Ok%LwS=(ii22k$f8IVZK(9_%A;!cysAh%tYIc zlG_)5=r;5*u6JW&qe{f~Ry%UfYm0rPve|<33SvH?S39q(KhpjMtY7d+m%2XSb$vst zw03~NBosk)TcEN%|G~YE*s_9(Lp*E>@(@VbFgY?d-V9RbJePsnYCS3~TUThKQmm0+ zx6dmVDMhbwdg!13WZ^6Vr*%s;gx(xUrF8dUmCY~$VLKow<8>@80^H=Dogb&LO(})<5Pwj8_Zu2H#yLVf|( z@_C;GjOQS>Z(1eM7K+c@!-dbVyY(kNj|^ZL%G%yH*e)g|p8tC4D~ewD+MqMiMTGh2 z7*-2x;9SAp-<#LM;FeR^X+HubIfRQG1JoX8^jOrFb1wquLc3{f4{<&LVoH-7f4Plrc)1`whq;IBT#(_f zdn_*XmbTYuuL_>b{^@LZo)hGtF|R&deci0_ZyWVALx_;&bl`1jQ@xL($Rf|$Rh687lw9uTiE8ccg*uE!K3D8M+lU3S zkn0}}=t}R$uW%3}LG!8nIY=1(V$%7N@)ksPH9&VTU#9+-l>g@iU%Y3>R+3n;{=Q~O z>pl8itO45f(3`2~&?@xhSaoihk8I<1q-)|7>~RFR9re9v_P#z#5qwHkscrX-Kx^9c zYIW)_kGaHASzbvH^5_;b-ij3 zMqNd@BXkm5O+^pzCx4jje}DP!V$nZ0`fn)w-+TXWF8@bG|AFG4jK)78{f`F!Z!G^EtNs_@ ze_C<>ga1FF?EjzTzq613{K@}h&Hju3fBdHZJlfv_!T+zz*wlWGJA8JRQAcw|5XEX+ z=#5%u$MXZI{QxvW2NHYn@OYY$tNPgv>IeaeJ?fX(^m_awiE zGl=fy4V-R_pqm|u)i3nZy_-U zWj;gaFWO74^Ep-(>Cp{3Ai{Kn@A>&_0*{p7X4mPo;2W`xn!4!JrCHc(J9ucu?3BhM z36dg+=Hwomx0t3jGkGa`b~CKXIt-h3p0Z2J;<$nTDteetPQS`F;l1p5yqs=KGDyi-q5stXD;${p9uc4HqBFt;ru3 zuHP5@NP^%}CgEISE4nD3;-ok?te+OBaG;=S;&P(<0scaepA6Sy@pks_H{wFX8@ z6U_PfyP*F45mcg+i775EJUXg<57%pviOxcj18JAgg)MD2Vx`uG*g9R@VN;Ba=2aQVN`!uEUS%N*a>af{=68PfP(R&|w#Eu(83eX# zUv@$W&`0AjyUVEN%3bYM4)XLU*c@-BCKcPYd|l06Ku5#&$B^hMRX$HBEwhxuB`E^VI&Z^F1wa6bG+K0$Qbg^=`Apps$g5KXLTBXz6T8ft3?UsKF zb8Q2HBgdm$#$u{~Yc)~Bt3XiFVp|p6?L3Z_b$Es<7kEO0cDIkOsZ;~4D0O^M&st|I zHEl1P{exn*h^ zp|~BLNbNEH4TB z^Q0Crfv2{@u5Fp6HS3LV(nkJwfuQ2flCqr#UuK!F4kK-2bcEg+93Ed!!uQx;$iJh- zj*-kDCzWrcB<=hlYKOi%>wBx0U`=kQtf)2FS=f71v$gK5mxzbZsa&`UAbgkvyeY?{4vNg6nTif(lN9p zMJNebkj-&Yt5vS#I~{noAR zekJOc1LZ`5bMoVC-1pGax=46*nt?7j8n^^xQQ5!Z z?1Gf^VXJoOSyqOr@q&4dIXs$pEKLa|kvOFE$5VEYT#~!YVur`!z=YK zo^ceJ(Gvu}ZNsTe*&0{G`$EU#vPl){Vw#}<>K_i1RZ{BIPc>>UQk=k2n_z`6#ohNN zrQxz(OeSa#C@BHF_PS(l=O~R`x5n67=~Ar)cj2_3m$=7#ML3dKsY zjrG~wPd+%*wRPW8Ir0XlaQJicurh89q3umVQ+f)2eHR)l*C|jX) z?Xu`Fl9o-tfk60T%41wQz3Y52?w!(v%D?8c3H68g_}&}qQwCD4D(!T-5VfRxWFGu? zA_^24lzOb?s7v9AjZN2o5Kqy_XjNAQi>#Lx4Joz17mq%h7(ISP$};n%ahx)3Ud&K3 zncm0!u<5R(a@>wy=r+0yQx^E4yS=4nH?`4gQ}9sqy%oPraiHC7N#=quU(!+VpM<e*IlbKUthp`7xT?!dpk4x!Sd^Yp56ToZ@lmn z;y96=kxSAwQX_kNOHM`I;%v+{OCI}@xa_-4;T7Zqp;Qy&@k1!-sPg`&R5|I|q?}J~ z)kbyotx}aAzG{6|ZVInGk8%|AO;}5o1Fo;`;nZJ~6o2essG#6J``?1yL05cGBTm#k zUaEvdieMHztj?|=S=M?o zHIDQ1Troda7t0#aRdDVL0=`tsb8LA_(EoSfCIs{xFN6*B-k;r)o&#R(Ixbe)Jlvz) z{SQcE2M6raS3`V2Ks7@z5pn)WFY1BA(KdTb)6V_6E(O|i7`Ic78Mb$?Z%qvM9XFX> z5-OHpATl-6f(s__+~0W}?tyPrjR5J#M;rQ}dCV`+s%$z^3PTHj0_V4U#j%U>F!wx} zB*Cp4^6y*mku0UQZj9Xa3YAU~#apHcIt)qV@~y{pb0R+U?(CD!FJ*kH`hbCoNn(Zc z$Ohl7uLmpMc^?>XfcjD{xA3iS@4hR4g80Wb{lqN=Zh7@eVwU1(*3^8o zOX~`MgFJ>9ekNFvodcI!g~#f|SP*@R!RH7#yinh6T*Sww1f&2#G1XImPXm!WTEa9O zj~qDx?F2T&8_1sa}sL$HSYtddlRM_jY3Jnf4LY8)6fOkqC-s~IC~gz7&}lE=LizeH8Tfiii6aLG`vJah2wTDQ_$*0< z1Fi)$XLjuG&Mq|M37-Rlv?UasemSf3yYZIphR1>twWuOn^z-x&MbQQ#Bn7)OYAbxJ zS+B*)x=@W@O=4n~j0Cga52Z$_RA4VXrNqQG$0)nv3jzH@Rl<27SHHoaxM2mLP>pe0 z2go=6*b=-KA%C0ctY8NyzVVINb5^i^#rSoFm31GnjvHsggE6YIH?#Wg8QX|MY$|w$ z2|kE6?CD%1zlWrM-0an!80o|@jZ9mSssBfa{) z=gHp0Tz38b+MGYt?pt-ASl-F(cyv73&tekh><$6K<@Rx&L_Z3bGj2WF9(3XnGEP5L|%L=put99|Y*=+_%C?a36oo4>8% zT(6;>;VVjf{9(QY&0IjPyMsUOXW7rX%qs?KNJ&ZwRk$$ueqZb-{v7@VqvU7b7;lZGDX4C@rgG z{&%weJ1mHDip+dwyScsX;&J){eOWaY%-Oc^KKS$ zq73{;zYL9DaPC;1dx*~LTBkXm^Sj3=$v&Gwf5fOq&dLW1ZMaS!ldlS|w{-Y)hz(5I zfg)#K+8#NZa*OACYpkVK9ovMXGtX#Yu#vt{`z5Ax5-I%1<9iGek;=e~?>>|Io(uks zW2g%JlV~4TXva)r(-Q>E|apC$e}@;xiD7H;^n*Tv9O zTj*bP(s&#bA_R_MXA@V34K5}#p>9s(eReylhtYsu)6IPBCoYu+r>|EIDjRkIXo{jc*S;bI?pejBy{;okq~aN?S1>~gA++o4*+(Tc zTyKZS@9bYDh&{e~!q901KXBKvtk&S2{b6FlS37KfeF=M^{TqM?GR%Oq}8`RgK{u6#vkib;2|&T@Eg_BqsUo zUWXBB##1LF zo7m#F_q37aI<88K8PbF5AJT=46V}GIvLelhXmNe8%I~)2L{tP_Ig(<9kZDC^Ed@yMfg2<8^+LGB$bDO+ z7~B3OV}y!R276&vET8p?B^8Qlst_l-5(tsj6hQzf#=YinpL;S6=v-!1ZucmpV zRqW?7Hi=(qqe_Gtz7cDPLx;VwPa;3}?0OW(VAOsP0(XBX9wT~n4qsnW<#!phax!Z3 zekQOl>@imaD*T15O}@%^yJaFojV>57sV}!TW0vRLoIok&bTKVh7T`b5x&v3DhvF09 zVZz3u+->glA~J8!0J!Dglr%57Vuq^$QL=>Ioyz)3<|vRrW)zPR(kp(^2Mi)#^3N+f zfw&kgI=_Sn!yys;SDr!{dj%Wf=W3U?$A(eHo$p$2Yp?p6FL;7{!rK4$M77ADdQJIf zsekB{JlcAt`|s=>PRDl$?@Ox7c{&%kY{0jNcS>}-6J%Rm^4xwcKLJ$)?Qm}t%`HKE z<>y|9`Cl3rjS8oXlyjfL+LuB3if8VBbz&nGCW$FnFl`-k4Oa&`d7A3w_6lV?oh)8R zyn98a$q#o2RDrxHs5k8o(afHSP9L|@`kFvl=d}-(*8JKao^6p0R zBh8-L{(;C`Y90^N38Jbd46xkgDKL7wQ=rj;1PG5-Z~K}9T!B(8yeR@h?(zVsXx)oQ zia{IO&Bhmb1FUM#3Cd|mwn&j7>C;JJST@KgI=JtGLQ0VsNoLmc0EUyEnhyO)(3Erd z$OT&J9GvkA1GmH1#Jl0zSx|w>LaH9Fs55PNzh0+WJGnl$$Q2+LC$I9|&XknW?PZ`f zkn&;?pGGdNN7!^s7tfnpK0Oa10Tr!5Vp}OiI_5_C`cvEi&Q}S_y$CDmjYQ=3*3E`P zSSj+@2>3Ftq@9)Ju%42zrxT^sdHpxTQ<2ispp>-pOc_8hgxzwm3SwnT*pB zjVJ+MKB)t9s^3gkqRCxY_QVGgT1#I!GrmD!5HGDm$7%3hH)Rz@k&oM5a;!|KoH$%j z5K`*nKL3y!>BfB(yXi);*?;+Ric-wxeAUP-M?pI;-R=7N8wP;@$Cwr>KV?ROS?wti z)0h=0o3B)ZtQLSY1{*Le?|ruH352uz%B$v<-CY6`SR@tHCOzFMozLTOtl6sU;}Un!mL1Qmd zsT8~|>xJCx^W6LzH2qK+jw)XFD;_XZ8yPP`hSo)Tx{lT6E(p^W42lJPD|5#@2VDI6 zzzRc$c{_(B#P|x9mAc;$d77v85Q%h&xl{hMO)Y zhHQ(Hu5xkrH>^VAB?Iqz^^VoZ_}YKrC+3`V;I!dkgbs7}cZZP4d9K`bhspQR0@C8j z^z2!2P}&4{xw%|ZagBH@SP1+WtahtvJO=!s&1IRT5&Y76QGqQ9Q`<5VQcO}Q+z14m zNl7r3JKpAlgg-1pq3rVxbwymv+$od{5mel7t#=I!ZbBz0xIFTUd@1JIS9*SG(~Nl$ z$x;WRF4-h2bYd@gxR$bpQerKU)Y6myen?4bMrr@WON4`x!gpeTL}A4W6ao5@FQI;p`Q{wN;mJ-|kP!hd$<7)ogPM*4WpGgh z9tNTHTkDWxCkTc$1J74yYBws|tVk8#4TztmI(QQgWf!!V}N2cJx4${*mH-IW| zqooMh#Uk2*Ef`zHYI=bG%~ey2OvAy5K^i8N_(5n&7k^NX7&FBvDI`1o69&2hqdcO; zs2#6_V&-K(g<1_WRzOfj`5g|zPFAC@&DpKGLRVXz^TeF0ZAA70x!b#YW{dH`-ftC^tX->we0ZF$j*K3?rh`6 zs;edBO_usLoq)E-3F6E#s(<0s@${#(>7fR}Bj~ka8ppUtLiG>u_YcE-;Vm|I->u5Q z`4X!_^`@JC9b!H_h@+9wDz$J~kq0hj8rl_;c+_`9FXf7*2rfP-d6wOCY5erb1GxaF?$2Jjo7v zFWFP!?zWyYmk0YWK9mfI3diW4USZ=~Tb{(ivZ}bTF#lw|x$IF16}3b%(zV_u(w8bR z@{lk^Y6=d1@|<Tw4=E9#{tpZI;uZ zLmyy`Ti)LQ?bYi+#ea#~9{1{)Uw80f6hG<9*kdK?)E7*>OUn{@i0^icyfJF! zLNVpPOR>{%Gi_(^YVlS9`%=uqx^mgO3es1-OT;np#xgu*)Ysl_X3t*&fm2e%?PmvF?Qt?f< z*Zlh0EYN#G!Xu zdCjIfVNEA!ykG^(ntn@17D^`DH*i09ZeQmeqD|*dJ|Lz#j^~-ACt%e@;27NV5^Ehi z=jsEkLKQOypDUuPN|c7FT= zWiX8I&=IqFhAzI09S7DXXKkZ1%l3SqIMs>Y>uad@@R&I6_@kcsg0gFa?pUwU?F_|2`K{xTRI&=LhrepaITUo80 zR@*g&+8rso*u=RlBQbW4d6ZuVY&0c7KyHjeec<}ba+yCdotK|2iXt046;&>=66$n) z{Ub+&0v1>8P1o=R-=1BJaB%WmP>L^0BUabG4LK2#Tp}IIS~Xg8S0atUq*J%dxT?4- zL9W;9+9~*Hc7(TA5k{ITjCG9_EY~n-*nW8vfr@YKYZSl*1Z7{K@3ehp=`*~`$s$bO zUA@VG{4$pf-pxU%+x7Jenb|f$S=EtR)7HVZ?72%);G5C5$C# ztV7u|fq6@#$0mMWES(PiNgbm7y=WJT2xm^d=R-aOcK9~-gBM6sLei@5Na!?c(aX{m zlpb^Ds7bYRVA*k_DX?odMYahL6>W3733y*V)_;EScR1N{XT$j4ZevSKCV%r|&g8<* zjX*3e*6W%j_i2tG%jbP@_Z8m9)oV7pYC+a(X>)x;USQ}eiOoep%`;w-hfyg>5leFu zL4`|;czzQ>ciiMQrU`s_ku-dhN7+i%}$+y*y$H1%!n{T!`6GFi&zq9@9!_ z%PE}r*4HM{`Cs5P5lHt2l-_-&@DR&mPRAyFnV1Q=UgAn8toQcA2%%5ZxY8n;ZRNGv zH-TK1O3cnQNz?XpBz!{6O7HU^-lc6(}9psDzOQ1j-30f9u$mya$>7VoAHjpfD$W}b<*FT@;FqO`pe>m zM5Z2am@&zWuDmMw7Z9UB=p4L1>cFQLi!DId_#v$@v;FYf`NX5pWB`t>yY|!~w{#Os z`?L3!xYWm>c<-h+wCPg_(}_W{r9R7qP)k53#184Z+h9taGHh>>(l&i4MdQJ@kiViD zK57}?Ev%l6V7x@XnJzNa`jv|^Ki)tq2ObUc5vDIi6e{N8_g!FDAdDG7M^+#1L6vI$ z(3Y)LnWJLKy#^Wx1+cRq8W8n;LV?SPd345(@A^_*-Bv=Kr5GS@uiZ9S7|7u*ahniH z@o%_lc}yUU1dNqsosiwvwkpwpbs|2Vpl%(!A8O^D#px<@2~kx2Uivw@snmYshC zIs|sxnUoz{`Jd;(4>YTB0)vaP_w4{ls zxWXWjliVc~Dev*&Z*yp>l`wTWyeUV5T+^sSPd$H)AVM~2H|Wel2EnNN0svkg?-I?=@w!Z8j5IQHg*q#%Q_N z2itp0tF< z#tPNVq7FJUqF$X?NDqP#upRrNFt_danLf8(Vym2KUj5rPccrQbqMl9f_h$!W6n{zx zOF5;Z>X=G8vYzi-9}Q!xOqO!g%Oc-09xK2{E{nJ8wQTPnGdbW#yiKzigM(pWj2>wt8BL!wDvBjKzlD4@w-2)-nwN z-cN=X08a4-!>Y3f*rn=6qg0sxZ8e0$mU}jYe7%R?K3=y@rzXY^AHZ+QWknt9f*u?j z10pj-Hzufi(x4XCi%z@q3wxgefmY=Q+71v-bKSx}j-5R40hRhmI%!{Cx{hjn;$;fK z_Qsr+ye_5tD(Zb-j>0_K-W?Tezj^o3_+Z7AW^tIgtVg}e?ggysYOnG(9{F1;)4-IR z1TK6uvqM|n>#NiE=d$Pvw26_YwnBi7&5ME`;CwYRt@cW^m$*!(Y98kAj6u9#F2=XB zKqrX&%bqm3+0kCfQpNnxsVtKNe9h&X>dIU(+%Q-e|43ZXOLeTM(~quQaHGp zONcGmACaqDRb%GT?{V>ewz!7JW16Odqvqg7%jf7GEVRuYr5}eDQ<_p&HRocK3i?jA z23(N<{aP|@AVr4}6{c*!2f6OV%c`*E0JlQ-YU*c@N9lew#8X-ZQ`$C9zf{%lp<`Ki-3 z;Q@IU16;EhxG4R3Im3a_*SoCxrB?1*fv^qEp=~Qs^A;!8{7uWRdDWwKff7Fvpn@b! zE?`yPE#1F*zoG_ws3V5-J;J%`l#S`+gB_ncXU_C&P^XJz#5t5)nprEgy8JIhT7$aM z3K|Fs_ZyrK%GhpyowbZNcuXBQK0|N$k|bDkrNh8)*^(!3FHNeR&EJ!NddM!5dn6ip zgYdKDJPe2Sn~$f6^nW<~nBu*nUV{pIZ2DbrQyu7QHqt-%To;^cO(#h(DNu%k9(RzN zmQKg)D&}XMiRx|?Gq@WYIw~?vzx0%{>i9VovsKJqmq1{6$HPo=-loT8nrA=0XoiCM zZ$nt`IxnX=(Z74I$sgyU5gAEV=56KiVw_afKP zIPH?ImQ!w!Z)+&y(84|vo;NWkc*ocW{Qhz zy8h5LVIu8g&Nx{ipRZn!vvy4%i4&Bw8t8!hp{l^r*X{63lfg!P-RI!i@)X3)?=#<3 zOc}QcV8cQkPR=aYB~_+MHhR)d*xtall<)HAf&CWMJdYIubY&VX7$xKY5 zVApEr*wL%+iK(jx?Nru2Gxm(pt7h^HvDYz{zc~YlAl5_{dXW7K-BUI07MlOd*5vMZ z0}+4T?=$p5H}DJAilGXUK!<_}a!x0hEW2v4&ZYmjo~`$qITgKL7}|e_X-1jZ*;8)RS|-j(3a))%K`!db0}+k&4{w{IQsz3jj2u~sQL{Y~ zpG;(~oils#Ha9A{;h0xiWUW6fcm6Ea$tC-Zob62oVn*-_!k=sj{-enmhyw)dPE-K$ zEl${jqu6Ewnr016*(VA{8+41~8yze2?7Dzv<&m{CwMp?zzxC#@Dc&-GDO;Zh*}v~% zs-NoeYkUFLdd()B&s;mUA7`p%1(50D-;nIklpV?wU4=5$@!!Dz;FA9!k9Q4O|H+9< zT+x@Px;R--QER$NdRCslHOyComLIJ+os9yCfJmV*@@nAZ<7F{j_1Q(}{d~_NRL|gp zf_#E$I3$QY)K&AbzL`kY_GHSXAM=8>noUWt1bO11e9cr;q+Ww0{J@ z7AL8RsCvs58iC!I0Tb!XLd9Ji@&w_T2I88HL;I={^H1?ITXG+nIKW%CaUHW^(t*$a z!g*btTF7Y)eYr_+bL%ZrxH3=ua7BJq7}8YgM+1!GpZKiKNuwr9gzhnvRpUE@Knu@_ zS)qMBbOQ2*_QZATAynOmkUGUe#fIcPLbVAJDDFhQmq&wDMe--YYjcb;hy4?h!y9ts zXe0FVW^Uh35ctvcfo4N!qdvmStR$1iePP{LA4s465HK4gs`+CY&*K;tP`n80qRD-B zOEdhr3pN-`D~;|rpw^eRC#-=RnBL6RM$i7!_)8~KRRJ|YrPmPy1z7aw?_K+BZ9({@ z72C?M$&k(A&5GSX(JNGRpRlUEd%<)L9{;;Y@$G3b^;l?_AYv%Ee)-h?3sSGl+{D9g50S{*s%%n#(8hhQAAZ#P3%{S^YKxHCL;5U8l{^;Q_%GKoH1@aS=mBXi0H3bS zE`0dYP&Is4Q~Y+xhP-o3h5=NtY62^Tnjm8`f^FaSwd zMDil7aY#aG!B@A$msX9RiC8EvE$?ztu$qD9n82;3*fW742f z!ipIwHVj|dkj9SmTChnmD|rZ|SRp-C5%bFmx4v;cw45btuc1n+CEA_&Cd$ELrblz~ zIhnGW%dnA!b6v%k#TT}hf`@16H0ngf;&}N76uuY__2ZVHoMf}w>VsVS1E*2Yjm3{% zwcXiqddBTb=!&*ftrbi*^$E%?V&|){&fa|Gojq%^6ZNJ`l0dYoyt;No{6mfab3yyN(WrR!opzsZ<@cLXzX_h0d@Axm7uO3N3JtAY54>L%Ej2v)hb2;Z+kzVMsR819 zX;0)*oWkZCRdO~Qtrd}#UO4;Y3Ni8v33$Q&c zrc?D3Y3f(_UtZmbB9($u$7kaI^_>Z9ockhrPmRAUW;Br=R_+_1TArPo-s>9#%FYqY7pi z-$Xcc0n?s8dp$I)-ub(i52&yQ@Rf6{LqUQ9s+=8z*0^(boi1~2i(so2jag?Gsv})~ zL&8!nuE{*>!+ej^qtc=c-W9T$X zUfKp5{-x*Wq3SVWE=99KKr_O{F8ZDi`})f|5jw=>$0#RfiP$4Tpm2bvNDm~QW;#YL zBvXFzpL<>-lAb(4_bFmuxK}7&cq(j~;$cs$eTh(ETS1dq^d@FB`jGTBw2!0he5QQ^{7UN8 zh3zI*o|8qMgO~bF#O)&^vYYKT;4XkDt?XRS@RRIz_tSPcCHD15CFnUR15+yl~H!L9=>t?hnVZ=XCzN5cQ%|ngtVD zT*E3+{-^Zsl7(2&bS26709EDWfi49mEElEYZ2YTtVdlnsw7-r@q<$FvZ$J81|2dtX zX`jqANR=p#b^)COvaG>ttjt=M<>L@Vk6(wmN7C~BJxgl+xJd||WK7B~sUjoP%Q>C> zeA!YFWtYU>IOwPY*8H2{Nb;P|s+@_MXrLp8%l!&0#%sN6$((bDT$~}OP+Z{VxI-`F z+GkHa@yYWDz5+R4fRGO|1J8)xZ&l#Mginm{8sWLHJTWit@2JY{=Es23TQiDv5lz+? zg92}FuQK_hw0xsUc5K|gJnLGX@y#Vg$RsKXgv=+x(!SDfu}OLzoMEmags-0<=O)K> zZoZYtA10@nqCCN;CDphF+JxD7%NBab;@|%=RbQZ~&sLWW0?*8dBtK@HYM#ecsiF2P z>TySi5JSq6meJ; zu9TIb`YQ07k7EBdYj-I7Or{_!F~XT`NmcoA5cO8(o1SE?aIe z1g0R^97|vnx(isiv~kgf?k3N2Xd1#kKe%;3<^wBP3JCu`(109Z4FCs|^R`&#Ejcx? z26F)a!Ph_&SGAL!Izp;nxnbLBcv|M=j_YW9h2Ga-BrdgEr|Y2``ax5HEfi=S-6h(Qb0 zDTa<)PTEGuq-T7<$f&Wm1pR^sc%=`(wYqw|nIXKK_sXR2P`vN$FjGEWB|x_QmZ@=8 zgd1*|EN32^53g*MB2uMh#qW84a}-9CAKvg;`)-+PP@cxYS^pP~$S zaSYCjGmrU(8k%CVfi$naA`6Ju<7AGOa}c8YCL_(eSHut-F&BGDWa_^W6-?$JC5e-# zOjQzaIy2)k8O|x>9!oT!Nn3<0KAt0_xf|x>8)dSYxQLa!duks-t$bDY(M!g(dI_qH zj5YJLhpU?~m_e>@fP+e8kZZM>e7xEj9W^TZI+fg(%UNJMP{d`R%Or(kvALW?_B{d8 z=gw-rc?nN55C_dE9%}r`nYBJ8o)W}*bSC^UdJ0G~c9Ck7K@n@2Dnn38$-PuFvWUqO zpo!&*%dFU>s>Pfay6Cv0ysO+f_ zTZzFqG9Pu%+`Gt>19ei9EQZQax@L=kGyfSJnG?SeCF?K-glr72&y_X? zoSF6N5+G;1i+0MHyWR*S+d2yu(RT ze`io^;ZR!+%4=2(@HDI(>RH3Yjq4B{PdS)hjSF3Su=B8ZBTz#*JA|xuGjd38i+K+W znc<(q0Y}LM^Fnhe2=au_%~?p!Q8jFX7juQVYwdh(oUVKQI)<0XbTB92`5&c#qshl2 z=eXJ4BFX~Rx5~+TtZho432OsA+>eHVm1oNJ7u|IU4ZXD_$7)2jT_Z6!v;zUvD*CP8 z!Q|vKkw4y$0Wo8npTz$X_%fb_ue%|{d`@d6mHGG=D%YB|c8UK1c_HoJ=%Fdz4im(h z<0xJiYXHSnb=K+GcQ0a?`@MVz*~BbUtN@p4gvLPVGX~d5FBFjZ`^S|r92wHJ;P7cg z57GJJuS?ZDrMGg`uI&Bl|0b3Y9gYTwb@{C4Ij2(tKF%v4H(2qr)Q_OL9$5R*f2{8)+MDj!mZ70rb=LxBd>0FXOq2Ukzn zU-cquD$&v+$y&t`>DVWnx?!I?>__yW<)}S(wJ4ynqu+l(d=2J<$pwwJoB73X4H9TI ze+4~~@C-G%Xh>SZ<{Q{Y&RKhEd;g|5Zj{?R)TGz*u(&;V{5E@})xqJPIek879Y_oV z_ZTDJukySt3oD!t zuhpWF>vA`4s9n?f-HH|w;MctPU}X}c#kL0@p60k=y9UMIm*zT72&Eu?bgR)UPE};s zWJ!jNRy8YCk)=2A5@}h+th|JW-XdUuo4)-Mq59H&HfHKkEImEpkHY0N4u6{B`TcZj z&__|>wHY)~K{k)w>Srv>Y{%Vz>h3C{@dhjsF%Hw4 zY(<;*r(oFd-T;ma-b0oFgu87^!)^=mjq8J4*$r)0a_Q5#j8i+U(G%P8vSWaU!={Ot zIWsK=eBLW|S?3Npnpi%@ne5UyXuSe4sjC$?(LAiv=YXtRQlBt3NK|^5OB~M2lhmWa2 z?UwJudP0AE`R#rq`1mtthHV4nhO$gUr+^-6IHu@Zxn{2+1n&NQg@Expp5}DYosAXGoyv51l9eu%_32P8^npZ)O|LLK@S?rn z>&vcMc<8=zd6N>Z2Hs-QrzUjAc=4i;KrNgy))v?UskKd1atc{gBe*P#;gW`xI7`!P zjOMDK{>=)NO8>1kRvWymeiv8reYS4of{oP`)oocM*UNlE{w1_qH0)3!sA?uSn zk|X33fo48$-JI?bZ|3slg4gUn>r$eu#D6$CaiXl*Lx3JA)2oth;mkLfGthbTPB-URC>4_CQe#=JI%)W z_}W%Gy0?ClbiB=ycU*_wpNk?yaQ#pBSx|J*(RGDqwOO+qu)p-~<#acAt>?L7KsxeQ z%%JWZe7X&7&`B;Ovmjl5HZ8DB>8giUjmRTrpZEPN_VM)1jIy)~Le3-N0R9@>s8oy zk4}M~Fb`~psNeG_aw2|$AJmRL{hU3s_$CL%xMHlhMw>&0DmllSTSD}FEMm!II-X3T zzZPD05Yn^gx2|b`%%g!Ris(~(Xk%y7Xs_%mXyz+=Ohafd{mA52QNsB<-PShcs#lwn zy?7Z-4m<-qzwor0zRS!Le<6Uc1@p`v=@drfH{q~f0q1vlR;Rw#{mWJW+XFJ{H<^u0 zLJ#klVQQv`-M5G)r!Jmg*6^1u>ePG#Yc3#Gv=vHWn=KeeDGP< z)QUx5*f2@bFN48w%c>;`Jmo*t?3M37p(+Yai@2cPfI^IxL#w6z)Y_vk#-CIXzvwVp z`5YgJ?-i{K2%S5I1A7MLQ6F{?is)*%=`74z|DmCjkf-3p z+`F#=XwF91Nh(>jslyzr>5w%uClia0-zj4MXop>@ z`tDhERx~XlIRdK+{|%>j1bv-!V*?H~Smp{nJ8gd{^}FkUs(|73ivhU^i45_iY_mfi z!j_UJ$U*;ChArO z^7Vdw6Q&X%3_FoaDap+%nn`~w=Vb#xmn(5*v!Qw_6+C_wwN%FRjrtZNrT=Ftg>7m) zscO<&Hn)8EJ7?6(Ty*!O*fWxZ^?`so-T+0^ZsPRW` z+66YUCMC(zOitj_Lj)rvas^5|FaV3N<0{nu7F>Por#{3D{4MfW&65xZ%%}&br2AQA zLmNdf1Powh@yU+#e;FM+0S0D-K7y;6OykpIMg@b0_EhbKtv_9SeEP)UX|Z#~ULWG& z+Iib)=51krB#*9_6y|0mc%S8DiKY|WCygT<@2grXT1WZ?Uvj)*KNfeK*ut}$=;95D zb-s`5|55jrQE@ffx-b&l13`lmT!Xs>3m)9v-Q6uX3GObz-5Ylg?h@P^ZJ>d^&kxzera6o0q~#kQyvq0NT7 zD*j?IXcN!iXOiuv-EwW)GsrWD!zEmbTKVZHcF!!s(2<61+bQpn#KHXKZodwBvg@@^q+A z8+jt!*mBn;t%r0|qmhN>CdP3tZoyJzvdZz~vb-~#X+X6aQKp%)Cn#`E--qq6U#qZO zR(e?WuF;Q0?U5F`sEQTV>l)l#+&KJfJ-sjOLe~v3AhZ)fUNi%Ia~(>nq=-p_C8cb%higX2NJ< zXcSw8Ybu5VYw?YPbox&CLp$E#qge;y*$|-neVippkz4z6bXTM=%EsN(hcMbg=hP@W zY`(o1t%&p0M9bMvlN<6OWxhw8vgIUs3PBXXLpPfU;B4?c+$-R7Rb#Y2_P`-^_zEwy zpJg}o;>Y+i#wm&6ubI&bjr#1mMGQr`88(MuiM}xPFkD=fc!g|Q2OWK01zK=zp)89M zN5*N-14#A4)w@j_t$;{Yt##{VyzhobcxK*gt13nF8O(9164cTPTin#Oz8fx%~UO9tyq$2IXgczln z2qHRNc%=cEO#13n?`uiv=+)QgY+`OcGslbr%eXM?oG$&DU*P!KehKD|#_P??{hjja;RG#e`T z>QKCpR;bymV6Dzzf48^p*J6b3o-t)})n3?}C#q;@91dv0 z-=$S_s&C7cXROlOnO;uTB=iyd-J!!S*nd<5x1u-co%X%Ls6*qd{}YnA6Mx>)bP6Z9 z&1`VdVDT*4U|zT`@(YKmcMGio;~#BwH7lmH|#z z6>el*!~JVRsyk0z%Qn@t6`T_U=+Q47Q7|mXv7yk5 zOK)-20}cxHKWWtZgK8^5Np_4qqWxcKdVZc50jk!!^YfMZYM@Wqsjw%WG{#tHUUu&Nf40(1%$n7Vw-DTgtmAAa-f@kHJx6EV>V+_PU0bmZ(il4J$%S z{gT(e9VGK(!d{DYUL_wHcaw=n78WVdC1o%;T(TYS)6*Uywh3bh4x8kLyE%aPM*bbP zIEk2CA`S~NO8O(pml82ne-1`YTh-=>$RE*CgC|4OVba&)=e|Ln9}|j*lLER`jb%ec zrCZv7)10h0{rpE#hytt#&$oS!G#}>0!T}#SvOO`97QXlLN-FxqoD(jrXUNkCTN2(- z+{d!e+3RPkGB_wKc`vyK+#I%yyh&5v?1XlPMRqLmoa%RJpY!P)4}>2LrYoyYZ*<2I zSlj&YHL|3N=HqXvIs$mgruyfQ8i&gF3|aY}gfLY6&d1aaji!scV{kX0C&Bk8hEW6k z9LxKT;7EIC2J9V}efg}!keXBD;R0@)9xq0n807|Y{;4o-T{9C^)ht||CEe6trrwo<}6G=4oy-c48eQ9xlGvT66oMxnW)@5Vh`#OqN zZ%K!7jQj=09S9@MGGE8ftY&a?{kWce<8u7>A7J!9Y8A~4LQ|mV zrsn#uLe5tXLni(Ve}+SgtLhH*(T7m;AQ;+T_66*yGNlso(x;Zb6mTWepXkS*`kRH% z94+|a0}BXxz}rlyGu=&-A>^<1QTT(OICLZO^kN;abcSGKl(blO=$k?dypfi&$*V13 zb+OAu)tJ`M*^+QPktLRBQw30dpoT{l+^Bwc`oveV3|y>$N|#^%9*H1y${F4*8KUju z=b$FHo1A^i6o=`0_?o-^O~pC{RP=+nxVR%_nwut=u4>y~F~4K9lj!|68z9^OPBDme z8WY7Q8guE_?hFM7As_oXGaH2kzPlhrHaszPB7AKnd99_6aeXe)TqIqL%;OI|3aLEo zv<`$0c(fz}}SzB1O&nwrIeU(Y|@zFXU*A*}P zJ~eR)T>N-WZUK#q`-$aMq++rVfATxHR+j8DG=yu@#cnjo7v6v5qR-*!{s6I zfow?h5tl%nl0wO0*7PB|#nPwLeEW9oI3i-#edB6O?({jk)bn$eFZ8;YCK{U`u6vhh z(jVSQ=`SV55AhMm=JFkp-P^~( z(FflnSHGq*krl~g2+KBOs3fK7TUILS;^()b$x^7aYQ?OjwQ@i&@Tv}1x`4&$bZLs2 zvXtHV*K!vyn&Jf+KIMQ-lVhZXdJf*O_DkA#L$49FVhnvu~j1feF*p(aELpo0trS%n)zkn!?@hkW4|+ z%ZA-aK#4;yacT-jsp&q1ud4rC{66SSUZ!rH8cFBdnaj{sY?FXe3YlGQU#=3{5ky?C zNG4ZZ`UFR)li_?^3L6*apzD&|aaxlKaKWa&VT&C0pprWbN+4Ryh-t&$gQb52;tv9z>pG4^zsasa=|;6?co?Z~8m9DiTC$MCkfb*mbaMjv^=~2l z=x`Af*{snVV&?VWmYz%rtuE^5Yp^F6;ygW}zn*KF z2#5M>*fx9C&;S9lq#(C7=}(|5+^rq=Yi5#4aLo-z>)%P6JP5K%@(X^Xu)&}nm$q~s zofY!rH@~pnWnVJWJ@U%pi#EjELwziYpT&}+@%EYBH}k@nn+) zn?aK(=|E;YUO7;#!X#P_6%1QMHou-;4D=u7KWiP(!>aB9BEc)Ub1e0SasyQhL?LRO zv7*D5^C`WC{IFFn5eQ)dU8{2RgvF@nW;yGAKaeMrtJ0;hE}jwcX)~ z#_yQk0XsBYZMD}M#ATv_tCF@f>8(>xom&2MV2J>F98A%}dXn>`3~6hCtpRrP=g z5_vEx!g$hqWPS#op3NB~gD@0RcM%lu*qe3K`1u9XUhWNNXD`VWifE&t_pC?mlEy#5 zW3`sVYFDKwU$X2HHpSTNe6H3RU&f3-$`f$uRs_%S_g)E7U>!(IfrLv3tn^6DwqrpO~Qzo1W=;>=ljtGA#%a?Paa>aExp??#|tzy?#znuYSSxS^%yUN&n?yDAqj|{&J>#_I+4I8`C;jxyjIN) z=(K?X8ouH-9x^X!dFknOT1F_aPap6JiX%OA{rW)hduYUMZ4<5LN3ztO8 zd~^4hIX?UownRkjcI7C5vfwfaw_76~cYUOno)wf(yoi?{#F`$%WYl|5&L6_3gjCA9 z0^PJ36j)|cy!xJoDlPe|4~qJ`P;jsF{rLd#HZ9fYlceit*;p+ z?*pDgg4K3mKG0f5dd#rkgB*L$nc^RiP`MYkGlU86qm&Jd4oFl7#&&7rF34~| zsT&G4%+of{ixmV$Ut?xQl2?OabwNJMC?o#em&h(vgFUj~&sb~Fet`mak0mVMBddual{4gQP)m#9m!a@qr>(_cGt|>uEt9rv@ zz84>;?@`AX-4HcS!U9gXO||sIi{rAu6WAZIpZP6wEbBm$zE`JKrJ_6~W-o|c&tBv5 z(=U;4#Qi5J5ma9(D$OoG$%KVwjv3KMYZXETJO$Dy$W#$a`^KpV(f4mb^NioC9;Fkb z+q$$ka!a>|eRVgLpT#ZK#~x{^1ERKgalxww1Fa%MD#p;A2QYWS_}eQ- zyt|R#nLi@=K3NquU->v@93m_yoE@v58`IatTGWPAtWsyNv?M@v$CeB*lh`42HzKUO z=>MKWKtOPYtlHN1d*k8gw3RF`lzssF-Snp|tX#DE>aF1xYZ53$GI~~!zHDTR zDeMxQ=`A|R7%+sH5vG|H?W6tnCEbqN5?|c?raY!U?wRn6q=CwBWeOb9$e(FilC$}F zq~}Nsn2|?sOd*$JQ-+15>9MDEU4C($jL^mHae48lO)F$$9oL28OU!3|nWl&=yvQvz zf}5U=_kBtbo)=|4y7!pn6mpG9ifK7a_c8=JBEnBAr{Mb`>#~zcbLqAgBl&b5Y2v)6 z^SY1no0HJ#Mi5}LpbhK)6&4HC{5!PoC$UY@`64!v+OlCphsx3&gJE44tpr5k<4NkO zWVZnJ^TO$p{kk#arA97(3qj8uM@st5k!FVm!zcf#SQxVxX$05kCi~hUZ}(;E#i6kH zX?v4h@SY6SOGrO?aM%gj8#8e)dZsH|lT;XWCMyb^BTM|b|Gp)Rk9Q*^UH!D?@l&bxO^Zf%wrX(&=T60v)W6-FPv@k!_Jv*ZSaUaZys& zr|faRC7$gm4ynoXjUt<@$e}=r;~QP(ta}ix9y8lb64;W{G#jakQ$BCe1%!=Fc=qbf z=sEsjogJkzqzh6n&@!a(@WTdWOfUyO=Ua$|f#NFsoO>ODELhMM(cO_oN2$Zkq&}c@ z&lUxb*7B%=DXbuesBMe2DSo2$s!^M`MQ1Ba|5bLEH1hQ&LFl$dhUhC9CgQuk_%V!~ z*6`lq34tGQ<~u&^&7xATHt{i%g^2(&J#^0%^ziSd^YvQv+H8H*h6K$546QrJ2QM_W z7@EUzmc;xBwHObC_g^S2F%*KSG1vzRdhGKDHY*%gqL&k$wD@vi_}@FOQDXn`0UXTy zfUnG(#?7Cy8aba6!|vg~eT0Xy*yy4Df%Qza5qj(^r*slma6bqjI+t4Yo4-Gu-))hT z%q7D#MO~+oES~l~n#JoZRkrw3wmw~KL1ya1vjsKNi=%7`7JoB@{Pc6y^>-W>{RlhS zvwlnjA}o_Jh8SVTd84t~VdUNM!hZG~;QO1yDD!K~ zYj2@&)Lhw@9n4NUCk*xe2EkS!y2er%(}RuvgF<5@^TRsAN$a3q3AOV?=%Eny6e!Cp zuUxBvaEIl6wI&7|&&5E>j&UCD=RG(@KPx;J6BIY4M!rcc*V+$3_a7P!m1nkdFS2(1 zuMr*1*;X^p1}$m??KX$uPhAJrcM)mQJcfIku~om9)`6I+%%CyE-;szT1S63#Ls(7YTDnd5a zUf{<hi&*Z&|62VT&bMq#adpWuVnXhGxB9rv`E{S@SoZ-Zq%kVrEPr|H8HKK}iuanm5Qa#uHP z$m0iRm&@AIFplrk9~OyeFAw6~j^BN5KkceJkrJP`H;A6Fx*QLW3vg6?9kCklK93t> z>N_}OWHjwY`h6ZrUUF=a;vnYsX$2F1p}G9CyqP{>p0{y2Dfw$s{Ypn=p+ivRgYs;F9;!1=};D4;%3vOc1ckf|&6$#^$8!vJ6(WSi~rO zGxvFe^XHF9?8a^`r@U?8TTgY_Xc6@*Nb#1Uu8R_@}6K9VaF= z8qS%Mh~2@sKJ|-ET*}WT%X3r#f!pT;fR+5~XIYJm8%uh8loKj;$6J5d>S5f{NzD{u z6_MejLj151anTD(DB`=Va~c=QJu2>mIAX)xD(CQ#?4?9N1Rles*g9`4it;RMtftImLm2`FZ`#;{~vf!emSq3Vmye|0p<1O|WdhbX z=9)JK YU(4~Ah{9EMdF1EjK^hUSF4y4O-AT**Q5c(-{v5ohx_Ui0h(u|M z?KRQx&j*ahJI+q7fmRNd><*XT(MG!I|Axa5Mw>cA zi9h!Bo+$N5)mYfvBr9x7D=e574vL4lJMPA{|J+rmgo;@S!q`J_RtmyMG8K*S$Bp<4s9IFa$olyd@)p056G1Fa#4by36YIM`tpe;y2$vpJi`bLP}+)usZ@>UE5%gX)n8M#6s4pO6XYWrka zoIz73tshJ`>Zb`J`7(7J)@xY1`W1f#*AhKdaOs!Z!RPm{r6u+DrRzGsc{}_Z%JE8` zsEY;}G<>6z=uYu=7`3S@z3M`&V@4I0fF4*S_vr)%1&&(gL6fm+V~UXCc-WX6DC(Ks z&f5tdDP1j`AtDgnF0QQuxbKDHV|Bz74~uKwxp9^DnyKZLj$IHg6UR-W*2a3@`8^PW zpUEb#)MBmJTqkU%C38_?&2E>XHg;=`xDYxp2=aQ@#belgC#!R51dV=gcy=6x9i6ITwe;qeCWy$t7F`H+`NPSvxwwd_s3$LD1q!qzCH=3fu1s!1! zq#M!8ngKW1&iFvsY+X^DRDtII{U;GJ9Bd6tCh&|hH+x>h8{Wdi1kwt^aTJ0biu;k3 z*f`Dq^ZuR>kuNMB<t-o$0+$zn_Dtb1%CAok}`v zdvH17c{twin+)2EGdd!`z34O%*zO43o2%6=39H4Xg7%Z_?5FevuA(P>MhXwl>~7+J zmC?Mxzc*GcBqPnUTC=@zu6AbnG+;5FIG0?$zW8z;g%Ra9g4{^p#I6_e`-%=zZpkpi zqaf5lly1H}37}@Xq;4eRSdd_hCIt3Nx{?;d6lAE7Qr0J|MW*URHdW?5JsSE%bz>-S zPE{y$*Yjba>-FB$i-vnY#eXc3MQvTtJ?A^!AJ!s9$8lV=n)Oi;twZ8ZKV|YQ>Ll5Z zX!WFrW~UTp&KFF`3KHjrz64_)Sh_lT2P`t1c-nK2N~RY2$-Hc0f2q1 z?=9mqX)45YPc#N8HSZLR*mQrq6o12mRSz+&E{=|IdiFin1%8SrxDjZr=Vw>P%l}zA z(y*6d9c&-v^C#KEaDh?n=r|xhZ%KjS5^vFR4=>h4x1pEICONvrgzwf!9{65qjHoM= zW_uMtQPjAK&@@DkxOd0q;i;AQA~+9XYP`1XRvT*D79Z~BRDK?sILdVF0mMf45(^aa zr_DPU=Wl#W@g4u3h`n%I!c7YP^;FGyKYVgx74+#})WcHz3Y0k90OLHjEYF@pw0gPF z%Zt@Pjg|EIC!Ez5G+y}{Sh20)#EX0*FgBh&ZV%X5LEw3UGaL;n7WFGl22W~AS2%cy zl~glM5tBeLMP@XPQ5o@_iU(V`0(8&Z>mrf5lmm ztcX(O-(h+B8$Yz1l!J)Xs{xImhry+l8Udb982_+UL_&WHpz*J*2+n6&$gwbgL*KwI zZG5in>G7wTP@yg%LfxN$-q9iEl$TGT-4AhPcAp8~wYqS~69;YKU34}@=K|YmQlj?M zURF`6jStE>cTlK(hUU=mqjjN3q8u+Iw5L`U+*QO6=YPQ)Qv{-;{L*kCAn>kg2GP}d zgGB*N@mGg6h;-2Y*{Z$xl8>rTz8bORG;`+IkIgy{?M$&**;}P4lk4U(i`(mgg&yp7U|77QNDj?OH9O25ZA;k%KK2z9~I2Y z%NroQClp%9RaJq9qL+30IQFti_0?FV)pPpz2~LT=MS`m%A$V+VStCd6xzM1yQ!pyAh(Bge-^x2zqf!)ao$hl16c0?JAwsA zqHhzT|4)ek&&z5=_7*7PzUkKs(wb_;t#;O=$>Fcce$DD9DtWiUiWq!;{YgNG(aatw)2+j(M+qe#QIg&UX6Ndf?m>e~ z_ei$-5yQPv>-Gw@w=tqAP3-Q^KvA3kchqzon_9rRCbM9iWCw zNej-D8j3i+2LVF~Rbqm(M7bEQ%!=!oUqsgQ>I$d5cj=ZyfCtd5 zaqhm*JMvK9ybk=z1s=(`K6X+Tq*7=SS5!>sQ3SbyO|ib!Yu4X?w!&Y6=dvrzmhMI5 zwzav+lqL%Nm6x_4r!X{e=1>>10kAt8Ht2f=`=qtMEHth_4tmugVPMEqK;zX(0Aq>E zz|y#OD?Azj^0&A7414yw%>=m$ z-&AGR%K_4(XMeV+68b*gQ}CF+j#rRQVJJK675Zz+vuU>t4u~m64mHY;gN530MmP{Y zfHeAYamw?W`UIjgk_A|(bvCgb$Ycd}kdGJhx7Rd-X{OHXsv6k9vlbbk%BIo@?|%;| zjMTkA;$sy@5Lkdg@Zmf_xo+|XmTQHi?)a7P!aaKueF~?bwU#QgA%P@|AyiNOCeN*r(|Xe|h|IiY8DOcvDfL)>raV{?r zMVizM^XJIBZ@%y-lf!vHUM)1KerF!zG0C*=v$F|}cVZvHVmatOMo3BPq@myi{gJ;r zGtT>1ycK=Zq1j<*lW{HUl=)8u{I!Jn@=?k7)yCE5|cc90pH;msCUs+4z7eXPd`MXWBmRueLc^$L6NUhHZc z4pM#)$-%dQRu9;;dM;PAT5>_5I;qZv0a6GVL3ab6H#NpFUSnM4phqxc+}vxDR8F6^6@E|YSDfA(G`vPSRP2nYxhY;IkFF?g35b23sk4If`U~o66N=w* zmM}!%rIvQnU-|)WAB|SP_(G$?OxiaqVjQ_uO}siG9;#^Y>O>fI0%zx6FhHRzg6i-2 zCp7Zz9UJdz3s@a+`?7>a++I{quTR>57lr;C-*Q4t@gk-S=9jDU96xpFIkh7BL-lSN zgz>F&=?V?*^(%>(T{d0rxU9kfov{CXE;CW$j!j{=JZ>EiTxY zJ95l0a6_Dq7u~x4Mjf0kW6L?*JM7-0cDus*4M*k&EK|1CAx@Ga2d-AC>c!8YqJ)^t zh^Ug$VkhBvhR4<;a1);Ew`rT{O(*o$35RT(KIo{shc<%-tG@e-X!mFACrXnyvTW`^ z;yAoFnF(pT32C$j1bW5`U%)P zV!K$*W#2v>f&N>(#@=w{sq4_#zB2Hw4%+NDTJd0J2A%^aeEakJ z!S3o7`;$#{aFxM&=jpB~R($ecvSFoXIe0Xa?6cDD=G_L>N6qI#h?m!LPrZ(u zI;V{yM@F_JK1hps9#G5*LNDS$IPGQ!l=C1AU5?2m2{M)E9HANdEtr@sxCrR5&=|%E z=2ezK3IDdwvWN(snp%5h+IQ+e-ok}2N~3hTE`RmZLOgWWg`KBtp6;O^KsN?Pl!gUS zSO+8bYWJJ>neQIU3mm3Kl|Kn}K^E-ie8E%Od!Uu>$19yPluolY-R;O4$9sVstiQ~D zyI=6wVCG84ck-6>A+f@u0-%$Myz(kH_&6QB2yvPt$~KZ655cYTjb+v|x3bd)uiTFL z@%OY46ljNi!zZY&+0%1NEVhsew3?rarJ()k8<|O&*q`9MHJI9xVnX8IDzF%Buf6F|LzSR9GbxI)MK1a63??$$Ow>}5?^&JO(5quALz8Hc} zEbMr(^m=qVh8&=aw~$zp^D1XGuLz0=8FnR4g&R5)Ltk$FP${|SM~R}+lG2AkgzhT? zwAJm2aNB0_9mzTGOP+b*SBt;9W62sBMtBGd-m-pr%WKe?Q*YibtlSVHILF~LbLjAA ziED34+To-=5tD*&YGt!r0eoV{ZO5l72K=;aW^7tj`rTN`K^}x;yI2 zZ#^8j429d4D}!fx*ClAb+ENnR4x89RRQ28=PqKSa`bGVBtxj=<9Ua>mam@%|k^ypY z;Z$SqfAu}?DOJl>{AYvEKMSINWDgv)uCK60tcRTqp-a%+deDeoy}<3o$c1`sn=qc@ zBp!@=AVAQbIZoAu#dPct-p{LqQ1y^n^4`L%TeV(;!;r4!!5Bzt$@U{lTPsMGXFy4% zFt6?!+Da-zz1^09WON2qgt+iaBsGjj{}>X(DY3euy8}hnnYG&8D-6t@gDvSu_wvVV z-`JP_hTS&p)6Yjpig^t{iNaq5B4~lR>qP;*`L6@}cj%n!1FcPmknnwAx4%tKb93r6%cz@qI&6th%}0|wo@l~@O7s0+`U}DcTY)O< z)RK}Z4Eu&kcajX1Lx>Gc^)N;F9IP}mo%3AjazIQyL%?vJO*QM_St0&O1sy{vLgl6~ zk4W~-Q-Zv~w}t~EaQnj&LdcHCT^_*g^ir@bfX6(+8rK@?Sz4G%Dog3;r{Ksc0`h{u zx8$d}4-Ue5DGS9z-y7soX0GCu&O!!eHOuAl^Rh*6Nha~GB*P; zgmcegGbLMe(tr-AascJy1165C>YY@3PVFwYyuHaa@a`#^!J2Vl6D-$I>0Y;&YYK%x zTr_^?#~fk#bEJRd&u{##Z_Nv1psc?odcV2yaLc?FCZKKlz9m&txrQ0EiXa)*%5$cM zmm>KhWj+G3H+3UH4Vp`~Lq%PBz-J63Ohz1|lFlQivozvE-xW#wk@>9|-aNb{bfE_d z=Li~g>h6`qcYKu}_Lsdv#&JvOR|pczp2rC^xL3#E^|opkZRpoQK0H(hQR=IsZXC~w z6lB|`Q~|Yon4V5pKkeQ^D(qQTc?@9)*rMbdnOSbk{>3QorkK#R#g>FL3EbCi^3`q< z#5&+W^8jPFHE$w!oh!(F?`NmcV@CquTD0_ zmM|zA&M0grF9x%7)H*eH0nYL`FR!R_Rw_voNq$^bb^*}3LG|C1&>aWR$8yk^Dls$- z6t#tjw=$Za)(Yq$_|8WT=Tqhy+%>)ztNEq&`!E;$UIqk2)i@W1+kfgF@#eSF@?3qRZdhh;*a{N)k2uJw$0Vc?5M9U_Gm z^%@x6MUMdY1$shr*acV|d;QD&lkZqnzM(_CRg`(u_v-^6XYP+Af0?C4jvY{Cv8%CQ3u%hF;r^oa3?%^>Z^ySqRb+9n zm)93I)aaV&D(s-~X?gni-veL7lT?!6&53aq_sE8yVcf?<0fiI5Qx-LBMoy9*%-dt? zW>B^Fs2zRxEiJisHV~ALP1{J^-uLwJJxpY~ZD+SIm$rdTDZw+$ASV&)TNQLf z;z2O(K^9p4n(FagGSEufoZ80{y-ePetn(Yu>tTs$fNs(gf5*bTP0Q;h-hF)K@3>zC zzo2_IA=t0uTm={wv&jjO1Xm-%kB5M}>`h8H6Ou%xfUgU4-O4sdc!Exns2a%VlSqAc zw*JMj9gVX-Hkxf{pCP#QECxY0uO6~Y)r$?I42eIx-F*su6JIV$X{7M3MD-1gj#;a> zY1onfhdw-9PLo5=Z!vbpcNY(R;hBkghqiS1I@CA2IZW|(5P)R6Pfqwq{*|WBy+$>y z%O?d}^ds=L@7K%I(iN{mB^l zs@wfbP_4dNnv|V2LN_sE2J6KEPwPkPy*jxW@^=<&Q;?6?gQZwfkAVlWx_R3Uq6Fy+ zDurfFhOO&4)_x|R=W1x#JEG8gKn(f-qk+A}Z@C-Z7u*5g=a zz*zX0d|O=ZjCPRqfUBxGz|Sq6udlVU&)8v%EKZ+D&QRRzSmycmpg)8-`uq}WD!Z*_ z+yj06)kPWmxY&5|veJ7!1$sS8^|yb2d3jvpucjY7`jpIYafQkWwHZ)D(@B>)So(UC z+ud4@E<~e!=g{-Kv71@rcdFxgr{5mIs)AHj5Bwa`0cw? z+8+>Fd9R_}vPHwy@)*E?q3AWSelMWjASK`y!l=PgFR>Mf!9%&-zW~*vbH#4(NJ^?> z@&^y0{)GquVNUjIQ+%Ygl7hwgt7;vd(Glp|0#Vl{@Rf*N8Q|Q(HQn8IH3YvFT)wwr zG4FKcU9|8o{mS3vO(;fG4B1l^)4YRWOilF*0>dG1ckRSrae2Ccy^Z9?$*}C4fNJ`^ z>8GlbJij)B`>x)ILg9_Yg{4itmswD?(2bltY9I(H=V`$q>81EmAhvm8tNKay@QXtu zcRI(`o5tCtoTDaWDxiW^!2mMlhjCHMBFtqXRgOS*7O}Xua%g9{|KVQQC6wyFRt0Z= z=|jOIpXr~o$FOBkploVx#bWrHA(9+R56XrAa*v<6Orvnez++*7DL`Lw>sW0tcd6>_=r!Dn#$U9Q^FMCF zC7<|xS73p{Qw{YKx|;1C*$e8wo8S#b^a#P|!)R3FUqk&%qV<s? z|1;RhFw3C-H;Vtp<@(Rs-uxc_^Wpy|i~orz{U3F|N$vl$?*F63e`5mw$9uo&Qjfo9G7<`3s>KY0txVY1prDYcB9#=R(2xm{--^&=q`!Q7+mrqM zBL01Xi?{bJ6co~~%okBr&(&fL6i3ws0-?iom&;8*Q|`zgWE3&%6rZp{Va8|)DXx{2 zit2y=SS@GThAscDuIj2qEX7#xLA3lsI`ZnzVm`~^0`gd$FIdHSCc$JXs>WnUdrdwb zpiLi=m+6fGNfPC?%(ocESuS0d&+(TK3<*g8C(OQ9zOSZ!VnaJ#R$e&cPq=4(F`szJ zrC(>7fEb|zAL@!qE~xW7Bm_wC{Nm!&W_Z5#@woQ!kVCP@u^zwP1Kt%ZENB;$M}hp8 z8qKY>dXBYE+AmlmO`|YZgCgCbxN^SCmNRKT$Vg$N)rWs44_1Qf-G8B~{t6^v=#yQc z35sgx%c!h0J$Ze$5N<=UssCc!c96Ix=|`DM&*WePOUjIVtky20M2&J9yu+l!leE1A zlQlf)tbAIMFRfclZ0EBX%MW`4*Uho` zMPuFrXjks8>T?jD5OsYUo;Wp0raO-<9=A;8VZz>*s=}Ul=I*>0C9k$Gd!MNvQDGz3 zcIHTMDrSImy}QY_6F0eflVQt@uCR5wLu$CNiQfbY4UwJa7g)+!CUT z^O&Gg$^a62zx8pHD9e`yA^yp(YC4z8y<6y0CLTjLR@+VCseXVPbe5heqCG`Us?($5 znU;7CKmPn4Z42O%h^+cv@$)tDZ5kP}@4)r>3#NzuG$*N8WmOn<@2_E1MrTLs1M81z6l5#>+2w0vR`+UcY*x#hp4GGN`lP?*7X?S=tEX{G0 z3DXAYC(GYsMWk7C_EW-Ee)mgj(rF4oXoA9$mMQ-f@$1^Az33=kMc@fE*y&zn^XCYr zELNl7tA@4ae@3&!hQ`R)=|FHhmBiQ!KpHT9=Q)ZM-{r?u`@NN5{C7y0f7+KoM2`+W zo>Kw%3MUp1Hq@Uadh#C51k{LEE85$+*cwYQ=N^|*3j}y9^!F8)>q3(?Skf!06eybz z5p}7i9Mv-wgm9J$q7g>0_vo39B^eLu+4uFzLBs_PKEtO8i+{J zvn(~e2c=UcCnH`gI1B=V`N@!7yjYMUz2(St@tkCkY0PZ;JV~7C*oNqUw`0-v$RE;{ zT6I~jS$DlA1cJhyvp^;O;fBn?dhOr0zZpLqq8ywFJ8V9wi92{X^&G~_>kuPlnuXrj zwG+&H`7lVuq3x8>ZJ3F~eLc_&-Ilen&z-IJ?oXEZ5q5bwE~vpfzduFKe;RmuJeUI* zBLX66_2|hS)ulf_`)VD|v9bVPFs$o{ zkz8#;r0xCZ;;|4z;A(22#r$c_q1??bhv-is?U7@$;J{IAI*k(7xC>=!CkpP3E!_fl z%&+?DM0@cGGY}njO<9Mz!ddKb(34cj#xIjP%|dEwEm^6FW?%1iYmei&R;r zjv+iY7XNEfm69*GzQC47N+I+|w=YQ3S<-nl5D6eFtvY;Q-Pg~(pZdKqZIWu1yDu~@ znbtnPggerClWX=^<5n7AZURiNvDYUDi;}I`wRT$t9-6ROk5?%~EYCl-CU#&{G>P&o zIZcVqy2z8@-oB@i?>BNWc*QC3<#`~H6aBUAK8JVeFKGD^#}F)4|3LO#+lh5gJmIOM zhaMYGadnl~esJgyadfqfjxx6kJzjcC5jCp|ZxWV_FZJN0KgaVZ8iICwwpwk!LQ6_6 zfpFF_-Effy+K5G>x@?&uo5?%p?2~I{&(X};y-|@goc?#iClhATUt@n~R0~#@&;pNE zD=bJxc>-vlrtLT&0>Tl z^ljJXtGB#_pGSG_(88plAgo#>%&Ay~UA?vtRE^=-tDM3>X1sc2D}XP_V$V_F_h8Iv zv~#EEO4_Quk7D}Wl<1%X8DD)-vbA^ca2+vBs?jFntnP2CJ{3<{kO#1C8A*&riZ1(o z8aoj*uLeTY`F;(ByhZT#+`Vy;<%or>vj!@p0HjcDM*LD2gt&b+ZX-QUWDTs0_~1$y zbFXGUS=i;Y+%2ROPOZ(nd0dNrl}OK5nRL^{6I+pF*=Y~CEP9t<&6Q6}?0L01RPg#5 zUCC|1aS1jDzDKe#V*-^7s+=&lwHP1vo-QfqGnFkzxw)1s{1`nEWwJEfQn8L~W_Eg0 zzJhLlSf?4YB2b=X3?`2bX%cf(40D##ut=7Fh9M|kQgq1lmD0TQcAJvmU$xg4cAq7qu>MzDUl|oguyxym5AKi*1b252?gRwg5t7_G!Pd-;8C!gSNuY#j@x;k~r z-u{iEzm5uHbX+?K)Z6_Uu$tnbg*1?_UFPNOjhx1JG=hh`#l=Y};CAZ4@n%<+Q*k+? z-&-rE5jiSZw?TVOD%3^!Y1bdV(+NSVwN%WItu(n?&p&EXM|}=jbhQqFn57v~Q+RM} z9Xs^@K2sRKe802pV>!7(Zf;ei-Mz5q&?<7bQ`dWl{5Xvge2R-V;TmOhu+}qhi!#f{ zfA6zE9o&@{t~Qi?@B@?#vyhHa?zooyb|}t^;U8aGy5*Jyr*q_D?F19=Fvm-M*kaFl znfV$6cKr2RqL1|sPE|XN)-;g8{pIuFR)DGj3z$4;-KAo?N|N~JRJJ$FoK}{5D7dQN zD<#nJ+Ysq9a;}L?GZEU-FjUc1f3v22kq0)dpm#1C)nATt{A$&6?RFacdFJfjR8W^{ zM_-Wp-%OAUYpGPwnY{ctQ___~sP4sUIWlWbGHe&8E|gHOPJSCFI!kM+(QJ9<}*N z^Aw!`e*aG&qS10xy(g{k7%>Aly6OTxEd*OX8qw?fpFW}+A1?qPEd>Ec@V4gw0QCGE z44`s&!vF3cBCG?13rmuVn;il_+&?=$JP80CB-y#xIeDppoBN03OF$A}XJ=()XA|H! zI)VQKrU803c4j7aHdbE9*}vN}0ANByIT$%vIXMBuFa!XwFtKs4!Kru{V6fWbeE^_m zVt<(xkxgM6li~Ha3+MnW%v{mgk-&%eQ0N}w_Bfm`Gon+~_4qtuLfim<1RkAeH+6l} zH=aphKyeU&p=YY6ul)rE_#^UsT(YW4^2~sLAV5IL#LdmaLeId=!NUZh000WAFaU|3 z3J3uHa}`k3f7qry2Lc%W0Prm>GA1S}0Kkv&2mFDyZ&}ITq9S8r;&!oK+6yy&8{P_Uj8GuhN53iDP2nq=C z^CQfx#+i|+l?8xZM37eiXagEs8{3A5S4a6dgt!4#AU?mowxV-*cyXD7M?e4ovU0Mr z>uS1(7KQ*(K|ug0$SSN%16s!>b);qagaIHgtK_G!GEcj^l)5}O4^Rwb7o^B&$^&w0 zva+;z0K$<~CL%Acq%0?|C?gLAAjR^^D#~x=p zj&A(+T7~$){M6K0W)B||*R0aK-PR=bGI#u+_ps&RyJnY?n70IN`osjr+7aH4602(h z^*@pK=vZISz~JOxJK?2FbV(r^JO+k(T|=z#59I{`ACj^gX`@(&svu?tJPOAfrD8p< ze=Lo6x9OG+y6eBAL*l?4*zYHUVV4}T$2NU5?mr64e~z)r9`YHo=jcac8E(LvF@cWA z32H4OHkZdAe8$G_=w_0Vgt3Xu>pvE8hb_Nk9fvA;#@UG~K`8@}r2L|U8T(y@Cmmn) z!OEj7u3&1eNrLHDmsfRvEK3fEg*D_c%kXsGOV)2P%T9g@S&HqA$aS7G z1$p{>J~H}F2KHRX4tLu%N=KIb-u~efZv*zNT5Knvsh-@Fra~E4k0*wk$^4~s zhzd<|ZvBQs(Q>LCWF(ek`BwhjM+Pf30~AeT-3GnkpKbrTkEI2?c-R|Rc^$95ZyFL3 zi9QAzWD~3XAygyDSM=TW5k+jA3SvoucxXk##28bMHux&!#`Y!li|RydeQtqQcQZcP z;b}1R+eSRe3Z2@|75U~@VuYM=Ja-_zH9Y;m zQwze;rg1d^nmKm|VFe9#(lDIC4daB4)L#*YR$D2*yH4i08`g*{qSN?n(F)am6i2p2 zKSXj)6PRYBPJ2W%DmJiEFuQ4VI@fj@as_ZamigKreH9KZt$ow*9N4-7b{%DcVJjv~ zOA^Liu%M*Yf69Zg=6D%r#q&8{`LeOy_ZP)Jbw5jE?!T+ldbT?Jd;KDI=GDiA$F~$w z8RoqZhYG_8am7(~&g;IX5B)reR?!v$ung@@x_am3VizV~+F=)u4lnP`?ghq34;H21 zi!7I)ycnzJ;#H*~cT2-_XNO}WwbzyZGG9McFq*(B`H7F+4E+M|A=;T$##T-1S`-bu z1(>c2G0TMe#V8qMmG} zXg05-&|H~4+w&d&jS6h3-95F=w%cYczKAtzDSMl9BKk}6TfQnc0~t%iGGD%?l`u8~ z2fB2xv+!2uImR;4u}TJR15Nt)5lcLnYS>~XPFm#}H{y0YxV(_I=jwZ1VTt3`jQ%$_ zM>^C_OEWK+F~ycI>CUPNuSdKfJ{c5}6OZH|cx;Gc^E|{=bhSooQY9Cj91UF1H@}=* z$^I-AIreHC!lQK{JZg<;Ef2zgiRKR_fn5l_KcQ775>+oiz_=%QbAO6J>)5aRC z&HPLak6jf0d)X$}QVLaKCw23xDY78hZO;99Nik|{)yR2UL-);HVmv@@n@q^!xkcDX zQ?zu2CU>I#y=fMo_0{szMwsj&aVF-ADzNm>%|roT=kCjM2}yoixslSV=|g zUy|~Mk0x=$jKHxK5a{??67RqB!m`YN5;)9N9NzuXs4YAsh^f(uCtkh@6r&IurY-a9 zgu_Kr*K|nS62{M&H#8X}qgU5KM&V0~boDpp&&areJYkjE)eu(UgWh+$zfHG~$k>6T z?0zC$j-uYo)^1)1GOwwrO_Nj-0m${sh}W4H zMUr6W?yrBsrs-;8f1Jg~NWzP0C`M7^lP;z69ev9oHa>xM5qNUc^p!3~0~~QH-N!N%pIR8jrQSxcKf{K4mL-PzpLKk+$`C9m}h~Z{MtArb7L&6 zhjFnaU!y97*?`-(bgeyEuq#&2Q3+^E9_HZ10P@dd$&fM%d~sEfQAEuCtW> zdG@|%(W`ywxxgPMRPVWgdLlJlAai?wn#WK0;F=h^Ej_%!$$$dH!EV@}OwH1UBRf(V zu_5@dqaUx!kG$JA!zsxBa>SzqOWciGr+heSGN$#xb^Sd|?zT}F(=YV=_hFu-SVSGa zsDYre*91d${k$~5&5VHJhy?4=cdJJA7TR9tAaGJU?fl$sS|I7KYOLov@=n41b5fz2 zQG;l}ZOHqBG?Ft;#pi*@ynq(r5NYthZ+EBT?PLh*e&B~eTq962ox-h?$C*v_uV)*; zTPJ&6fx(!XrNj7?4a0IB58x*sl`|*62Fu6T(SF6#5BgP;W-mh_ATj6Z zQ9i7!QEGyV-o+>DWD;7aztGu{)p0x@)H9aNnx&*xC}P3kBN`-!|6D7ccoqq5kqt3 zpmcu0j1=TvFk+bT8Yh$>eEZLGLQQYPhw_@gJ)cj6*r5!HLyn3gg+GMK8#XSRq`@lI z25CJJ1dgry+oJ4KS%uhh>`@==J3qrSg#K=o@OBp2TnUQ_dv`5K_9I0ojKH}@=jYu0 zUo{C_7?16L>9L=W;2RY7m_~XlQF}q6O*^$Mbte zoUu&T%Lrt2L8di3gz>`7Df#IhCROhT)5f^;@n?QFFxt=$sYBK+8aqi@6@BzfG2FW> zCG80R?e9FP0J!31$GC7gW=sFa4nN{{6!osAsMHtz9L$fTF*N9E7B3Ee4Zbztn&WJ~ zKS^V2dSgm)Ycs1Pap4~;$=OEA$E0Ar^FeF^XdUSgpg-tAt3XrM@nx`D0gCLnGDl)w z8($wmZx#CKX^~q!->PLifBa2VQCsZOEJ}g-b2sc>f_NaMuc(%Z6YJ^IQT0EN#C61s z!LKlMzx;vHlWVWszKN+>|Jiip+h=O>Xz#D!P|TQ+hahCx(Sq~4fZIXMfKTi%TPlj@ z_9e|&C$$y4axl)mc2SLbH^&UDV4JiNsj?;@6TlXR&%*J+#@#a5?e7Fh?pfN$@XID; zcg^tFd8m~smg14US()thTn5|>xpwK$FH9|qT$=Fx-gyh@U}X7R9)dNvE(It-q|-#c zwGG5n{2Zp3!8Qz!v)Wg}C?Do{(`jaxRs*Fm3$>{EvER7qm%m!6ThEMq_1RO|?Z774 zJ3?5{u*{c)jYp8?^1;&YW-ym~*X_@8jIH4ST0DEeIZXoA3nYOf8Tz^(=+N8MoxIo_ zUKT=J9B2+Q5Z?P8@@awl*P0s?_Lm=N|Ia_Ud6S1SVO~vf_bh$OgPR{7NQYO?D}_Vn zK~Uo@#Rso!N7mN2SU*n;Qfn2SiGqK5QtLAl5i|0}S_(D^ic@b=DgGG`a?NSF%U|Pc zG_8-pZ>{+pPA?o(ege^L+PJAw8di{AZNmL@HOySh1WQTmIGU(kbABY2IC2?k#wK{_J323 zDKKY@>d^W`u7}dk38uz7I2#Z9LrJbCazB#!d2G(8o9KeqmGK#ALn2sRWox!UL-F^3 z;VRNCNb4In(|m><^(!ZbU&&8jX3MjJXLA;{=|ZY99eh4L;rRA?t%@)!tbb2#n{89q zp1vvT$FUsEHiFVvo68QOxQ5C`)9fo!h&!NCYkD6AZA&mXXNb^9i)+mBr=~4$QM0=1 zxzYMdSTFObcF!P5A{yXIxjS~{a77?072 z9T((RuaJG;O@p?$M5}%COSW*4ouSZ_xQyoHhyhjc_E38UymFCIZ$S+ind5J{|Jq4T zKqSCM-}VE24EFJ;E2Zi5^=wXzW8hu`lVU7 zKU+NeinJQqE^vY_H;d`u>;KEmoXmN-7kl6oFG5K#d-+B?$6ZlNwm8}Ti=#+8d2&BP>-8zs84=7;zV0XaM9cVm*rCH_sl=Rc_GGDo$nui!;IROSu;5zF~Sd zfGTlBLW`L#u5lC0mDTX650;jQe9=2vZL5n17XatR>(ek%Gt_Kk9&Catt5p8!k#TlH zt?n*wf-);UUx+H>L{7$(7%B;R`nP;o$@e3(3PG=Uhf5lV;pm-$raY#NH0ZKV3r?3L z5i(&=dRV>cO(TorpP}qM->mO=8R#}0ARF9n{sp6UH_kZQRW99O(}>za2!#5r41D_< zFiq;!25T&-aF&$RA1H6!s1}V*4wZzG%3NG*Xiv&0Ox9Q#jK=S*M;JK$5OX;EdvVBP z`T7jAY;iuWFCkP!mSdmRz{Y3y{(I;n>&I*A$ITlibc&-35-lZBffsdhW1uP+Uanj- zfjndCn)X@dmFgE(s{?c#>gnpc^kBk9)W%7nuV>6F{38A2Qr#1qZ!dn&qxw5_LN_{I zBk$QE6>$W3AHlN#mnvgyC;Ev^azEKJH2PYVSsI0_a+|Dj za|ekp3F#*RljKQ|YSU@+y^eNQOZNcLglE5;#j;FY*Sp`O0a4ULdbXmI9ZrzdPZ1DN zo5SjBB1n2l(l?a{Nd0^{5^o?rdA8ov<0~~X=d{z44hzJ;Mzu%Nb zm%~?x#<~_--MtbHhWO7jmgHB<_m}fWw5Q;?aAJSNPBS^jg}97tgWl7V%x74TUZ2UX z0$evSuRme8mGx2JVQ%-02AY^eoyN%Xw#DQ5fSsqrKIS}yX~P$}$X4HDu#Q4T&%ul9 zhb7BC_={6x*`F^ixt)OxS|vw+I|t0c0C{3s0kY|GbysIv<)o!A#uM{FoAv~^$9^te zueS~rC`GNE!Sbc39N=~Ijv-uG=9;5vGG*I`@F{c-e;4di4{L6sZMV3B$>EY!rGsDH zBT|idp(wq|Q?}vUPFwhVUf9FH*A{)BwA(hMS?rP92du@YXo$qCb>Kn)9Ysc9pF{Fg zdC>S%nzL*07jH8;Kj}~A&)w+@bH|tJRKud}jOcW(uh)^5#J+IpbY7jJ&c?c7A_e>- z8Y}1*ldr=yts{6e`_42;c82M13XZ@B><8vOsodQyS!S8boak|Bytw9W+#6FI3D_8n z)n1CX7JnDj1?Yal@%ZIjoc{o+`4!McMXqOxng`+;*LJkjQ{{t~F7r?cCbxUf78h{4 z=;)kPHpT2TS&Oq*T1y5JKqbT}=#0Lx6EDgO zP?sSr;F9?o()NupQZGy9$8WTNfSkaM%|DBs_dy3={rvyL)k4RzTF)V5Y*RVnJ%r7w zxn8Ya-q)wDC7U5w(DpVHu9rQX6d>}iMZZxnV)}?~M#vvMPK-i*ZvT?kt6`8M+aILF z;x&cYZR5~y;SLlg<%9_I|J>;7Nk^r+u9Fw{x?fC(PkfISN;gr-;W{v1*6m1lM~&4E z%Y5({Lqc<3S5yF{Rgq3E^?F-Zn}nJLN{4AX7CD*PKqG_A7by6-=4A5o9EH)6=~?i6 zC?{85E=6UzOs(J8z-}UZBu{cvwDd-)R<}~rv5l1J&atOz(kvICljH2Eftp>53uJm3 zB5GDax7YP%y@tKpy^KWna6*O`xH>gklNlDGB1SZ+mEl4HlAafF)@~h`E-!w6j!i`} z9Gd~Q&LN7J>cro8T>lat?pX*fLYql2*v2VPwjt_jS+DEwry*kx`#}SdiYUQSv}>`Y z!Y2wuP404ZzQe)f_Z#%@Y^5^t1+l@J@=cz%UA|(iqGvkq>W9qW4=sj$?tA(P>=;@? z)pj{pT!Jz-pnsZ#;nOx@t!@oYH7Hbfng$aV(8SV6lT*sa8}c}3eqF8IWfOtRX=hwY zpevR+c`~b~J59K3`$u_SJN5MPzg=k*vtlz7p3*v&>N|e92M9jB;|ie!UxPq1vGj_I zu~;fufX}~Gkb3m!a-*H?!6@a+hDH-I!c!Hk!;8PPWiqIo5C!|Nk#w}4P-;tXy_$hR z!GpgLGkBLIy5j*Y8Q-PY|I0__%eA|ZDEjhrkLxC#`ND>)`no$0^i-ffdP-JVY6jN=l`IuGR8uCCQF^S-SNJh!Sq z+tQ_0)V$O_U{kgizUWPGU&9cJOr}`GXArSM#qaFs7EdIVP*xiuli4uo18?LFo2g^K zzoXLq)?cY`PbBUY3g_P>m!iZ}`fi5-qffSWRPxBjqz=tP)5%8-5{mpoi(@1~>Dxf} z+&^j(+Kv*(4#wIoQK4OU%p_TJ9o)e5mt&IeK@(N<3z0O2e+fUPcPe^c&^9N8T7B)+ zFf0!0v=ao?z07Q1AWiooWmJgE#(Fp46-(CJ(#C^XDRqirnf0Q6yT+7K<>v4WO_$25 z`_kRXNEX~kH|smOb<1@ein?jNat%q@kx%ugf1pBB-uC#0QaUuluZ;wQ|Z zpHlffM6NsJY)f#N0*~t&fYYb&ZRG`;(Wm7J4U%B(F-3okJuONY{1x z^^$Ie-fxVPP|wKa4oYru8*iqsmgfJ{;h2YS@U2nU8kUPsVQ;eYv2744Fh434ZYtc& z6*kkkip5~c6SZ|JWi>|ntzX{8XOQ-l3CeQ*n7XkDXU)SXWKhuqwFv)t@> z)U4$n*@gtJnJ6Z(dpEWRAicBMjM!7ufftaAN($r-fK~J{gT})M|N0M)VXbc-Sdhm$ z@eB;HHP(4*j7sfqX3AF}7Jzi91KwED%RphPm{-j=4*NH&D53;KEw4_kqK8TkVq#jo zO-m+pFS*Xc2@c~a?4Ws9Sh6{RFEEISp(kYcxjXoX6_5`TBzks};Y}9}noh?GlAC0& zX+L7vlUGRFO=uaL8P(6FhmU?gJ-b_K-aGh6P!hhfOL1F^ee>&3ib4wD_<3e+?zKSM3#CcOCfoz1UNUt!0|M=*(C&-P!=q-!y1$;jwMjFix|C)qivEy5oB)0pVz6h zMY1~rr4oxYNC6gW9~bm8>2jnYI#Pa3(hN+YZry;M^1%tVA&=i18^&8m*FH(H-c-Y1 z;}XzHnja1_Qj(s87E;Ygdm-1xLucOM-+acORf|n1LdR*KFI3oAW#xV=?Zt@l56!#` zz`(f*yvaaIRUt5@Yu02gelgF@qw|b+@@heaiERSxwo7}Jpph_r zk@tADuuU+dnyRWVZhh-@*;8XChHI{fo`D$D7V>f%ADOadOH46F4D&+6*2@jO5YP!u z&d+7?{QS<-x5;Pnh1eo{7?D!dHly`aXj+Tj$ym8cip8WMz{RR3BUEY25f;#G1PGpq zy~!`wFDVs|vW)%nnmyDfB;rLOGb=}D{gtU9l)AE=t5xASFB#QQD>+o6cn{OAU=w+G zKt+inO-W>xCEv&f&T3|gk8&5$UCP&AnI#1yxE~8Ef|s>DlPxn${{N8t F{{j4p1VI1* literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/icon.ico b/apps/geolibre-desktop/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d87b600be60e0088026b9bfc36365d81afcfcd56 GIT binary patch literal 67130 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/icon.png b/apps/geolibre-desktop/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b53671cea7493d5fa9e214fe7760a15fb564457e GIT binary patch literal 146962 zcmd3MWmjBF6Yk(H!Cis}8Qk49xVyUq_rVFS!5xBxpuq_q+}$NWaCe)ToAaJ?|H57O zQ}^1t_gYo8pRRgJV$?p$VW5(r0ssIE1$k)=008#y78Zbv_;ODy5Tu2zC(U}Y{wr{2pT6Cni9#txjZ9t?|#9#IAhrxcHTtK z=@4y%<=0dMi56I zz!14)(02~eO6412&Pb7rSobJ@P-X}oK!DaBHkp@rJX?7-%T~VtqcH*^t1Vmj$1kb7 zd*B^mm9T!blU^iwUQ zdz_o@5Ho)ZJ(%lH+;n>EzxFVE{ZjW1AJKiTn4XMs^ZjnqUyT1_-G+lyk=$GazLq+L z2R;+ewU=!B6*1?puMA<7EC9^N2ugHD%(B8p%I5uC9JAA8jG=ki{@gn(HqNonca&t6 zrV(MO9N?Ze8Y>MQON5uEj`4Ta8ggF-Q|J!%9E9d&Z^Gu5s- zo5DrMPn!vBX)V$0fK@}J_H@D{I4^NGFU6zn(zKozcSGbXQ~6T_?nQuzh8C7Mgx);Z z zLUd|vVeRdD*#BWkM>X*A+*XyWV|xNpvMz*K1X8rDzvJc@NgSsVG28S_yW#yNEkcCM zJHlm9hvu+fWvttGmu13tSv!xoIdr;@#kp6ibfygEf91#yoZZ;JK&q??eXe*R7#gcu z#6v!@4Hu%DAtNB0n7-;R7{C1e!k6%dhe>|gEwe>zQcP(J+ zHWhcMqP$MII3SR7MMQ$}C&tfgj%jlNO`IH5lhq9Ya^G{2q*^ zQHt3>jI27QZp_J^KF@Q&#sX5&<8uqu)kWZ|2h2$l9H0)>tsP$rzi&41SFlh~HA#rn z6<4n^A$I%oixEC%dZT(BQ6)e2$&W@iD*5*+XsP7}G#>+&$eR zX`~ksZ%EUi`-%WkScV zP52T*nAazT$`Ab=rWLSGlqZPLa?BCn{>DEnFiW8*WFL$|pGAcRPR1|{SQKyLzYD^sxNnX+# zJ0p_-4t60R#`I!@%Iv|k)24ie^GBicN#P^GQJpc{3?4dobt;}VXjMDEDnxnci4caq z>;d1_y1qPxdRTH`(@^OAjZePum&|2}xXAaeVplWTszEy8KhW&Tz$K%j1k*P#<7x!3 z@NsaPlxWIvo9)Ltv$Wv%zX|t(q(OnE$}p%;AnlU6DW5Mg0QdpO`)4>`YXExaLv<`l zr=%J}$Oq)!8ni(6Vsiq!i7?uCA#C0e*$i$Vypn5#moFpMOmzDsky)t`??Vt3Z~%rR zpPl^@w<*N;(7NJ-sJA)V{$#a+yt<9he`!nn8+XD*GMHfm{2zoSk?MS3s%jdB#swaN zgB(f(GH{=gD&5*62Io;jPQ5~;?j7H{k&z%r4-mbnU7IL?`B;YOsn-U{?4{S;AMKEy zKXu0!abYlF4ME4xhE%2c7~(O`YRa^+s-ds?{vFBHhiQz;5pGH2tYiQ*WjGrL$zF92 zx+6{LMl2d;SKcF{y8{Sl*Nf^(;r>Ip3DO92_~(vSTBXnU2} zu%lU*1Jqur^TS4d$1e9x?LdYbRl_5(9!*75L6oP8p@)l~JWP0P%mbmgUDYLdt{xV0 zJ|+ajT7(3XF>wv?{Ac7njt}s>3>rO!)00)0w~*BevNbYGXj)Nd4;ROlf0#6!CnE75 zkif-(5k{A~DtyG(TVjN6Y(~2de=>?uv|ehBJQc|JIh6JD%pvT1bdR%*X>pcB{JLtS zmW|6w(fr;w$-8X$qU(1r>*xzJMOa?}DY^3XMqLj5ur!NAGN=Rx4o)+QIQ>}M`blHq zgSEc((hSy(`{N8Z|cCJqQ+6Tpm# z-?4{iR2pJ(agpIce%Mc;>79!qdT=c?-WI=Ex`$Iu% zAbrxOF}lOTZL8d82z6)zqsAe z_Q~P*U%48&;FxnGMJ?l~`Na!(OI(p4+l(==YJcZNcV|tR|0cf6!SzfM?kVShgJ=0} z-D#Ps9rwps8dw5?B{va#==earUIj>s{J$XW`S2conP4Kcu3&m7al>uFl~)52UE}>S zp`+;DzG(#PtU70aqoA57I(cfYOf4I8taqqBpC^rMd;-I}w9)t%fI zE5Ean(WG#KXMg*{?ukcC4o_smq=iqM$YXXCeuRqtPMoBj3GeI#;FMzaJt6&D3A?8v zHBXFuLCUvqo4Fk(CcKL?jTkBt=qhP_&n3(6;iRscs8{gg`K%z{(0{x?o&~=9o^y%+ zF1ges6*j<2XmH+eA%_h^E2qSPDy9Dg6{*e#!JkL19uOPT%f2wBfzYX6DtD3^lvYVBu}ClaP)fpIE8Apz0Rzk6dvSP- zq0j&Df3YO0wWWia;l2#ZX&GMTb>YMSlE@hX*qd#vuHzj-p7{r617W`l-?)aaqJQYy z@zuP8#5JBdCFtmHbAq*Ck&77tWaKk8`U8`#OTE_qMVqf^ZXLn#UoaxHhNKYbk^mJ) z(F4_yfTL)9L*xi(|EH+MCK=Zc#ahu{W>bPcu2B$YwP;LyQ4JqJA8C|G&Zh>aBz4P( zC&-rewXo8a9RLc6(RaXn8&5SLk?BgTZ<18CNdKl;!@@lM2adIW45vhN({UkZ-**g? zItg0xlam+SQte<@V@_>T&cEWEw~f_}wJF zRP-_0NYrQ)3!(ejMSd>`R~rn;!*SEZwwt9s@0X_BvrM2D$wFM`*zvJ?|9lFWo0G%r zd=v6%KqiX+U$RS4`U~2K#r;v_sor$lux6WrJ7;=7!P8Wtqhr;~4Qo2U)cN44;iBdl zv~kxuZOqc$<8M)~1E-)h0)%fd^`GHNyFR{UdY3P>+216E(91K7 z2ZKPeFJp1AbH3Rizh?FoLDYalMl`+Aw*n8?bDiwH~g47eU!po!ByGws1rAv{wIoB-; zw9tPkU4`FNP2`&0*b-y)wBNt*M>p_XTXYj~Lu79O)2ll5* zY{qqpWqV334x%F2>E2P2Y^F$Wp(SNlwSL%kX>1D`XWDa}IOo$FztB-R!TgJW0=MgB z*M#bSm9mVCf!4>>X8Uan1wkm~b3y3|lVpq3%dIS@XuG`%BcwnU`^d!+7$yi?*Td7> zR3Ci!G(-5-wn&@hVb9jXlIi+8WrPRp?;&jPSxSuShl%`55dl+fziROdWoha}7NEw`@g8DX2b99CX4 zly6SU?Bf|qiR1^K97(g`4fBdwCAU@IG_ksDD#PTQHVv)hqi|w#IQUk%5LRSKTuNJ3 zEl!LZa)f(=UO1Rc!1>F&%Octy&O z6cgJox!fQ`3l&*Lj?YpkdZSgGr%-qE{3n=~yzrUsCA~ns{J}5@+kgIgzpI$+(oXJg z^o5Uk57ioF3E`Pn&9E#TZ1{omq~Y@8StTR$fa1yFRC?+|ijxPSu4yyS^`-aO26!|8 za>ge(=)aR8Qi9E>3g6NN*&(dh)2z#NxS6*aGbXtk396SM2*4;n+v5Uc2v$O!VS?PP zu|2QZm}1|L-dOkp=mw~{ePL`rTJb;j(>of&@K;-q?Lv`UB)?ODv7}xQ=@$3Go|9x? z)O?A2^Shquw^u$(jHCnj%zJx#<@cD{4bt6|64Dc+Xx9N*F-^1b22CU@t9`G>{eh}J zRFIo%!r*grU1VvAViC6AcsB$gzbiJ34mo92dzf7 zta(vk>SUd{eA@(^1NwgpHjY} z-VJZ|HTqav%>Wi|Hr)WW<}Weck-JOraSnJ&=@ATeISpfl{|=EtZ;7>*Cj!yX1>R?5 zZq=zy6z~Ttk|q(~Ju4{0PUk2HRiyRah5E3T_xSxH?YW;_yrCF|r5c(RyLK)A1yv6p z6T5~>uyqmLebg)Uqb}TVlh*yvh}CGMVq`zWoWJvBkXi4Rl$&XL-*(Uk*kr%Kug^Yk zUA_;z2G~iv9$D#V!n`O7hPF2*=5JpEBo3k8Gvt9s66oC3=^&SHo>VJmfvP=l z%lGLKtI+;;6>c6B#~3hech&dqbO^bL7MKu4#dNuExL1Fx|JENM_z4!<@>1(UC^7w2 zc^NdexD0lfqv%Xm15Y2N_Nf%gg58NG|5TdNQ4aL+ZWdz84wJvZ_o4Oa4%qq#8P?W# zWaIb1OtZ@okZ|J_5fIJWFxxZSU2h5xrLxh_BlD@3BW{c_r%+XF!L`+)my!oXKk?pn(Xie9p~_|QeZrJlpsiZn!&0Eg6l z+h$Gv{Ha3AauWVohmrnFZh^-59IO!(|MA8l<+<~U=|TZ0Gqfd#Uifc0{o12_3fbxK z;jN-)@0KAotZn9GoIBeQ+b!+t~*qlCKfQriZ1_srz)DfiWP@!X96zcnHyL> zvu3p3NAla>uk)bnB8sU3d`6_?b7}Q+8%%cUEy@ke2Z91mGuj~(n#k!t5idI5P^Rrv zCX7V45Sh znO1JIJs&%jb>AQibU7GP_xv%3w3{q6Obpr(tlbY?LXdM=1I_QxhwyxS?^vms%L00l z9^>U9fv+m&OQRaoT1xqVm-$2Kc#e8}(}AOyGXZ^`~#MC*-f;`hs2dAgmpG zVmD!`PW~Gbr)&cUPt5+7^OG*E6$XLrkxL6q2@JSYvH9Jk>pI4@L`0p)zhK)C3f`fk z>D$Xh+tMQzrJOb*7I}p_1>)wQ)_aQkftG7Y{d}&we6~QZVom|u%!ChFk|CHKj;$`` zg5rd*>jwpQsp)adODe4e3z_pNfo8&=HAgAS7RuDG+Uu%aC&O46OuDz`)RWdpBqCNx zz&=vxy#Y4mA=d5YSP^z_n3EqExQS9D^PiW9%oT!u_8Pr%z{3dutew@AT30N4ug8i;9@~VzRiLVbfMkgQF2^=g1;k#m<5z|W(^qri6K!tMjjnMmVwO($WA4X^{X*{MW6V*SfsKsfrxQOn&+)r`2zf-3>hh2b z!8mxIt6u4B%H!cMe^3tc7E(>ILV%SyY=$b^`Nn$p=+4>wr(X(-TK_OjKc`^Rp?CCL z)*bKJxom+j86rQ`AvxuAl%W1x@Df}QCaiR4$1q!D>4k|wJ3&KP=tPeNZ0y;78a4%= zFD`-q7huRXL2tQYw|8Ee=ggm+4$jypEyG<*Vc+;wSso`Y;$`Rn=-~~}`i<|ef|omN zzfA5v3yPNu7?2P|cNMq%Inp02Il$8RL{-+Ll#@u8hl(rO1I9Es2oh&`fV_0-ih$M& zG?1SHMuph6JohK|B{Gwm=QCS!;Z5GJQBh~LJL%Fz86!{SWnq!LqpJ8eU=;0=2`@N{ z!a#oJNs6s&b#LgU!t&@OI$uza6$uq*vpC2;A(;dcIIA=xC-IbWudwN8B%;j%um`VVj=owkK08?`SL~i(_ zfZg`EwBxR1-pb5{w~)iy(B!TbM77}bqmli1G4fDzhASI9;@aI2<&0Tq=*~m^j+Z-i z1)1WW&E@66Y0XoDKTF1Z4gV<)yF8~94)2V78UbC`P(O{&50^){^@~ji=)!;759N^^fux>b#z`1&lj<={DAsp55o6VU-&`o=p73*?bTM zo}*Vr-x1nndaNWg;2Sph!m{5GqpAZ}1O`T=1*x-yQ62KOJ1@rR1xxfm#hBV7NB2FM z2oaq-RXH@Bi`7fI8&(lmoXPEH8uall#S2lvHo5gu?*!Nt0A&Wf{jMZre=(pxD^4L^662c_zh07`SJRGcl_ByB+&)uQ$nW85-Xjc#xSk`XFTX z@`*t{S}>>LaIOFo18BrHV%18M*7-&=`(l2B-CWKJt2E|bKw?N<{1&otrJe<+EvG83+plJ=|GY9cOQ=py{%Bb<{t1nBxQZwj(YVuVjGp#o!xKsu+z z?3^6-MC(-N`U;g*c!o#)v%c{v9K#iKGNI^>nsh1l2Y{O9)tH#j>ag_^U#EYLVi^vt zE&D!wsl^a6L5k)BFs`6^6YUQu&I)72?MDM9r=!%M zW;rE+ak|E)5thWf{PQS<3&sKjEjNt}gvU>my8F1#bprw|iw1G?XYfn29EZ^GWYxcg zHYn39yb(u;@*XqXrQ~(It}>CDJm%->SUytzHS$?Q(Zi%hW3n;ynlQ*6{3}?~^*w%% z?t$g0UhDES{?{b8;2nTp)F6=C1#wcMQvG$w`XjoJM?v=+_7tgXc;}mXy(^7jR9bj8 zBf3|xjsYNUieviA6}t+2j)JCW^d{Ce+~%27e&iX*P`$Xho8)R4R)}r&@@c38u8z!c zH;xFyw}ZQwo+(#aMec}hyg2z`5hX(?0fa985=ju^zn#D7=Cz9zAFP+X#1LD88Fww} zF(iXv*03^Y+4rF#s)t~BC;NSJLJBQeUm%qH2YF+z7yl!B;UT#FFm~AJ$)r)KO$Irx1L;4avzM`-@Q-OLk(?kDucAtRW;IdNJ${B6>58+mhgWcAP#f9xlSkMvEFx?Golx46&S zXprT&5?4bK6{k9Y!|#B0a}_O>rY7-mpoX+R3)#^}kOZk$MYspk%1xrLjVbEYZyNW1 ziGis2QPxf0?#GoOUY!RWbc42MApXoj0;59ndZdp_v!IZbIy1?)tNUTH6y6He_xt<6 zSqQj^b{dnClEG4zkJ_g*C`t&!nvOD z4+o8`(Z}>;DDj=1wnks*q>E3t>SBo`vFolmYR^b8;|*JK%2ka)iN zM;{G1&quj5o?4&o1)k0b!+4e3B1etVImudE#^=nwQ0)VtHASll`DcTMOmi>(S|PWfG^bzJzgwZs;Z^TxetzzkHccK8LxJwirI7iR-MXRvz(9+@HY3pc8 z;Vp`Q^#vlR%GPdr-+pcu?MZWyQvtJ|ndelnwT*bP);s3p*CU)Cj0u}@kLcuc-4|eB z&)CtD5D`BNqToBsUxQ5~CE%a)B8In{lI~*B1&C_Lj|F0pgyN0Jj(flqxAC&5;iE}ZmnhVit2xQv ztK$b(+UMc!v8=XpKb>L_ZZ&@E{1?{OFRH$$w$m=W!;rA)GY>rC2{l}4Fh%BYHM=$m(E0wJ879Dg2-+lH9iaOTzwU zq>^M}8x1x2`iP_3Nh{@AtV7Cf(vI-Qn|vkcVU$m|@2de2zBX5cOT_WwMHvDvW=?!g zko|H0;AQFS)~X7W&zV_?{?zC)r%5s61T);pK1!KipST*n91q=`L#AGEG2_R1o)#|3 zm%3kv%Ohk9nJ~Q7y0~iR3#zvavW=g}i%)43$Z(|o;D;Njs6E$H##Yti-3_cTd9JZS zeZv3tMU?MI>}?V5@S;bErT*{K!)P1K<8DOHhMwuJI>CI*-jm+x#I?>Xx;r@dLpHNW zaEA<@qC{y>G3^(4Jqhf^JrD4bhtTYA6KV%f;w*jLDvxoze4D~DG{kL$`7x_#M0KjF zaei@wSQvF1!VLeUyzXr}pDm)lt~x+DPawe9AH1PYY+Zj~&v41dyoQ_UIlLsXb!zLm zfUCgr#Y%ATo{J^IFG3|F9s$4(l5=#OQ^%_-uBGhiFGf@&5Nwki6&@mclMIK19m6tr zfBNixaC)m}qaW8&2Aodp5tU{?p)u#_z zJG<9?t2*>pXaG7|x1rAkTGJAX-$>9>NzViPM-ltww~L}rZ2kA^Qacppyb;t25JL|6 zb~;$UYrM>#l3WlXL7<`d>wT#fWvBPiP9+8SxlwFO^A zA97%HJgaD~?c2*{$?YV~VQ^b#d_!`qN5HLKA;L+3l(DE&*V7RV{d&!O{j6ZP$(e1F ze(=6k9N&CYn9AHeueet>-Pq{dx6h|+TX;uiM}97ub=a?xLSgU@X#_uDyM4-5VTjfk zLv9=D`3a8&9L@@Fs~Twi$_60r;K=RZX9pR`KU7*(Z|2T(mREua_ciGvzYvBW(nm%vQq9Q(jx@WZ9!$j@}t?T+(B}_f87r6=oTXiVR zkKWBUST4P^L<$cU$__MX474d1_T>{;9dN%lzH)pv#%bM-x1ja%AaK-)5((TX82 z;%@yhmY)6Z*pdW+W)V$aMzaDp$NY|}R93cTdvzOskoHm4gL*OL=b1SjF54*rA@HC} z1}KfKTs7g(^Wi0UtEQE#C-Oe7-#)|p+2cxf?a%c2;2NaV`&lgbp88a9{#DqTW$=dq zi%>3}Pl2#Vfig~cBI;P4y~Kz2*p6vHnLfFgR<%;UVo#=xvFVR~XZKc@`XV~+_!e}y zgGP=!E+F<^u^Kv9yYD|R4y3%HtfQ~Pfd%(M70Ske!>rX^uStKqXkVznBN{qMZ>s*U zgdkj!gvb4PQax+kB-}QR1f#^>?HWTx+b&6T8ZF9imH$*NKp`X zwruBn1ze7MyS`qXU%s86Q+#n(S;aoJ58*WW)j7TGwzFRjhB|HXyJVy*RM|3Az`#ZN zwTkfb{hjAna^gEBVCZdV6OB0E599KT;J`+8)isR=8}GL62VAbr8t0S!_K=%e9&x2H zp+y6TG^#b{{hUMI>oZg-PleQebtK^w%=(E#zW#ZGp@ap%YoF z+ne}^+;nL~aZjzU-GU-8EVR*ITtjVbt9y*#Fjy(Oitq`9e=CbBjqxW$Ig!TjutTr% zS2Zq09=CjkpLSjMm+SWghk^vUvh8Yj3zQgrxgQ9)I|DX1nRbhCb{ot@Sy3h@V8a7TQf*2Q zk~94IRkxw{%IFY;gG^D6UTq)Ogi`RAqz6|h{!)KhV$hiHS}^AM)uJ7!qmMV05W(wN z!_*Wdoav6;&N)cDer{8SZ>mfC;}=G)bHR5(uMVDfix!GnU~o5&R~X55zkZU!goGwF z^!d#KlOgTv?Nam1KMA<3ao5L-Ad)|zC+k8{-|Zj8NP(qYO6j6lA|l_`S}a#3kL!q_ItfnE%W&EYoOkpH-5R;qPO5HYJMpeB7MG8CBc6`{fmsEKvqK4O$b)?(;YS7cc59nB6s0OE{hV~~6 z3%H9eGid3$=6TOXz4@E+`>2r!RaHI}MDE(jgpT(lK*S(c+6$)#eK>$ME~UvaMI{eX zTL5Km^u32F{Tc;CO}V^HCIF>tUhc~QzNav;qg`}pxuB>K@>ES3vyRd zexdp0t5^zNXIlZ`7Oq`2aXW)i8z>7@+=}=3;w$#^2lT}*6;fE&NI(54skm@q>U7K^ zvh#i-`<_}VcMH!d`ls9v-vslErrdpV!7-8LAdeiM;93HqYyBG|M}BjU>=##izU=c&KX3$ih< zzTDVtPMCmiY&_GtthH_(*?nUoR)+f`mJ%>(O7v08hoEml7c3S2aGv~^SSY8DV5I;)A8os!-Wjc0^ zr;FyKpCt216p8abTJGS}kK-#h$m|GbHF zdAE)VBp1jM*omXh%M?qRp*kj1Qk@w@kz(%4iYtELIcR#F9=!&xu9|KH&2_sz&0_s+ zeTCO}#cnfQzKvDO{J4JT`=uNnKgy}WqJ)5V`{6 z^jPQguP@*W@O4G2W5n*84p-Mi))A?yUljAfksaujwL&N)Dx%6NeS9{eqfAJpWc*4- zRr|zmJ?6)&XRy&2@Vblt__m7HeHg=5LmUW5bpbf3U-X?7k7J3J&gMPsbZ~s~%rp=w zkstd6xEy~k9*)3sKgM*uDmhwG%R$s5SX`v|Z2a4ERS#v;IU5l(r84=OfITst5p0{) ze0zYxb-Qa>@Exw7D+Kq^8MHGLQc5WVPSNUGw^ilOkj5%d(Y^Mt!}A>T%sppbeDt3a z)PiR%4^+PQ8A#6eSnW$e(3l?lET)wXKcthD2|kT|t%!qr zk>Ajiy_1T0i?$lZ0Ueev2R}-hig5iccdi(eJ&D|=!)?!JnLuCTP=7}GeVgH1LmpVY zvN-w`Ey*6&jCh&I^Z*{Hu+DdKJpvqUzgg@*CVap|RnUER)PMT(Z*&}Z5qX~j1~m{| zZ(564tPjxj>1y= z-0s*EyE6&Byo&-qu0JInj~+nxRjd{q4+TV21rSDNcVLy9%L05X`N(MfD$`NDn?$$} z8W-3u1m1BrIl?TMsNRXuwog|vYk&B(DG`iRbq!`NeiEBqdDyF?c#>$@C*;zIOuFnE z0UP9lPi^%5-S&tXxJha}NEB|*5Kl!sgeOs&fObuVqe0y_^YaT-wZ9}1wlWJwzVH`5 zF)Dq4$4Ym!9_kBIi2D(3-nT{kKFw%F6fCU44&9ErCOvnR#Drf1@%AgBY_ROi;^h zbuc+KkDWZe9*mfv{+UCZ;bZDd-`Gw5`ekqA)CQ}o@F|V5vpsxat~N_&GY3Xn)YR1N z9runz30h+FYN4tMohEH;rV?!He#*llOM5Xw$XCKdhT#uF(xH0#{882K2kx%y%BY;| zLt`Bkk$mP#y1L(T2B*vzz+0z!Tj1eA2`HDG$$c;H0W;;r;9RGucHPG8mhbHK>F~01 zAS$s{p~{bH54+&M|5DRFZI;b6@nLkDYB@&#;mO_G6t9ECr7r=X*EbI=4;8(z^;9=e zK51IxT$((^Rw7CCI)$adKp*tftj;nJpnfjWta_+0p~j&cV;H@@{LL0HK7`f-erf)v zyc{A^Ux@H3vUhS?P{3;lispJHYv)e(br#G{@sngCnRGqYMmF~`ZC3gr2+_$k)}p-? z6fkM|-aCC%QnYg$<-nG>eu>igq8I_0ZbC{Ke0TJ5t_a#y2*_BnVL-)Xgg3wbofqxb z%hQ4o&Vt|`ZJ|{SGZBI&xxj!?B4yo432_1~&;4mN_M2KBGeLJ8HNS!=VG0F1S)75n z&d=`Hjv0P%(~Zy^2A#*)I#9W+3Ei5A`>|>%y9sk=k%B$W_t;>9B-ikH?RWF$rZ+a< z33QqAeU`W+NsKGp@VV$-2M_zQ+FulQ%HX^`^q0BHzW!RUJp6*QYOE`K?iM<#U|;>| zW9O=HxQSxP$!xy3LZLAAQOB3MYRMy9lSHXcz^oWd)Vcw-nv?pld-H6G@pyRDa1L}= zZXJ1*Oww3?Tn)@eus#XPwiiD@w15h=1L818TJ4TJL(ghhT!V7 zaB`&|eF9nJt}*Yh0L$4}GptKVKO?Pgnu19@k>25wE0Bgm}PgRU8F)f4oECroIwP&#jLvCdW}fXJXh)X99rS8!r59I8={2vL2v9nO`%a98lmw?F-dA>2 zX?pR96@=Nox)*0YK>aLG493cX%)09#eCPK~U;EB@7N=6eCGWR3j_q78@qru5`Bn7J zKXZfsRf!T<4%0Yk0Ct3-r1G5}R9z8XQiNIzbUXxiDVOx8q-A68&$#)cB1b}C@kpk; zQ=IBe6qEFEMsf7jX5xMw5O&_`1EGPyQ&Y4qB(nJ91zhNJ;%1}n#r>DgqLPy! zt!$yyq;0?1zSGXV*L-D%mT4tlZvqMK#7%BG5jHM_T~fPnq#sbFCe}p58kCA}qrymC z9|$J}7lIZKqn95-+naubJRp?OTGzQW>jk-nBi+Lxtzmp(C_+=tsB(1Xv<|fI4gT5G z8E_KpVMv*!Jy6r^!#W5Xa^58mO@o|`yGF;{*Bze(b*p`=c(2})kt1jus`WrXC>v3# z{I$Am_4_E6*5&yLZLlLy3td92R4}4(6bsD(**uoGnu_f zsrqMVA#Xg4WivRf`1VFWX4~g2re!r~*(+an`;(`JRh#!3_t$(n%2!iVLRJyH&y6@S zJV99^ty%zvr$p~VbW#gG0-tXczTU*^q*3y2 z>crtLebEvrhxbcAl_`06-Z=lo8cYxD1p3d{b&x|8JHW+>+j`PsIZS<(Kl+d|*X$$f z1S}RMScBxm#Qd~TITm5N9fOZ|y$CnG?+woXx%|sjFFEnXpdNUt?=5 zsgE4dC1$?e3ecw<^Xe^z(rpwM5%nTZAptOeL|HxWcZ#vqV`R1Hyy9U(k_p#PcFwyb zRAJ*Sv#A0Bqe$^^XKM{K+g+nrOv`% zkGj*r4=kLrvA2E?(k?9jwe6@LN_GERsOxOY$f{7{40Kl9>0<k_ApF{v^wYb2XvQF%bdne7 zBFVkOXS!JXF%qlz`;?An%O6q>_|@Nye057JttdJR7VvtJt-|kpYu(h8*=P1xVEqr8 z7gy|DP?7pjqoopmmPx7IlO))1x21>?=#-9Wo6w1?>k-2EUczLC3AS^Rl#sBkc7cB= zp*=_PO^ckC-!$3sL`!cJ+Ume!nYfSCH8YfNiHK~9eojp(D*<49Jwo`17n-ysw{|)X zQ511%DrDmT_ zPz`r<{-`62*-Kr0_=OwbB?Pj)G&H9_SVDG@C|VW7K!G@x1uo-sTWmUZKSP=~{;~rz zpb|tCbjXM4$hWiR`~J4{Kopu{U8Yl32<8kv~7tcLy>kOMn+?_YQGSDv=#lGlb3*wsOZpPhb5)Fp!1~ zTQE)GZznp{;;W~%#XiQ8Q;UEKT*gi0Gau+xXnl)b7si3ajjh(7PC|w~I~M^(`gQcQ zz;|Z<=@-(H%IzVI3Y`Dl9mzs+svs=N{fwPpxa%z2!=9gNpapc?rDK)y+EmFUAb>P> zn;uN9UND|0^z#e%R4BZuJbIz#vMTQq9X$9L%W7^qLGy?5lg5G65gmbD)n-`B;r;Pv zDJDxh*XeIs;`bYf>{>@suAW~$!_ zH}B|9{3?okpqeT>ab1u}EK#@R<7m?^k7a|4e>?&q9dsV@=BR34HVL|Dvc)`BEE7wq z`_7)gDZu6Z9Y7~esrQ~r=fkIGBM{~N#ki-%SDd0|9ek-^7e5aD36owCX(;B?Xzk(CKNBp?r=A2$CAxf^%;Q>e5G#C(D-c-3J0%siRdUz* z6|c>Ja^+#iFAL~}lT|_VY|I_*G zqJ1uWTRJUV&B=MwvULKBf=z&>V}d+Z_B84JdJ;*%vq0xVV2F0&E9?M88lXmTXT}qt zNZy&vEZCK2o%hp-L;VxGmd-Op78ZcKWDBTFM&%Y6QtYORyeK4_6s-40nXifS_kfrj zX%f-4e=DyUW~JVpfus=5N=-;0kP}Cb;l11%nbO=QmQVe9&^U&niyvv{Z!APd8_99CG&acK^U%jV;K>t+vM($lH;i;q#@U5fpW=kcE@5WbSreBRZlPai|%*NR5E zL~E{aBM<**%*WlVXwgu`+82h9{Bf=X&Pd($u+iYqjMBy@XF)AJbmVyk zJ~Itmc}i%(IXFfR#+J0_+}OI%y8veT#lO&A)nNn{r-2-CC`8Fkzyk&BUcP?^AnF%U zpM=2qrXmSHZN+BE4ST3diwwk?0lXsaT#G-w+VM?b%r0+n+(CFR-JGH8Okt^eklywjvaSrI zL76UJ#()e8ua=t)$Jr*lR4SmaETywejqjuxjT-JYOE;&fg^lI3pT}dKSG-z~LnNqo zmmt9`9I$6lLY=&#qb(}=pBf99XJOcLpkKfq3bnjsps)-{ zxx1gJ)Y2~j{D^=n2u8s^Q(d=LANvP*=1_Qqm<;z>7u6YVGh4#WIM z(c&?Yn9rrewa{jeEXt5r5yq`{X_Pa_lh<`pK+2iy8s#{Nqz5dmc;jHm{-=PTG=$PBH6nZH+5iCT}3 zbNefLm->h5W*RTCB&pxDcBYv-0pGo;eZIrbco`nM{J}IE8N(XHBmL%9ayf4pD$BW5 zgyR-`nCX3yCkAcd6Ml_q{)M+<7#e5@48BRBZGX)xTMeW(=3l=bUi`G7v!#b{7aO>TrcN zUDe2WSb?l(#i);kVnai6I>m|L$?4YZ-A(f5MZsf7mZ|^AgcBr@C4B+*$I`t z2MmVpKKFH^U_$7rK6sQ&yF`HCI4z^DHHVoO1r|MVlGzi@u~q`Rws%P%ckY|7JMC)O zhpi>ufW0B<-}k1c9+M&eWg0ubg!1^wQ)7IxP3nfElt?>$DafrgI%)I|nx8L>ovyi8 z?L-Od@hZzQUP|^>fe@C{tti~7?Uj>z9e-8BP_6b?U*Olu1%sA;_E!ha64**eBe?E< z_&(#FlO%WR1X(zNF$GFg;_v4ZWcV|`(EIfC`8Pb@EHz+HSwY1DU=K_Fr0f5D((b-C zA6qw;OB4`|{khr^>zF!(7M-HzRQgu68ygX0r6VW-Y+Tg{rJ*j zPoR$T95UPam1d)H(&Sh=PN;KD*^^0Mq2p3j%WE}W4c$2W}+@_sILeG9*O zVKnQ7-c|GB2G)sC-!uZkHF^L<3wCyP%xLL1TC^q*`S7~wVo;DcB~3j;3W5;lAgRvn}(qY<)YrwSGyff&*ThYKlQjlnP@U<(LTU`MNd zNUuyT<%BtiCNTy0{LbCo#f8`3e92jV!93l0gsfK-k?nm|1$P=XUY!X&l(1uu;0;!9^ z_k{OK8O>h?0@ii)Fyc%YDgd~azSNC?xp%<;nH`RSm-GrmA>$i>cz7W5>o*}9dy}Zf zNY-Wvfhi|i33dMqpP0VzrkB+2N@4*JgZ+Z3ekWY@AJ1vFXFi^d&rBk9{&FEGsDl7g zDRVOhM|Wde(GF$`0JJW&+LaE$hp0PgPct|((wxk5;xgSe4ktL@4`4;EUnPl9UoEgs zBVd&CmjfJ{v0#X0!jdU4Te&}h_uTza|EL4kt}W0jWEfN>e=J6mW$LB#4KVx8LMhmF zaUA^4M})Sy#?Y7~baT;2l9t>j@7Vc?ey97Yt#fDJJxhW*bMi~QWEJDFaoO8O+WUjF zbvC8!%`{#Or^_Ah;C>Itp-z__q@P z9`OBL0l>Lit!Z|UpzdFugpe&REj(x6i*CN&SFDT$K#bKR^7D=_ou2d7zYHd(r>VQk zm3S&@ikm$eP!y_{Xm)o&_wTFHaii%iAe zyz#gQr8@yVstq#V##7A_5em+)C~PtH4J875Oe|69MkRRP)vJ!%TbAOi0}X;l69gk% zQkUfGii?uR-*A!^%;Q9hk<*5i0waft8vwQmrjr{n^6U_E$Y| zda&RAXOIxXi_#{XL(t17j3qhi_Lf+Oru#;7TgvbzGP5w#!K(X(rzPx)X>3LD-dUh% zF!i_B0BEx|5oVTS6$QP33p-21HrZop&D96xShLEPr3m zhX8ympp=%LVaYgW_~R?{>ZnWfwUpsn0I^-+Ssn~8B#B3y7ydorTs94`)=Fq9+Mkiq z(2JLTJ~`P+7MJqBoqW~Ten)yt@I7=L77KtiiuQl{JHBynBVnH#jITeUKUgGffAa5? z_eLT|hQ#w1+}kCa#Owj`+`(aY^jO&AB9s%d-UKrArUEW^lo9;JaU#6k^eAuem7wF7 zD+(UFqQN&mDLD07P8e65psO$fqbPvGG%G{4g5{rQSQs#m-B7dA;04IbIuNSyt`dR( z>@mobb~|Oe9v+a-?q#>W{;anLcG7!ikU-BY3G{3YXnXh0o;c3ilh156(w7L)e{M5{ zW2VPbl4PcrF6+~9g?JZSk=9h&w{L@RYMZb;B@PSpI)aCWhw^pnV{ou$Fb}1|JWP!K zdO%BO+oHms0*=Puj4BFNG&RE#{nuh<weCby!h>T+Z=;V~UfKxH8eVp&<_ksZm%35B&O&V&7KxrnJf@PhMSuQh6cU|_6Rj193| zs}SdmcGGzdDIo+2ls4G8!_7#SJPOPJY*a{-c=K z@T;9}C!=#Xm55-jk*j7>rd8wwvyMK2PKH<2vj7k#kh$Jdn4zREqEpE7dR80|cGylar>Y)cfY zI9qA^hEG-C4=Bp`;Ce0NKA@KK&niWuZ1S%v4DI(h8ZlIj^NX)7ihiiY?cj1<|HxB8 z)E*Rw6_c<+Evx|d0XH5fg@%S!{X?d=G8vAgNXEa--M!B4Gd8^L=9~89?mrd)YX@Eo zn%B+n4vLnI=}{Cpy6rhX~jXtRz7Efu7KGXZN2y>zF=oK9>ZvUd%;y%FJZarun|6?GaBLRq3seV_@lc ze!fL-$Zrc+tO3PUuayF^%N5@z%S-*jvMIo6Xq0SzYbC+$VNwNp4HP~{e13Rb;T#2r zWH2mPx1wn0cH-#@bFJ`4BYvY0$n`mAR09*Glal9C6KS%0QM_m7{BON#Pfz|VvH;dd z^FPOcc-i9QtG{q5j!(UOX=zEM)R+mhR+Sz?*8_JU;LwP?d?Uh;DTW*YXKIwMe8Le8 z8xUB9Ila-)u|UD%008t{25q9{{=rr4`(3*hC?#qreZBBNL-O~D3UsrtUS@wDRH>dV zySMbjNX#z1+==-ByRsGudQ%zjx_#R%4)1Thr0%8+%t@ZI6$q~k^B%xCwCSWTv@W{c zQCrXz{jI^1bkOgKezV1!`%KLq^`_6Al;^$Qr{sT+#-yCPW?2HR+qVdQifvb)dKBsJ zynrR?3uqnujE!wEB@1F&x3LaE_;c;BCz*SReSgu7+{5ILPH7XX<#xQWJ9rZyfkjci zGW0&HoC;L^&cGIXhFRg7k{4|SLOq?hIy;)jqAK<~V_hT&$0fJiUly3&L13Tji~V3|GwybO z!5*+~H(s~jMCL?2>JFN~IS}+30{Q4sd>t(iMu4(L@AV6ZGFBSx%g=CLo?tM?*Vj`@ z;T1*ongwBTk(f>O2wX+QPT7CoUD^gQbTY{IOMX5x$EZ{g%!nz_Xtxvo$c~?M=Cj|w z$mE*nV%A?6yZ~Zx~c5`!*@@G#pa7KPnKkKmp(e~um<#ISC6TkXS zaGdzE?t-JfE>nz^dHMFj&{I18sA#736RQ%=r)K0|e9kY>ap;~43Jj);ZSc+nR$(6w zD+T{8>jF4hl3P*wEWlamD0s6AhY!-jRP!ckK7o24vwWJ6|D8_%UE_ap!})vq?mrd) zYbg02dj3D2IW^h(bT&@X6b(}OX;4pQz$<{@Muh%28{LX=cvNWjiC`=((5Hx%5=7OA z(SpT-;i65rCeh18ES>mrqc)g8NOKZwXdyq;sDS6NS9Rla{}L8L+X-`B0F`bnM zgqD@c=pD^OLS8j#+UzbMWys5Kx%63YSxYMcU({vi+fF@!w;DA2AN=N60}e}?B$Z48 zJ<>!=3GFcDvFnw1=om4%(T}&B{Bq*20@e*-VoH-atEQ)v{&3~;(p97Wq5$TB>K|j} z)sRQao&zFtdLe=GpA`R5UzW?#7RMW$ z;D3W1+5GO)X5Mh;_xFbJe=Go2aafzy<1e`OXl%gevev`_MD)wK96M5Ro2H!66o7C? zi9_t_q|e=$t4K+qx|fdu3vX`cPwRp2%-0L7Q5Q4aDfd?o`u`IH%o7%*S4ybJLo~2m zCxEBag{3pXem(aTZu}0UY$H5Mi+q?WR9F&Mc@>N{{9%D`5Xh;F`IwVbMJUGi;0wJh zuPHE6F12D>zyjZtLhM+0Qv{Blpp3gVgxw_>yoOm%h$1ayN-PP;fF5|GN!K8;1a|FO z{DZr%eBS*=pekRjdg(U#?|Rn>Mn0;l-=t6i0E43V!7oUQF=2sMU#mAk#MWNu~b^d+>K_vFf4rUSnqU0Wb+5bS zHG50<&uZpDF@DiO<5Zda5BQ^h+=$S>rZF*ffb{bv@f~gJD;>f*T{h?}vTSLIVXsH0 zGO@QM5E(OlT&cecCD;QFSdL!jZb#bKf=j2Vey^9~#{FJ2H8cH{gI@cIGnJ8$1cOP|%4&=`{lW|etdVeW zc5AFZ!TL)*0`wv0|c6p zw(uw>CZbk+Xz2b#Zxse1{z;4eFvkGk2J?z?xg~O;cK=I*`#X!-d+bHBw?r%eRwLqH z?NVp?rt$v&ZLZ(%NwkB^$OkL|>s2oiu@dM;^rO7jW&O^Q`jdAT84@~~^xX8bH^ zJDR6&4t9ZFB1LsG`xU$ctCjYd{O9lUWhTKXSnPHinXntfm!YF0b#pjbjLIVs*HbnRt>b?cun`M6F0aok%z z|7xWXAUi1OC9v8KJR0lD@$RPAes}BQ&by!6-QB&1wHqxm;mN^FvV_I1Q2I{ z2DP4qwU`+1OA`kY^niW7i>XI#v>;sh`9z`M2|-1QYTf?A`}Uvv{+-h9cW)T|#{yv0 zBL3&pRr{pZ9R0R*dgBWQgFdYqA+@4Dz8R0IWF_D&A28AHv8>x+gQW$U4lGb1KvMzw zIGC&hBIN5jV41J}RYEd@2cjvuOK_-hsWXlq?a(HE?x_me!LtAsxB?bmTlA&s0aRdLdgs>{I=g>$X}#<$2$6L z3Gi17&Vvf5&x&^cuPu%#EdRlE}2f57$dE##U=55-hJ?W>TwYbbZ^Qx z5d*+hpUm%*FZlc4Yt5|xaEG$K8qLZ}R&nfw?h>suuj$gkBn-{t7aB!OC|I60iOJL; zoIpc)iK89qn~_-HG-lJSCzLTv(_;Y_-ggK@gB2*cZ|=*NxETRofqZARm`PY1hzd-S zrY>qpTU=pse>A2(Hu?LGgq5TD@|1#M0MxI1KAw>a^El7oY*vTy2mx+u2!3eRBrx1h zaSVN;oDLBV7cT)KTtI0XWB`Klx}xT{Ph<3c(jduzHWxd$e|y*VM_&5C+g^C90SAiJ zh6}iE_RRFGx$Cp-Z#v?b*3|evPfoRt$orVltCteMf%UaDrta=Rzel$C1rK1Wje3j{ zANTYgD);?0lcrJu4vbgsx<}(c!bG^N(_Uy1VHX(g+R{)2QL+ezkXBr2V)f|FvZ@Nt zy2M_VNmkuHH$^T&$fhxZVqk^E1Xt!}9Qu+2FUA{;?^@{o;kwJd{{h+km&KoA0TAQo zn*2|^^kYwBym|egH8z{`>W%Stl)Lx~n zi4=D4d}!&B-T&jRE1vsrv($0V&CcR#lMuFt{(YCNJ7jX>N|PfcGG9yYK(`41T+0dtnv8r@%L1{fqVVOA1nq9j*4fCDj2%m2l0_iNj3 z*?QI!{x9ol*|R;*@;9yk)_}~fO#U;k{`fk=Rev}ipPU?I1JYtQq+_G-XRyKsV3da= zc#A^=yOB5Je!>F?!Uf3Hz+jP-+-Oa}=-*s{1W~&NI&?Y?S%40U^VmKCLl1I+Y#C+W zkz+zOLdmZBYYY5<(?LWutAg+xLZ<;fdgos&wDMCN3CO~6x)1Y0>ni}IBF=woX4j7> z0u{e%N|q_skOkAA;SSFnvnG-G$;*zafz`RUao3d&E6M4Jk}NAFJ#`FtioK;Qn_9PT zd;QF(4!hz%UOp!=0W$f|idA*y$mB040SCP0k-O%1Z999{Ba2^1$qgpYvpnHB?KUz! zRdZcB7Jv@>@v=%JdR;xTA7l2iWfYkBoS7P+D5kHrQ3+a~W0F!H9k9W+9aoc&z{S3))oNS^+&jDf`1sVu zzh5`icnRtM&`s0;vPp(PW(c(s4J82&tO!l3}A2o4Lu%F{v*Tv#RL&1xJE^q&!RqCcH1d1`QH zo6J3eBe(*FgssUbb&yYv@nn8+@l(^6{NP2__-St}0OADT7tZ&;R=o#Do&OK7#n!}c zk-3QMlv1;fca*nsz2+zU>LgX5l@)#f3{RHMw7gHQWi%1!FYIQ5m;(v9n59C3Vhmu= z{a&H=Wp!?PWsu-XfOX}s8=4GMnDbPE_t29*F6rolk2-Q10~L$!6@rnU_7GL?#5;ni1bA}b{=GQb zE_m3UxbC?Zt1!mO{-5glCg9-fYmjd_s;G=P5@TP z-v5M)u6+(4YyW$nw}`T;;b6M+7X^aY-8iB)`TJuy2Uc@{Fxz!%BVRX~mbC_f1k+}V zCIT(WSp*oA9sr(ajveJemC=XO*seFzsry_Z;DbR|QvR8vw}u|oikm}7+uD0{#KJg8 zu+fjDuIQ+mUer%G`~t^QCG=jeVbw#=J{dzH7-?YQOktLlG=}0(gfa)*lLBUiX`?`W zJ!qgQ53OZAOXOm5!2`SDLevNYTn01R15!e`PfxJXq_%6IF+8FJzrsVeEDp^NT0 z^v$SOuPi>!m-V#pr*;k(g2iL>ETal{ODGgAkrg|3Sbwo77I zNiCE`HDGE)g5*6kphgGti8f1iFZA9&bLnlb*jp6;;sk)L&b|L(fA}~1@<#gpygkX4 zCM9t2dG}cJ|79+0m1eiH(6#$uZ-U2V2WUH48foTaa?&S3p~1pD6Fm|ZB2_f5M1*{? zI!`m8;xR1O^$#5kfquVDfXIM{T}1$D#1h@e*9q`CZ@YWt2*dQbIt4R@--izymmmXZsp?b&h@C0;y%R0#h1sO|F&Dk_`KPHy7(SK4jm3)_2v@U{bx(OK@YUquv2g!zhMe(1K_MWTJ3A&mA>&FhvXQlGOmT5UTm;?$GDlRP7!o7z1ms$P3IQOMK`#1glq**O z+=qO5dIIId9J+o%<-rve4&{BgPf$0zO(&^awD z>pu1e>BRJZ?++y7m}XT8Xlu$`IPLtR0~Q9s%7?mt?%mwM4mudK3y=0!fR(_W_F#5z zbm|FG7wi#Zpub4P02KvNUf8M+R_z&`!d5BEIkrF`n4)>qXz&K;c@GRJ>dEdDu$GN5 zB#=|lVSp#~>;Gi#4h&YQz!p#|MMdWV%itS)RWeVRFT@N$z@2s~e29gwfUmQ>j1_EX zDpzp`dz$Ix0s)O;q#L?89=hc5`C7tef00 z{qYmu@#PDYBi|}x2+WzpKx;JEc*zg`w7aYKvQAeL96MYJ$g~rUkFhU_FxR^Oy7(Qg zPUs#d1VfZRE16}L@OhO*pxw_SdTW@G>YLtfen|7rTnA7n_Xu6>m#`*|Zsg%gimsdu zoeSW6M}}8v%#$64z~;B=Ia|PAI62UT0a%4oH|pf>xvGU1W@3U=p68c(H)p$Veed2V z`V$L))nf8PqyHzp_G3?LjkVw2Lv0l+4@Z^j@&c>obAb_y)44nb_tvjorR{Tutr9$X zg#~y3E^hu9H$BtQ5dX&R8rsX%{8a%a_Q0IZRQH_8Wp_sqOersf!!2}VeUt3xdL zYHPI$Vt}>UXG3}crKIU$mxkC2Ww0?fqtPnd#Yn>;h9&Mi41@N(?$5#NA>@|(|EXI$ zR1IUx`%w3KI!v^`X)1nq0InQj4tUcUz@ZT~a~8*7+ylXTI$W&< zwyg+GXs7EJgqDfszwUk~JzP?m&bL$``^ucfBtR4bzFv+59OBEl#Ehi^83q3T?7auP zXIE7(zSlm#a(kJQ%p{~jC`qIVNRtpC5O|6rBoPr%!HNhmkdP1=2dSY;^MlGqiUBKv;hg?2u#&%fPjq)pEo^xJ?fpx`$YUfs5Sjfd*5z`iH;^A`F>w%cFk|p; zO(Q$Q%?!*B#N1HQeVv`}4KrL8t zz({JY(b3Cbh1Dh|6l9ed`&4C-b)?ClM@C4b+PFah2T?h58c9yc#8yjstSQBm(iR%0enU035Zy2YR&m1AyFzx?+0R@pTaKr{jc`m;9!0E&x6uqT>Qrk zz#)hJN&kH33*UP-8Sp%>H(b+9Y#USUjehdf3|eVi%9VC0lxABbv9j>i)LA!8y} zPZh<`4XiE5xfeU9xuHV?5Ssk^A&DnWAz7$28#w_Go6Z$rkS1HFW2TknN`|mKM!vSe zMizLbAySaC%(;I*caUWM?Y1$rdjHUbHV`Fqx7NU2;4~9-z%&3)iZxD@#`2h&fDX;g z!+vilx9xn`siz$Osk^-J(|6Vifg{Z;z`F(>d&SZxdh4r?-M7-)Tc}mym6gK@6OpWm zkCO2KEN>?P%5xH&Pw4c15rLl}*`iFvCb6;xh{id7M>B>k}m0HaY-nRe@ftmD9MA|IK@ekj!_@e8-hUblm zf8z$=FhKvh_;3HCD`%#sr(R2vKOz$o#0knJ{MzX^7DR6Yn?t&ak>m)l&KjM5*|`0TFBH3%Dq<6RLJrIoC|?o zzxdUYGpcH%Y7Kj9L%F#9UY*6xznpm4$L@P1HUZi&h$hI^u`l2Eg@eln9MGRKfTCHY~x$C((1)H!hx;9ncEpx2E3Uh7&2B z#L5*5|J+KjD;xh9z+Ka5R9H5xGI;8vC0i1+#54iL*6k-R96SGsd+hqyqpVlJl}DOa zfN26wdezc@uC5+<)V}56O;QY66u&(rD=*QO7HvbL=J8=ke$p42tS&a4(yd(5>k<-~ zW+3m?8d@n9C+wOqi0`A25Sj?ZuQN5ud>@nKzm$kuCE3OmUxqH!G|PT1l)_}vCH6_d zWh8)6U4l%V5coqYt06}^w?Lg-mF(RyT{Z2m;`t@p#S?^`cIFP-KkIX z+uBw{WAbD)YIdkY7Q~V=;63x7L&q@>Any;N_nJR&0Ay`ece~Q%hlNi1YPFp)HnBOH!&Bj&O)PNbomg^wroe z7HaKF_lCf5!O2J3^TeeL-Vd#{$`NlVSgBgi$d zrJI49E?qoxqBHmLg_+jzrJU4Jf~^7dD}5c-C2TWfUL&8v83a9&N%-n`DK%?AMgoKe z>ui3Hb7DUF6@g+g;MknD8SbTqTn)j{vJ^E`E;Om(Ni?DXzA3_lx8y^pVgmpPaw*ur zq><2;23HBAoFVLgWu^C-kACTEk3Rn@Gir^Ae`5sT&_n;?_dYZQvUnACCkd6p67+{D z{AE~_%DP=NSg2GXn~ag0egG?sUgl>ZR>34*@$buuw>Oo&aD+;!lR$tbgfL`UTySCu`d1hL1|7Xfj@eEQsiHt-QNyWJIkWERy1 zB6e+=&kYQyjI0mbWFptCPR+K})WkpB{S}{mZuAP+C66>DVCT#C zeS2;B;G>t8dN&lq)mDq51UuRR(ZM2~mS>-T#)JoCs~1uA`>$x>d7}kPF3hhrevikg zIcWniE&dgf=LXT-SuRgCm(2)kOcK=0O|MAH9O$ax&TrVT-|dtYX*$u zG;Xekn>b4Bej1J0t%0N+v@bU)lS{b-qhpKf{#}iU&5VMiJ*061>*Qe5t5{>Etj=CT z%Ag?8-=}Qq)EEdyroKVF+Z+d%)4r4WybE&($8aXw5J)B|R3X99U*8a(hj7nHIp;fF zyV}|-fa3T{lATU%-S)bBUh(OdI)@&0BpC+zCg8Z&?7e1rW&b$`R)#l9(WkW8a;O~x zJB17lx#z`%qU|lCJ)(!B-Sp}*DEPHr_0C9n2K@aTS6 zLsWGTO@6jR8f1X{qo;-CP-p_OQWKqmsy@DJ`wPGSX+y6f0_V6OjT?YNY4>L$Pw)Kf ze|T`G+r4-|wz>rS%C^3S35-%2kWz)&clq62rQ;58ysGWSJyB2qn+Wut)g1@|Mkn5F z#=k$+?gDEBWK4x)JbS-uR#fzdUN*RD69+*JEh}2t-LMF8sv@ijAS0$hPW%z+=+a~z z8Z-Cop=+j6fXV_8m^_N38v(W0AovH7N!&&>Qn^gAjs;ycLW;Y10hyaxFy^sROkl)4 zuLTE3zzcHF2DWu$krB}Y0c&N9u{lt#(Mp;i?s1Qz(Z|52C7NbNx&5tf0;oK;hvY#; z-=e#1$7K(A?HAu>9@3F!804CO<6pb{-PM)lM;}=3-B{qDMH0uM<^yynMWB!j(ykBy z?eiVAkrJYw$co&K7pfMyfwRF}F$IW9Q!R4lKHw&bcHK3u5(4dJM(!%nIZpo7)Iz3C z@pi>7_{ZjED4b}K>~F2SeQn>Km)oXsyy_k|0EZU)2a|XHd;i&i(>^#*=Q`&dKF?7f=47NkN+nhu?c{RMNl0&mR={KV(^nheKV^@o0VX(M~(5*wW3<>HaY%@*B!I_ z$KN0O{f`@f!$ADA(EpipKYF&DoPN+?xL%r|A7gZ*5*%9vcATilvOFtRq6{}PD%E(1 zSJSmbtznKg*vO|p$@0Z3H(*V)Zwx{KmpI7aMjqNh|34h`O}>C$4Zy%k2F>JZ3bbNj zv&@s8@u1V*00Qw0MXJA#k6YHJuX+7}jLM=7NpUJ-5w$Amje>*fLXfIo8*O2$fk`r| z03hyp!)ieJaG@9=6!g<>bq);<1x=3;602Ab)yv8xnn29n{25a3fB;r|(;MUWq+;WX zQR-#_iQJ!gMT$msi?W1uN)v1yyYtuXe~xK@WA-og zZz+a@R-wwW3oTMPv|Mvsu#37ryMt@%z3K*POsOiU3a~-I-#;KKE}&i_9D;y+7}ciW zda-FKs$};uZlXEPL%-_Jx!5Rb;;8g?r*u(GwOhr(mDO(z4_^DmvETo=0T72J=9i|E zQ=at?cZF8#g##U~gF~6@pAi|%3~6eZU?wbxA-JQ?NCY6C^z0!Gd0sG!sSYCPTfrG2Jw`kW#%f7NGZ01Kx$8me#4&d1Vbw2+PITHxAg!;tq zq9LWyL+2_Wf3o63fEn7j(R!+iK32b0AvQ|Rs_0Yda}mvcyv#3N^9V)on2EcwPoD6v?toN^9s-;h7YsI2+Ue>oe!0AP^g+j^I!kUPKlHeO211JWiinriM)jZMYr?BQ{+I^Ay{&j;jJK3h`zx>eLbHDT}mC%9l z#~1-P6qi^E=NoZ67<#1gLR>@6}q=V33cjiIpcJq!> z2%K!l{lL989cy-}^@S|o><3dJ7Ln@Bh9qV-?rfB(<5biKH({e6dMz&l>sL1lRgJwX zf6Xz3B?))E6k*?MWq3l0>g310`*8y@qQH@oNX`mCXL6LM!&SbYcNuaOOS#1BbfqB! z5@uBNblp(2aBHyMAHtSxKRA5^z>)$E)}K+tTv>CoCOUU2CZU zaRDXms0*tC$>X5wyf134o}1A-1Q=QIg7PHG2^dAt+o&F!H?B}U||9cbpD3crK$dy5EGI8firFhlOAG6{Cp}+&1 z9MN0%hM(`#3+)6X2>~c3CIoco7a0oa$q>Q&iz7R@FbzWD`RWE5^slXKHs%3lh{O38 zkiydn_zqrFOp!*(=|)cfY$IQ57{qqK!B9m)A`7hq4S`4uk01{`0?$B~<~7<3z|$y^ zY+w`=!b|?DWLDq=G>9GnQ8x}5zaYMrQU?Q~b+ZJs{;`c94bsEbM60Ft-u9h6Hy!wu z8(;Oy*B)s|fX)uk_Q5w@a@;RZ&dhvZetxDskW-3K3^}0m&k{?6&e#`4Iys+k6E4=j z-~0?o96PrXO%ig_A^fS^*; ze>N=VCML-AXZYrs=YH{zb$qkba?$a}7y&rccE6-Uy-ZHcp4QjIKV8>++@?~E4JnG$ zo)vIo+g;p5hnUwm4AZJ)J4sPB5C_3Xf;wA( z)B?l{Cr)0fi#?YvNv|!gd5uP)BpZ?g z1&*A)IAb0#NeGHlQqA`ZjR0`z9%Jugj7q&j7A-Zeou~_);RZoGFo~fNi6&h!zJO3^ zA@T1ue;&#%G^BfTX!>jQ)(69KaqB&{?wtSFX_tTa9!DAypo_oWMels&&;FSVvVMDQ zg_JOARVy1*hZ@~N9}?JdgugQ0w+&EvyzbJ1o@6_?^^2-B=bSI3g5#!u&2xdO1mPM( zr@E9(fQ@-ZnFxs6e{+_J@xOpLc}=%k#q!Gf&-(jrzCt+N-}qzP031@yzb5|O{lfP? zP`2BDG9Z?_jI0&r-j{i;2PiIw>Qz<#=U`A?rt)x++yYl*(Vr-iyw7HKFaK3TPU8nr zGvWZjm^e;zB9-@5elSf$l9yYyJ5(F8s=6Tf<4>#j* zsNbJp^IM}F@y`i!2TROcmtEd~NuE@g$5ncoql+#^@(RFK*`uttg{^n)E>3;&gv&p8 z#*x+pXcHO@NpF9}O@Dvjz|wPom;k8OC2<0=-D;a@KdfeyTXkfX-Dyq(X4cM7YlKzx z#XylJ0U+P1iH$iexoK2&sKHGTiLoZxFPea%$gdQ=>a$b;w-n#DChlZ&Z*^YeFL_Ip;D~7%#?04YPU*5b>s7kv-Yk^52 zXf0rJ1$2;%;}Cdi=+uZwzUK1V(f^5+-@iWO2J;}wkJPlVtc27BX%ojJs( zfz^1`LS&CcyB#VudWS3-%mFH+NX4CflljpoG9zEd*d|TYkPgujx6m550D5M6%%$ha zh>^s|&?vV8vcWmF>CoufDtT+Sy4@D+-*e;sz55?~!%Lp&5hh_sPoz)GKoy8|%Jn?50cpe9#;vJQlPH==h1?xz@%IK5Wom)260H;ZyZc1sR;+&~C^_2S!N4l%S(>5?S-anHMs}LPIvx-i~7E z@+7`Z7Jn|`!aQ2HmKvPe4f`~~0j&c1$ zS73eZ5ffRP{pEvkviAW~>6^&yj4)+r<3`$PcHpX{_-FC4UdD)68~f^ut`G7_5O#0F z>$4veB;S8CE`=2-q|;JX?O~ZCpm8l!q0tRwRYw|y_})hn5?}`HUAxUwSiJn|T}ubn-`3U%No8MAZk8bVy0PyD z;Bpkq2zGVBR9J}tu7kenqKG5k1Z%TC()XG3dz83Cyra77z4ojDCRv1Rh(S~QQIu{q zRua1!i`70*{>Xus=;A+?{f!#{aX2*pCqDOGJEx{6E~7KZCZ82D*{@f3U9mApyt9K# z7$ywrxmEXP8%$EXOws!nd>x>s5oF~0^69mkzue3NwDQh?B_Y)&vx8P*6-3SHqDI)yX}uig;7X zjRtBm2I_f5b@>oYVcmIxFm6mFtZP;>vLeI>!qgzbxQS{L^(lJ8hr{0cwp{wXe;)h& zj~jqPKmA{GhPg%;x>L_Bre{wq%R#AGJu+OZU?5L!aKR5^^wTWbY;0?O1BR&$$u3#d z7HH*UKY8x9{yT+~wZ<>0E8gfmw&3!(4GeGME*n_)j@)F_;_;4)fCwzZ!1*6Ioj(Ew zKYKp`mgFQjq$WVi2FXpxA^|KBzlteI^5XM5h6^$Xj`3d9YL- zxaDPIzyEOqaM-5*`#t~4yA>_@`vZ!;)xlo{MF0A*&%-hl@d$}yB(Y(dwO)ny>!){4 z^s7Y%vSy>M`wtp;R+KzxO>QFho;%bfGB$-_cN-f4O!w@V#}r2h+U$>|zwzzkDG3c2 ztS^(3;F2iUSB)lIX6a{Xv%_SAz$V;$0&htBw3kmzTy`?}1=956O8zKhER=GYb#oX5IbKB=WcFe^e zeBhDR1R#+D&wPtm-gCo&C+^?B_Kmid0#J;w^|Nmoi`&4^!+0M=cw9!O{S4(v2&SA= zhoT{Oq)DL!Sq6m~ZRnFI6_~dvsz&k|zwe~JeuQ7~NjEUKzpLzXE$lDVCGsR?MZRv! z?i;^3CjN~ZfJ0yZ=^y4Q@om!49(NS!67G?qZ0(A@GM?+!44b(V7C$ghwj@ z9XCw50@Qc`LrJ9PQY6zWgc-eQ`e;H1s$N5RxCyrr#)Qzskr{KKqpYMGVok34W^9^` zRy;ggPWXaY$h8zqLR6DLb=vak5C=GOJD-HuC^nVo&ZhK=T{H%`A%~uUNkjQhmUTay zdFZFf47LF3uW8Y5D2BJde!o;R3tJbq&wb?h%Z{uj00;s2EV%{V{cShhcHqFRzqWVp zz8_B%sznL`GCU?ksOXqgfHlO@gtwA$L-N3|tT$qu5$mNPYlZ%G?t+}%?=vO1M04Y7 z0W*%@9SF;U{Fz}~K&sL-dNfR_nNC|G)7$a1? z^Xt6Y(+L_xnsLY{!{mzaunj3JCQU>>vZ@?<;fX!YoklFR?ksK~4 zN5}&k!jBjy!@oAsx;bttp@svHAR<ZKFW*V1}G#;MO&0P)s>umZD zhzL}=E&ykx5VIumN0h#n&2m7+ihom7bDeB0sAU>skuyRX%E0-=ENa+HlJxtw)J?#! zEan%tOfSrS_s?a_MvM>@s2{9wX zt7f^`u6O#Bij+V_K%8 zO`R2+t)0lEZ|Fcb<-EV+^nzG#H9IPGOXYH`tX;q+zi=s284l0&4f|JBD+fYs_6ARP z$00@6?w`d72e6Hj>fFH>Q3eN@>(9}V+3rq?R(Fb2;gq}#GW{M6#VD7tLDmqV-(|bA zR)LBu3&dy_49$v&IH6;$JWGYKXOxUeq>?)Cu9!ioG2%7b-z#Sa43McUp9JFD3m=}G>dKz%kZ~x;lI}sh`qF2L3Rk6TW<`{#M(0XZ zc{`*U?Ie0f!ofxt5}slh-#b-fq?Idg5@%BPJR~J3YW|8PLz?u^a&Ed+tgM#*Jaf_4 zAMZB-@kdy?*6A&Jy~?8&m9a%_GiL=q=Q}|I^d~n3I~?+j!-f5*o^Ed zNe|?^`@pJ(M(CF3hvzASc`j~#WaO~zX4C^&sYoWze7b8&)(b%)i~wc97VW3*LQ_hO z2CRqyaRacwW>~_&_QKFSSSOF4@8LsCDu1n&n@Dnxgc0b9mk-u6r`@dWel8%?`THlBf3Z#5D&QM81Zsg>?C&#muuHPd03N-xXgACEr0c>}FKPOy|98 zoL)7#lK5hT1oX;sZejcU&bf~qbLj`~d1N60)-CXumtFs{VSo7#anKWOEUEmV!(%Kd z&^iP7Oax_64q$D7<#9kD(fM-$M_l?%#lJD}u@bM%iHeY_nw)ZjdyH^(Lil}!7otL( zw{XRu5I^h^971-#E5oJRUo4#8|G4;%8vt=AO@B1;Z|ANLO|_>wmtm`Gj4N~@Lgzmp z6X){y)v9bxGAFl4vQakP5=Jv_E0McFzJ?VBZYA)h;c?|fc%#Qq7c``ls&4|=4!vHl zK59+jndOD+_knpTShA2lG=|zY;NSscCk#d|7*`iXZd(csjSHkxsYE_=dRu3{Q}=l` znDF-FbB-ST$?XOrnc^jTkvQQkcV4VRh=2(-J+U-#jT?b{jQlh7leDUEP=Mh}$VjXL zb1n;Gt|N?&na;8=f?s`217KAam_;g!M8alBiNb^j5xbt6fB}ut3)_y}vSs!oCtdpS zyBh@H2x$WF{Hv7quwQu558t-5y!@(`=mELhAz21%M=^6&v;xG>kU3Lev$PPEz&t5p z$Y8mRru&Ui0q!{B5gf_tdD{3&fQ+HU?ryN=RLY!x`U)ysE&%#7QFS}?y-W4hh21~> zPyJeHCB?WVjT?YNxcaxIKl5w--)YUvomr{@IsSo^EDbMi$)i4ya?2h*+MbFJYhg&g{i*NPxt+)#(dN&qS0f(GwB63P8OqrLUOxXg>hO8>7b4{ zXkqeF^w(F6fsmf0q;3Q<>!6Tq=aC6O7DMa#2^dLfn0eUy2}^m!f(SCU#6Sg8TAXwZ zh4&fopHtAl&USEUE<227K4>g)y$)V7?*g6y9}ozDMm9fWK|FrnY&Zc}q=ZEUNkfpR zHyn=uRW)%?psZaH*di{O=+Tz6($0TEAu|VZQ!Y5`XaHYyASIHrpIz7-AwmM6g}uSB zSlE82?w0n4j=ALhrwZK!TzO@2BpC&5+4aMV_Z?VyZwm&prG{lkHvpszkWAobFFux4 z5#1wd-{-^?5L3cw-Thdd^4aJ7+6u6yZ+7HCEHkV@F)1R1;HdQM0y9trGcfe30HtQg z?|*e|{YNYNfAnf$RDWZ?|8WCwh|~VAI{*A~?iqi*rQPXVs3^1w218lsHLs3J_hi z*C7m^+@>6BJp}hK<$zWN5HG{51XOR;>gBu?F6tQd9U!1p_IuO>Y&&gX z%i;$opZ%^o3A(S3h$es;1+D$$d(Sv-^<0@p#Tud@e6DeLYDKovgE=ol(|45zO z>Iz|Aq?`70O=s$6pgvtxWfKa)IRq#eQ$A%R2i^hmHwZj)fJ%5sHdxd%^8@R-Fwvk9 zHIecA)7YrW0VNDlun?gEl70^mWoTBg$zf}eM5SUw2s1FWM*#m@(oV5D6&fM2|HZ7M zL*@$T>#T=nWhUiH-%qGWxA^zT^BGKfj8dkwpyiQ&h!=Z#`Y-E-F03xygr^s??R=> zLxrRiSpNbW$ZI^W!14s56>mud!Bs*74hV7)qQ*ekrbc+ic?_ZfXI2xyXJ{~3QZbn= zO3`E>cM5Kw3#mLyxmnkn2NiCxlHSm#rbEk9(?mV+nluz1?J?h1rG)@C$aNT%*&ajW zWWJTR6TWoM(Ax>87f7wC&<5_YtRy%d1zNkUm$Y=uKeC-i%R_l~E9Jp?M(0}TI{p-CJQWK#1ssq+FvOr*k zIqhNtl2u{fLqo)G_46FzQ=U*OB2l#xj+I#Xa`)5Jf24^f3=qSr(5a;)ltlc4Vs#Zs z^>?cw{^6MTH*Nq9*YrPMOg^<(Jm#)FLop*@iZUomZ$qQIUv0WVH>Ywgb}9z6I-(i| z4KrfF8iOJ_-g);c5EYI8s62YC4QYv+)Myo_5_peK0zSev2KlJSJPxUbO7Kz*z}Flx znJ)YctnT@^OJRMkeBC;rx?;$wM#?+txff6d;u8@BwRzC;vOsbWBuLdf9}z5Y0&g>M zCgg!>Nx=fa!i%I^7ewp)?!1mUi63 zvZdD7%kGwKXWxDM+`Gx%t7V!1BAAIIMH#T`2cIJg?B5^u2ZVu_ngxeMXmo=CCfa>~ z8j~GSXLgxs?qt&l0Rf93Z=OF*}3Oud9Ytr8l!RJu-K*>U6ahLcDeB zU)=g{n)nA};@`LdIMg3kU46B=qF2_}s1g0iPrCpY+bRj>PC+v;Uc5Zwd0&9IVCU;NpM0uqDP zXqqHz^w)m1pdft%Yjao{On9Q_!bY-B2-6|(>kDLM7v0#<Q7Qyg{BMZm^wU8-3 zL?&kpE|<Z)dXY5W+Lub2n&eRR3;(n2;9&p1hcW2Z|pEg?qrsEc&nasu^YYI??zH;tDRHGkWMDM^AbjZLRz7bYOX{_tg1Izw>U5 zhK$qx#tnct+&%!61K}>u?%wqgr=3!CX71IRn0zp_iu+Nmzq^>2*a8!CbjB27Kpi`s zC#AHW-h>icd{l?1=mSm@$Ml{}y7I4tstVT-vzsg~ab}H>iLY)w*4Obx`X#nEk>n#y-Ya*

p?&_}yr;AVs9-LtQ%QX4Hv|ZMx_Nd-q><&1H{#`L10`lI1sw!@P6W$^cCcyz%$M)b#PEetLe( z>;ng?H6*mKMQH~@j~S&){S%Il5+VCLQVmqvjQQ0TV2a{!>8M|0h3h`GDGmxL^F3wu z{wr(f1vW;S1|?eX59vKF%h?Gn`|EvV`jYSb(%A8D+yER|O~9_*aNZeb!0A^%33Vnw z{x^=h;4e-nW*6_Q6Q1_A)2FA4hmelvp|mETwZY_FTCn>=bDO7K4YW{CdI1c*#jf?jgkb_s0l>98O=r{E+wR!-i6^lG#QTM z-&19i3yLh@hE@0af+w;_Qunx}E7W?|9}0JArjS;5LbN7ymO$G!256J?kg?n$VDzbE zN-5=a8~Gv8)L*}1 z;j&YVI!F7wZD2v9y&^JVsAR!1>HF_FEt}1VfUq8e#6v#6rg<8jZ#L4D&Im>OmBPT* zHAU(k+3Bs8!33f|hW^J5!2f%%>8@QMs3AD-JZcEe&l-ZqzjF5YV;0Ytnw)xQtKE5|l6c?N z)Z8&JIcF3EU|0h>O=zfTg=V2_b@qx8oibZrM3%s&oNPy>H@ZT$TP-WB@693rb&WwS zjElk*AsM{* zigj?A!;M$L2n?eT%u7Kq;~K^f@Xmoy^BQI-zG4bDlp>J+yb7~$Bt|7rB<}dY(3I>T zZ-U_Kn!q|TSiZ}x7KSJSj9;ck9ys~+6PV-S_ZTq|j4BUKT;q)AYEj9g=RBli zVo-WRC}nv8fwK|ci;?#qs748B4itn9m_r(vu(tBGzV8bh5%52&uv{3u{-l4A{c$-n z(JhwNdS6}r<~0x7`EIeId+Tx9-?#zzf4(8m2*K&6Urj56-6W=ya#=+L~PuLn=6mvhL|#D)o(25Jg>^##-5vArM4{uV+IWl1*uvgOW{RATUkP zOR~R55rpDFx)EbLCvc@ut_;PhDf2%69wIRMV-ZVm{qQxiGMaD~y>zE37-u3-^38us zubHMC_SWPSkpw5{peo!n?uskKB*e-=ifNIFNCZZ*6fmwvnD`+{R}7CCBD9VkS~tco zGI|XFrr|_2hr5D$*gv22HX`O#a_HIDa#X@1ICdcq{HwxiuR^#`jtJCIL*irRaI)Vm z7w$DwwLwe4|Dxt~fnXi2f)|807}D?cfH*sCY66Ob`)}NH!|FNLU-9Vg93e;mkTL*> zoS^nycH-+7w$DCiUGs~IPSK~AVW3HY8WZp`*06b!DZ%v)Gys)m0F#KXnou)H`t?Y> zbmx|PI%zt^xUJT<`*AXbSLiJn%h=r8DTkGr!O56*9Waw&?wvV+c$KJ zbAO1r2EdcYu(SlVif@3bkxcQuH3WCRI{iW2q*#j*AO?>EuK$P4MDzwYyq=6!(-Tx! z?xO;4yqh0jOpr6CIojrVVv@K4lQx}QH!#YnC%pE&hVuY^`hlEnU$7|X*bInFZrE7F zMb!KQ>!K8J5}ZmVuAEQ630%0*u0LxOHjIpg2uA={DCGGQ=5u9Oml&Rl+`t3~aw4qX z?_0dX=EY-;X;aZq_@Tz}F0s=zjUSjOVKtQ9cB^%8@3;3JRFC+<3m>+J(m;!vHQyoj zC9_kp-i@Dq+DRYZwteAIJ*9{g*lOuD#!v%@j_wmpw<1E-WGD_26A9rciLSpNxXpN~ zIDwqEYX<=@6V?(&W71^P{>W9OoS7u(e|hx{3op3#xmx}x^I>WHF>V03NA_-0|UEaqoL0oSqX%g;KnS2Dv}Y&NqHmSJkA}` zZ?n~DzNA$^Ys&HhG)!!wmc!r84@p1Odd@PJT}ZYshgzH8Y`{(it*A;&eHm24QSMpS zDsu%)nmGw9xpLz|Upo={=OPpBWW9y5Uk-%#AA+&ZW_Ts($i}F0n?gIqJIb9D%6zg@BS()EkiIc9>?F z$d=@BY-CCEEh(3K>bnQZ>mGWi%MRY|l@H?rF>U~kE_C3$x@JJYG0*txpIexnK6j!! z`2=iD-XG={3flXTIhb~}lO@Q39s{MBhKz}qz7dC(>#js__>xZ6#!WwX1JIN)FYW+O zpou+>&gBr9``%{w0K%^UlJ6-uOcVr2D{BIIbNQjbAaxR6XO0$bm+g)yXe9vcu3?P} zw<|_gK>TEC;Y<;rR&YA%T8qQFV&^#x>~Sh^`X?2OmCWQ=*>c|<_!-oXHI9QDNjwIu@s-Acj-eKZknTOx*Hce(E(!QYv9$lz zCms72H-BIZ{f`@f@rU6KD3Tk#A2K2#Y<=P@e}4AZ<9~HxZswO-6EpXcGh3FF%YaJc zD~B$t&_9mQnzNb(m}HgP*G;pN3ZoDx^h!WVc92$A8r)>Y);Z@8=q#W&ns$Nd>Vtfc zML2Sxfcvk9nHr*M0)r|*RV0;)AHZC2;Biw#OID zxTtZ;Y-Fx079%TDLTu)$*pxWQWoiCrNXcFoY9@x76F^w?lx#`dd)q7i^P-1cx{Dy{ z-Me?;;Wi5L#d7bZ$2@0o>)h+tWrvo89ZCBDvkFjX+x}=eZ5voo6PqjmM;89d`(t#d zepM&yO`Y^VQbrqW7Yd|3Lca40RG-saFBAERENYFdhTSE)X-hU@+SW z4M4putncDCiV&_VYM#L58-S*R-J9I-sN_f_Lu;kXWXMgv2i1Zxa?u=^%yuV@(Q!`~ zD6~6eIXOv90HFbt&2A@cQ8h_%{0b}ibI;rDy(`Y!iCKY2QY4jY$_fD$Bc(dO01Nwz z1oKy$G-0SkB0`u<@H`fq7}HrGl!!L9!BQIHE}uL5g$WfmoH)}4(Ki4#AunVzdY3sA zBO{Rc^(Vmw*aTonI>iFL@5*pMtWi)`3w8GHd(Ky$|M0&&k0OLCDxbsP6euk6gtuLO z;(N9pGxy}R0hMLhDTc}z9MOMpUWN>*eX&W+odBEpGo1JlC7;~!k|#StL}S3-yMR_2 zEDe`(sAk%QTw5Rhq`&{C58e9GeLo#T|KkQ={IN+@L9!-z@GECex!2Bz6KCK&EQ-g8 zg{@n$(-s5rzbCe!P7xuG0a_6#OA-{yW~f8pr1=qzB>*-+f+{$@K|``zwYWzVL5{rY zDs1?TkOvi;f~JMKk5slnJ@s4#K4bgHS&3=1s)kaf;{|B7fC6rC6LSJQJKyK~S%M)n zTHYqbld$Dau3A!4%CO{W^WsoRHuX#t7%vAtQ z-V7qfIYa8wS`dCSm#D+EW%@_^tPhHUHxVVEpl4 zz!{i$^k1AXf6@uRGCx1_4TnfIggU-RPq)J`W}D7kaJdhDUE>m-7b8U3y?Jawtj7w?_U*3q3m|@g z^7g+1Dpd}6!GzTCMkeIQ`d1TJWHB~8+fh6H7>mAqMgDkjBzxh|g$? z(talr%zoLxsSqNXq(GYuLRvh?wiD5P8IQlkw{)} z$VB_K)k5NU0Acz^N3blMQfX*pe-xiq61TEgI?#LH{0qMI>tntDxB(b{{1-F>yG~E+ ziQ&Yj|Mi1A)3Z-*O;0{v%r2aOIqeE_k(LQ{@Fhsc4l(;=gVR%mR%8T3XNoom-q zZ~`g>%hY!PYMO+)M!~Ohc_>hm-S1{hpQ?L!?!z?VYrRL0*ld!VsCdH*=MV>w8(dY_ z1Cp82s3zn|@C3!CW;3=5F`&-zDmrpG+YPX8k(*EoA>>HeY{qD1`I}+9b zpWSsO)7FYHMPK z3d}tD)!TM#xzjJpR`GP~Ogv1?Zy~!g%?TiqfEwz6B0>d}O(^hMb{;^4qAC{xF0C7F zCX-6mWHa;(qN{O7aNM#6a1dG713*(YG-L z9cqkGP*k6zN_75p0ZLH$SN^CaifA;%KC6IisB`vfQ2Em&S&{r!bYzV)_43H^^7jd25TbiKdl zU0GQXEMD-22hVR?d`5R_{s}O@WswjRN{&Cv8RcFlmuyb0c9qCvd(upA{yN^ z=?jcZy$J$uKxAtc-bOG}q%a+)Ond2-2}%Sq95yEZ#du$tpcD4-mjX9E!H3sbG7tHL zS;YV*$2p-TE2 zrwP`7$ni_?-}(bJ3Sf#q9ZcHAOy7+A-uIj@UiapwJ>$BsfAi;;ulv!(V(*@BO%PSM z)0ryDf~Yx?^2Vu4H|cov3k`1PAU!?31=*BjGn6&=fSS%f669nEe*y5j!CWm6%K%oU z)6K!k&>;2Vq`Ib+K=QM^J+S*nCFR&>G7!mXeN_zCR_K)N*&?P?D9#~2T>=Yq;$}d8 z_pO*=6C<{vV2{IPK)6Xv0Q2Tx?dW$Q9bV+o z5SF!JVtNH5Pll^j1-qqsH$iasu?qLH-3$#i0-z|rs90O;-?qNI^1{%t9D>4ZXe9Kr zZrpX(yX$|COT!oeIC?*HBS2h%09T&$^oct?^5N%pCcD2Qr)SQUbKBdBcmbsvkb0oh zp+vInyhW|mFj!(*;vk6Ou;BKp7~IF|w%HyvfQqqCPL2!O^%0X^5^hv;aVPe|*lbpl zTFx@nf2Izo&=H9jpvi&cAsk45c1NwOpTA;eISOL%k5IAb*PtSeyXzp~a7H|V^`A;9 z8+QhGWG&*}+gkWOmnpJ%V8G1Pu)#JuQV5*%(m#4|Mpa%zE|_1v!eAx5k#%jpW-_ut zbPD#6%OI0RGz14p&w+`gHs#p!6kSh^GJQt%#9-gj?|$pjNBzx_zz6W8z&$TMW%t(E znHQ~5z!4VOC9u%Qg?Ww5-Jo3Kr>`Kz93sP;=7@p8brEV;STTY*?*4^yWRzNhObtPc zx`OG6j$B$=y>R~GZ@m6cLI3{e?0wBW|AZWqFP!WxJ#_l=8*UsE562CF7;^Qn~(Um`9m9INv-UW9Wk-TA}-$DcD3o@(U0yOeoCZ z;L36!%FCFjCvD+IgpJKt5*bzu81%2RkzditrX(~pHk?q23H;s2g%|;=2dn6+2qH-M zs$nvoMa~ohkVXXih-KR}lp#EZlhih2SDQK-GGB=-c*@!=%dr2JNsQ*~L zEETpi9I(26VDIYVez@yVpFP~lfRGnJx9vH9e#)m87U#}dBP#=H<%?d40nK7SS9l*n z+_t}Oq*n-zHdEr^UlL?M8VX}PRF?CT-QwU{`7bjU{>Nja71jJ-hvmIx@}Ae;?S5qB z^siH$;q-wueC)zS-~ag7ad5l>IJ!S{*oGw&^0t4T-xNz0UVXk%P#05&aT2eAhi zA^%lF5X($w>WY(ekh#pjWnj@LGMV`55pQ(716`mcN*5RdW=HO);t<(PYk+cfMPP5u zu%3N(y>JX{Lx}XSKd_y9jaBf-bq7R%Kdc*k@{98W5Db0~J(-BbP>TA-B4^BRWXi)$ z-4jd{|RBfRp}P(4nUBSO(!OG}R@Nj0(DD-V_{`=4*T0O_$EioL%s z{`%itIq^ze{6&Wz6GgE*C{&C&0OODGhX%E&5ik~<#AMc7fu&FG{=tv`>S?=f`P%pI zyZ+N_e;050>6hDs9*{47QMNiTgrd|j9%PK7T?GszYDQw(HUe4ag0svuEdaAxjXOec zd;s1Y6mb;*5a7rdNQBwN8z(hnj&q^7*Ay>b{9;tHi2G#EI{-*{1PQDhcF<|YKs-oM zyD*C3%Cb=FD;EAtkO|jBu(gTcX@8rLEQV$YxUF(l&I4B<+V~2_A#jY1Amrk&F*bTT z!06pSn<9ZZD+eBf5X^L`8t~+QzH&;1mtJnK$&nwYJ zh?DoeXwf|@&HV;}i(~JfY9f_aPk8=L-sI;B59{@hhBZUx$;6dF)#(^hpqDOQe(l!{ zB!AWa{mC1yJkLDfrPtm24`y595oC@^!6_}#Dex@K1JG*$b(Evv;}yX8qj5cuxeXR4 zKK;$-c4y|E1(P$6fi2tRkOW2q&z3D~m?{O^-P!`6(zszSr$UiH|M{V=yd|+?%%=`y zG7z<-NR!Pf*##q}#XN~Gu++KWjel>C7G&;w`u_{gep4dY(dseGWC+kYz&1z)+mxud z29PQqyvTKaFuDQok5N=r3KpeEZ*o7~6(B3ozzR0<2!IAhg7nXlRe*vJ{={AQa=B-a ziYisB(T~zgOMKj{fl(lRiuhWX{Xat5=74X8YE~S|6+XwWFb;|#NuhM;gljHJAfuqN z>`-+rZ{Ks}w=O;B$WR8jb->=2-tE1M^V1isqNE%#iViNdnqlZ7!=*zsY*?6A`+%yd zEWA8Z1SBt_c#;aNY2fJ7y7-d=0mb}wisjY*7q0)}S08caRib|=cJE#dvHFVBPb}LL z|2ETEKW;z@gm$MWh_<=3vbz4DZO{L~HAlNFaEt(qKN{BqSF!bgKJ9+;j%R)3+BZM- zaku^CM-S=!?7FvimiI4pNeoSK#gs)zh=8UG(po?lI$fBQSq~J}BuD>V6fC%gL;k=l zTU}bbQy2i7!sCSR`P{$=U@Gwptm6YT!rCAzVL3@L^jQh6d9X|XKS|3lt$N8|_}(PG z(&~WW+N!V?%!+Z)-3lWR_hc5O>q3N@&PlA9c58I+IndxU3=GKaI2s7`*$MXfrSDb6 ziO(BC@kj0_Y40Ejbx=K2qU3W0N!+Q{tmLo3R!Zd z|62Pwo4BFymn((>TK&$-?pMK ze1{_NBBYBqk|A5dzCtP?YkKqv9U@{$f1V(!zrJNi14NA|pjhkUx*DuLUl)Hp{T~|Q z-7b3zwr5^AGYQ8H380~FyciBaO%%o4L@{}P^X$$z55_Bi@yGaMgY|&(6fiu2y;olJ zrR(1Go6p$ugX`|Me&Y{cBKF;SU7ISr>`rT*09g#m(m?5Sz?5W`qYCRiFUc_vq+1n$ zbc|su4Ge1m|7j5qA;~UOGkr;0T$HCW8TYsd!H*(|A#T?F4&$zztpxnRrxK|gYXVr= zF-?rtUK1Z+NK!$m2Bry!n|qgrCq$aTV4q;4*eVlVq(uKDel-IX7NG3V7>@EG>A6{ ziRlz;4Z<2hxhBM4OUhp-`h6_TXiG_)azNm6Yi{-h_jvKge`hx}(}$H0KohPeyxsYg z>pvL`*Dvh%2GpqN_MA9@L|O%XUxo%8-C9TnZ-1tbV5=FP{^|i_jOWNK$z2W{j3*5!|Z(J!;^IZncH^2XrJri*Ps;Y`G#pvI_U zq5H6N%^-3GmC4tCPH`^-bPjm#wJT~OgAr0>U{pSWpL!+O_e!zpT{O@DkeTZQ!za#~ zR}L_jkQyIxXT)r6Gb$$8q8n8-qAtLu_V*#07z_d;LDt(Aqbq@cmCS(n-^enVeM6yx zH?`poG2h5209KaP*O!(bbM5Y5`uthDKHK`-?z4x7Z52TGtuBoFUV7SF7q-s+!RoM8 zDkAI*v?`!1ZF8+yY;c02IVDCw+hW6~VgJzBY0is*{)go(vHq8P_#ewZ`H!=AzDBGZ z66oJ43pB}a=|KMnr_Lm>D^ZDOgIhy5wV+0^t zeSpsRHgNZO=N0Z~9e*^e2TbwTJOTZBee$BcKYH8K|LS|Md-46(Z@S^hxbJ8Gt5x=C zu%N?5Cw{ArmLF-oG${w{YQPjgqogWCN=YjM;Rqn`^i5GJ+@4ndDgvdT$__^}O)J(= zD8bbQb;Z9)LRdF-bNizRLxZzfg?Qya+=1&Afa;S%U}Z%B{aadu-*Frq%o>~&F;O7o z+y(vp^>JN7oWP~qb1O(8ab)cOApT08Urq8G*2N8H>G8a{%0Q5>xJK3)JM-tHl&Y6E z=152OI)rbJP^$!JTmfa=kGix%2+~li;_&_rm7gJiO}(+XkcJFPZ!wVqVP<}!J3sr* z`RDx8$)@<9cleM1y$djpd+D|p99Y3?y2Mo=jE*7$EI-AxaxzMGQaUwA4qb5rrJYYg~gE*K=5B-{C5UK zm+gwkEQ8#X&cmB(9f~p=LWvOLmlFWTp*oPVF#I-}d=$-#l@yc-@27jQ@s~;EKax5M*KaJuklV<_4BQRK-z)dJ z(kF(x;85wA>P{BJJ-7VzH!pkC?^#uV5Qpmw@dbJB%kTa-i(BWOu{zWdV4b3`cjdYP z(2amoWq4;l?)e}MZ=`g{oXt$os~%bOH4j3~cG_}z9lkLf?muhG3x0IqP(kdzkT1RV zL9d&g6wmGT)~F-t6eg})zt^R0(n`_;PSGA<&k9_5>_uO>K=YcUJUY*FIO;8NsaPHN zOE0@%aodjfO4`v{GnaMRU=4042feSBz4ecidgL?LedtBs%bNjVLUx`sZU&kff%iR0 zdHK_czxOwfoSIv>h^&Smi!*b?5g6)PUXoOZut!1ylyhOjp*=vAvmOS^K$d}s<=psG zDkFOR;lM!oCJIV9 z{)#6%^4C-Pdk3t#g+A3Hl7E-@ge7)xefi-3*n0W*KX$0?eh<9i0S_z`{A(Bb-2uH3 zk~~Wy5@@e;RrXc4g>rwt_}=X|fA#+Nc$GMKwDJIs>IT3}^wa>{`TW&10wu;DNt30h z5%3-M@y~qQBWAa6c}}}K{dh6Gg&4v;<0U}a^umzXr~v@8R~=e*KeA#kFkyP5o4~x6 z{-`D(g_kiJ)+oUyIFY0jj?S*<+V`{pP%OtjZ2~Z1>f0tjM+#31N%q0YhbfuwUo!vs z5thIlrC=)ngb1S}R9XH`r)L`uzxU_OiQ`fiOug(_O>-0GS5X_h` zMHPha58O%zT;_mBO(fI@Am!}W8zl4iN}kEc8i^uqD8kxDx#w@u zCC%3u4okz*EY=SW*Oyiwd+qLD{+GjP7aaWYUv`hD&MwTov!~6ziw+E^F)z(3U>J}T zpAH$HxpIU+Y1RdxgML~A(V>QZijw|TRt9gKx#$~zbjYB8W+}Y|`FfY988Gj7Lzt0U=x>5Eg-PmEe#eZwlqO0eU4M5h@|gfHHY`f$I`Ps?Guj$%PnSsPzG!3{p@7&6S2QFFT zs=}dmeNhy;)#(xR-<4|vdF_GyH$HUd?ptm>R7KS{Gs|y!$nQ)S__zK3no>nu3Ln_S ziLlgf5u!^^t*1KODYZ+mtT*ozy#6W? zZ7wZuK<^5U@>PMh8otV{U8oWGfs~)4|N7ir|KwedY_BZ6K+euRN=(fagMm~Ulx?F8 zCojPnlbB*&TC))s&FT+vWQVthiv60{%hb|BBoad&0aXUM=MvOU+^P~-gf&GoceabM z$ZqXm2!3d!Q)=A;N(DIwQml-~vXNq}aAIP_8QUR-FB%&$KYea|6Q+CN<$lmecJySu zCN4#Q&>89=YLfprc{7FqG3LDv0P^oE#7SS&$os;x@`e%UDjB-9gDqJx)lo*5L75{( z;rhV{>tn8ZP)XH9>6IsuFvv-ysS}}BRcH%dQBbZ{+1aw~#BF8ycQ>E=hI8q@=p8Pn z!1rHZdchLc_Uu|Mwm-7d?M~~NN1uJ=(2*Mz_n1&YnPaXRWBp4`nAC|;3oH9WY6Ax4 zCA#<@s)Fh*eGk6=%wy?gd=b$usi~C?m6JgM#8n%95-6+y>Apv^AHdNo1Jo&a^s!~G z08>D$zkO!Wo>A%d&fSECvX=zr7|v|8An-?pQ(?Sv+mR~OR-ui_}8mXYwmb8ha&><>MvTZDNb-JBS*E8Wm!KB19w<#)kjILf%+GyVboZQ zH0dy1Z>UTX=jDhpMK@T(!U z;@gxv{sLrl!tj1#u!HuEoy7D(@HGY2W!MXmxB%8#MZhAC&OsR!bXKk!aUA1ky4ei%7II z=b~+~r4I*^wyC0aRZUDyQ1S1-bMfMD{FCXm4%swq9sjVq^|IM1IH|Aq7qYF}62njN z*MxE?jBxKE8YZJ|Udnq~q++)^8gl{QXy5;z^3=Ef`Sk48T|+A99ZIaywMlt*IVUv& z=koYc9s+WyLV8`Rf`aq=0;zy8ck*WUP*eP4Oyfl3tb z(asyt4bhe7l^(0U%Y}dcTb;?7ON(tgP8;aEx7Q!i>uH-NKc$t!V5@8114K5ZnfT%q zvJ^arfG5_-`UW6~z~qLeLB0^`2@|v6phglQCylv)8dLoAbJ2!Dv6z(MSBLsk zD`YtsMCK#eoZF) z5z&D^*I!-!=cWBiU%2H{yKjxXz%IF4Hv?BuGa!!AW`ONNx19Tixvh6Q=Gk&~>bdR3 z9otI1lhp4|sjY;BnUJkK%fjbo7wnq0=-FOp+@g{YB3u3-Nvbm|g|NHkn6?c6-5Al! zcmU0O0k)IOWqz*d)E5tQCq$cMf@Gi+d;*Z0vWP0ekB($06iWeg#oe&-olf0M;L2;* zy)Cd-fT5XGLnxAp-@9~v1jc>P!Rbi=la$G-fHyxfz~ER34f3+ZIw!y;;$bvOVq5?a zL0N}2_631R>b87RNhj-b?uXLB!jH z(#la5>j#!r_w0YfcmLuEU-3hUI821VeXlt4x91mT-o8#g#?+ut1K=m;p$quYcTCGj z1!+kj+T{4HGydA`37{hSwE4@v^R7b%{YT;-ti1W*pP1^D=d9EIq12JbhTxf{Iy&b^ zZOA3;YM1%|A_8I;S9|J_r@Zj1pS_X{;LgA5=;8q!tqp*^NAL8c$y0yvtpA)`*nT>( zLY1E2!|vEp&e*hwR`O)L>%(ZlrVI!U+CE&%R*Qmq0&PXnvW)KGn&_<@xM^)=^?zc2 z{iEc?`Kh0N=#rmRn}MT}GXOLRNk0iq{KlJ3I`#OSm(Vo)J8EH}JLvZ{|A^eY2@%lm zg&M|qU(MK5+-F|}J$q~dkWG;c?d7|9E)7cxcrlWRpKpt+1VE_u)T!I8OJ6Lg2`Hwh z2`F08Q6E&I!RIWuCY%Bx>e&6?2a!$5oY-cajhHWi-|uI52|%K#Xd)0|@R#SIL~&S_ zHLq1u15kM_gY=F|CuI_<6qxeM#Y7MKRQY zxoB;I!E8XavX^po3^!+3PEJl12UgX)7M}N&rzsn7DWo`bn*ZfDp7q<)6YaOJ_m=3D zBT=z7uh3w=0vGC}0zuY3s8Vw=%vnwfBsEFI#eFNqAK&THe}D7QNCcEeEdh`|wx4#l zQ;?)o{=wZcR(I zrnl{!-Es2yGdoZIyTxO+e)Z>`{?_-N`oz~ieeoAxc!CZN@tgtUHK11oN6!bE;;)qy z1c|P{=Z~+y=2cJpquXz|@j?AtZoIP9>j}}GDEd;De!7MA4&7+2-Q?||R*b1}GS~|H z&$&rn$<)!OcGBc30JUMna84vl|2zKTkZ`Ssy}1nOW$2Lvb#=w8JS2-l4iq)OgrEj> zEP7v*0x6P3E_10Kij?K^D7;s4YH|qN>K22}J#`9<$&*lX%_t^KjpRQJ*1{q%S8Q-lTkGZt02r>9 zC81moJnn?vuEWI#Fy8rB3ad9A^meTcV4yRNq$c+jwqYqW0owUXNGoup;yF<)ui=k- z2iGnZ&QkYK6n{_ryX`giI-VZ&pNk>!C}rC;>9Vw563V^OF?lkgFz9?X^kdb%7GVZw z9<4+`c{CFMrxvD9YqdLzv@*6N|@+`5hNb9&_B^?L76AuipJBZ+-76zjnnF#RHx_XW&5H z5a@z72n$*ZsU>ARCgz_a|(XAWe=9kGVRzCo;TT_RuhwH!9jl>|X$?)npbEh$P89IPCq zLv0|Wh?cdrRkvq_M$bIg!*gdg?PaeZG>x<{SpzGc+YT1~mt! z2fc6b!Wsi0Ngothwtxzp227D6tZNFrB~e4>fa6Q38dD)p&@`bY zG%b2akG@oc7aY6$nwxC`-=W%{TjF20v$$)zTb$S0=hAeE9+}4XBs8m9T zkqoxorIEt6?qO3Ck3J$G9L@XY6Q6L!v!)idzlpAJA^^6F>g48`qfjA(B?oOTc`{ib zj^-sHvXUVN*kFiSReCs4Xf#bk8_?d|>nmb)`QQ)A^|cQS)>q&AvyWc>^@O~5v=IkM zJwe%nVz+(HaPl9#<7utg*%!#g?RPit&~Q)|T4HU6tD*C6i!3MmDsvt{^CZt}Da)i4Hp<`{O-NJ_H7g4JJXC!V zS1QoaswS+yf8vr`E~* zv1dk2D6n~@}@_|c_5R+9vM1L_n6nn7Ra0AZ5O>3>mjUa_?Ii+ircM;*3RfFtjH z|JgI!cbt|K>u`yc$iNEP=S3(P|?xA z6`T)?3V4r{<mt#=M$gsKOdxqS3WElWq%J=DhXx9FUo?oB7wmm&dZ+9mc{6v_W zY1+9CKQtMR$IA2EF@^RyQITaD#mCw(kt2^N_DwV^=Kk?0CWjQcwJ@*Iep=oj9@rub z{xy?K7RdC4B9#P$d(qHporqh{K>o*WFLMb5{{|#}VrHY-W+#k~2nWOaMcl0_G1vbFkXt zVwtlsnpQa}jo}=iiXk@+a@7*|!Wa%{=|E3sX_m4(+vzMGbMEB!9q*jqaoSh!@su~d z`o#b7@}D=;!O_MQu!$m_|N}@eM^kk{;5SC9GLlC=6>C zzn8~sg66+CX;Fm7Cj&KvRVBIBiuJ+Z!`Hp!k>7Jo?_nuIdb-yB919m;^Pbg};fK2uZOv*Pg6!+Z zj4g`RUF#M7{;>B4C+@ys@1cbL;r%x1cTydD;Z&z}A5Hq#@Pu*-ny^;$E}q!XbgPKc zXfh!Azs(Zc;ROAs@4x0e7;^x`fA<7HlA1l`4Rd4#b+R#J0sW67k11pwWa1oKA$;jy zrOtWRge_4z{W(VFF$gz(LTCUqD_#H6eiaa0s+9A7S8)QQ>ywN_3hlC0D6+TEUpz5? za%*wtMU&gMe)-Plzwr~NKJnF0UVPLg^G6w1z%@RWD7gP0pMU+0Z+_}C_uaJT5&c_k z`XcQnNr2gr1O*Ji09=JZT?{+e{W9i4i~#5xfn3t{|FicVaGq7={r`E+z2EPYomsX~ z#YU`z(fMSa=V%$X(L{PAV7*o}hpQ2If_SrJM zeak)P|D67ubMJSSSMty7Fgs%=Y?+<;mV3{6&hvae?+;7hKIzOq4Z3j~aY0(>R6j>q z^d*HmCt|_K)6abhp5EFpJE1)_jvdT~r6ZD7I+V2wHk;h zGLYqXVycOND0Z1^G_HB`;#>+wt_?;}(DpsXc3)AicjaQ|&R;(G=+^T*BV8tl46htoq>3el(w|d2dy`?oa*zCnp~$nv+=ID_U0` z)@?iPlgaxlCFzy9hOW^H>84nZF&978j9A%{2yjt<3>cN|$|8Gm4*8Sp4R371;8$vM z%1=aFr401sG~&1c=3z{BK2NtKaJ!0#}L@@FKvSq64uc@FvrJ zQpZ;1>nKpShDYjbdTe-hVr1q`?CO)YGc0QNw7$oU0@e&Z_&{TN{C(;gLmxmp@9ND) z$7kSuQHdNE%%MOSE`bK=t8y6kHR4I=<)xeRW6CPe7ol9&)PdLh5|j0%Nj z#QQ$4bw7xNbpcyB__-*Sx1t1GpOvK2OG3iTh}zwaSk`yTwk?iKz2`iF14<<94> zz4lc0{DH_pu&D9F_#6jOBcPt6O8nk*<5@Rs`psj{pB>ux5;ZKg_5|?BCnwL<0gpo1`csdV)e{8 zKy7F(90$y(aX>TJ(rj*hnr#q(L$V~+(;We-(4XU^E{Wi;O6KUgCUm@!W*4NJzblsOg#CsVmw9eJ|FPt#Io)^=G;vKkhPILeQ&e^?sXzS z)!|W@G<`j_L$Z1oQ=6!gx9G)C*+LxKn{}8|a)^0s()8=0RTpdU6kaSa@vVN!e6o4|(1y`bT$8@G|G+OcVtX-z!TD+ZJJ0{j%`bQw zvJ)?oV%7qcGII|KQL>oo`@nZqgGHNXSxk_&IB+$>MKb2T&I(v5<6%oSz(th-@Z0Cy za1CF!<~?m}B`NQn@sPAkHEBT+(kB3vIqcHMxn2h!Gc?2Tn!W;3B17 zxzUHZnU5S;aqx4Wdtnb^g|mHDAl?jxl?V*YY@j?4WQbl&?1l+4oTLRQ253&4Bnfy` z$#pzp(E`zw0E@xCRhB~OgNIy*2@w04gHNfB0IzqmTxAF3^}xQj7CyJhLdks39pKXV zp;?3{jI3_bUemj6=O-hxP6dx7b8wcZ?B~KPS3;ALq6-M!5WKU8$3Pfv`+c^cci)4v zV0#R&n6o6>T#$-Tq;k$cIQ2Vii6#!>$f>PEnDFJU^OUZ~!9e~AlP{b%&)dIka<|%%0mJ|mYcX_D~n6Vg#D${sX zve5h4u+Kb~B`%Ka&W%yQXnLii>60JX_SZref!h0CqbU!=4@AS{!et>9QQCqS4 zh_(_2;s+|5P-F>O3!p|WZh_FDGLC(3Lt+Xh$lDj%{=%uzz4txYBsfpI_+&E@H43(#VF7-C%(C1S-hkmee!-Mbe_o2$wWebtXrR!phP9Fdyarmw|n;+pHSGK>g zPrmdV6zZKmGc%1ggiPZ;Y!F*?-AQXTEeUL?{sqEtNV-qmkjYl}KW$APV~@?61`S&R z0kK8t0KgUCxa+!p`+)jC$?kprKoyxNx98?6H%W5dBQ0GYAbFvZ1}Q;Nm-p08bd8#m&}KdbHkro-Rcw`%2w^VR$Ii`IcBFm0<~qea1eq3fl^u|G*||E+ z4@iW25;_Bl2*~IEkJTPJu>Rw0gm|_NKKw77+)9OqPo^h@y1&;PE5Jk_t3jXMkU@A2 z03&uW4wMXN-!oym0&MPdM^2mqS^(-{Gv+lc!1S4Pw-Et4(_^C#k8R)al3iE6ZVL^; zTKb@^{{bD*J95nthoDaK$IEK%17>iMmMXAay`F_#pRJxoyJk4^9V;mzs(FJbS9+a~ zzJrj;s`@e$ML$X%vOj*#hwuN@e5DyKi2&#Qsxtq1&g$+}XtLW+2pP5T=!R+_EWs`; zSuB)_H|kEpW*M4N5Ucz{+)xo_w6aQcSZ+B=D;iX@?7|i-CZrGyhFGWN>0~!hym2*Q z1#ER8PPVA^t?cXD|DZSa@4x(?4mtHxw;lYNtB-U{0pSIMi_9&c7FhkfZfOmD;Z0YJ zY#lzlHMI3k3^U_0ukjYBp#au^_)=+%tBT|W?uCKi0%S@)^x!jh9&lPDP@aA4CJ_}1 zc@f9R(oR!!ecG0%qndbX0RCAEH366%Akiua-j3!x@ku8uC=e42Zs+rX?4Yz~ECwf4 zw}*hes5tf@pqb;9RF`^bHgoQ3%S3%Va6 zE0_eq6~KXr4n07L>&+jnsA!?<%39-NvlFA!=jhFUom|@dJB1V3E*>6UuIcM$2h1W9 z1;C&br3^S{qvH{A@*rHR6n=QV^)?g*M(oab3 zNx=w8Af$px%NBQScozG;=bCfIOQt9L9>Q5}-M-9H!Z2iZYB`lcD zACTV0sM!Km=%yS5%2CL$;%zpj3*Ng=)_1^DPFiumn!kJY*`N9L(@wnVSnl9Li?I-J z>;QaT!(Vyx0}p?4?Fr*U+s`P5habzbdWNl8Ky`MZLPeNL-&4uZTI8p?vsnp56Mu4I z@#K}P02T=e`J7n-t~k_isR%>?krM$d>s-3;r~Vag{smeDF>k_K1R-E71Ydu}P4X=E1?LE^_lon31FI)Ahdhf)m4m;891D`Q_(LVdGc?a+9&)TgS9M$4kz*LYg7g*)^UplVw=0h+U2EuOsXfeYST><0cQ}5k2c=S5$^hah;x!t7Q*Nk*(Tce}M*b$J`c=df|>Rpi5~Lew4L} z1NXMqJKq~EfJoebDpr&Vsfv4kU;uzWQ3T{KbseXRJybzf5{*DuprlufOUdTUl{X9k z9{BK5CZ>RJ+6*T{Q3+phClY5_6jqpqDdcKh&x|FjRpebg9D4hY?(bT5^s`RC<<8m0 z%oQ63-}R5)HGl%3MNK{N_px)cKmXf1x@V@ZLXqHa7p8q&pfx0OT^Z2C zv9_k~nLyOAKXDQ^RHcTm6pKCnlP*j$;7@5K?b>mbn;t z?FrB$f#iP~>C8YfE=ogkWU|?D*J@`~zWL6SyC{pEsON>nps6U~VtO2P=i29NMp;Ur zMq1jbr^Q{j8AaK8l&WLt6A67n)QjSjJ4lVItaMU#i2hA;2#BgaWiBu`wF9VBG0@kO zVwr{ecX1WOK(eTvp_v8l`-9P77&k`pc-?!F;bf_+mW}M#eAm{G{`frWGlxYV-o^fR ztp9gi^`gIA*3FJ?G|d*kQts4ri2e4{mshHxCtsS^t3txGSQva_Y#08gssO|D&-R;Dlq z`LvTwDyEuAEBcaE3^o(~LT0dnj4VnsXzu2;rV`FHAj6$R6+0g{K8}P;)jpn{Xo=aG zuMY1Rxn}dX&;QRw3lt)1?4FZ8{YM8r9W?P?f`hDyuVhhexC0h6x3tFr&es#A^hV#p}C2}EaQ zzqErmAnoH23~D%y{^Tz_7Ejm$596BJP_N~aJBEJt$U_eu%|8FuVKsVE-KV9kzBB88 z`ikejgw^uz)%a|^rKhqr#I$ppu@LSbmzCiKv6c4=_qrK3DoX{NQpW-pMGqEgLsPA< zJpKJYJ#%0{)oDvEfW=qr7|;f;)5$#qP*kYF1uId) zD)Z2j1rEF_S|n92_%mM$5%NgelIq$BX?#aO*_1Ft+XNXIM}jg9@}iC514z#6URKLj z?|=5H1K0e^@16bGo1b&)4bO6z;YHOEAOS-&Uw`{g9{$!(j~d_b=*6w63C%!nL*B;I zh*aW0#c|gnL3_REg+_u$z-IQ-W!eKHB2TMWj^29+x%Zqwao$k z`nR()m>n>QKeioWg6+S7sNfX7ElRQ0PFTtb<<7?pOW_HZFxSw3w`~71*0<74Fqa*# z|aQr{Vnf=>g1Ghhnpzit13{+ z(g2wzZNfhG@ho)!7Apf_)o}yM58VHtpJe@Oo+&Zm%Gr4F*JK1>H(Q@8&ME~&@hObX zEUV7w!CNgKr)bPwyndDn!Nctmu1cUHhqra7O?zi?Sm?x&a5i<;yQwwxa)ru6+;sJt7H9!q)W~7fwJ~AFFYFBBt9}0cWHE8sme%c8x|!*0;>*x(t*Ra;B)+cLsGPUfBa?E)s;<; zj|@)^Z$D=1$6x+C^8+vR%{pKRxCB|8#`mNA4XoK)$!70Ped__bL>??JJ7H8ibwpz6e}5 zhzWtZ$|v*D=wg%P6r(4nxepQ%G*&nnmj+6pO%F^`)}loc;^aYhf{~DB3xq_%pqeGx z0SHDz87;_`9Uxo28)9?=g=Q1s1UzG{S={$gA>X^AuWR)|=k9ah>VNy4KmF{@Pkq(p z&s}sK0n!cF`nj`y^x(a>9Wk|S^EFwcrMyDO4S;r`IxKl+6Z&lI40ki(5GLdzfnB1X z->M<7@%1TM5*M@`C2<(hk>LW zrlT{TCg6%A9!6;f2BkKCd?RbMY<6tCv3cj%8}#Ns@WXs*^Pju*uQvbDEB@%z?i!ri zYD_Eb1b5r76hH#n?B*}ybk(YEP^>Qzb6gXQz%s=0|2TjDUdoJNOD=##*7A^imBek# z+xjf`-|fzl(H5&H0ZHX1B4aL8T~i6 zR6prPGm?bSfH!CQ0!&zcD36%I4l*Qs$PbWiQ~5n+z6EctZ62*~(iH(X3eXb9t{#oI zjYELr6hF7%LK=I_g2|LpuC-NC2#>3-x{e(xM?4Pgi>T5)*jc)`x_2#l{nwuY?WJvg?x3IH z%MW=(AFZ4`?3=fO)RtcQ{ArA(uiJDh7{F(8d>0Ft-iTm||UJ@wkkZpMbD z*pdrik$pU1;0{96R^aKa?mYgUb1s7h0K!4cEaW0A*i}hx#*-4DJ<*o$PJV(B4=VW7 zD#_yZXsTwFj93S?@F)gcsGCDVh%ly^?=jn)MA+JngJ3dIsGBx+p~oSGomZRRx0Ogz zm_{d;2o@GNrE50YdGGRNwKWI5bNR~U|NfjaZoclxCth<%)Dd{1#}HdEl6o#fpFREC z4?eQx@QDo%e}%WvBar3j3d}H^1m8o>O%KVwzn%&w6ZN@O;B(2MfFH20z2Az-NC9Ms zvvJxDDPxsNdTByMD>*zniYCc_Z_#HCHU_%?@sgR)KrJxrCVXr+sQp711>) z9@p3hfZit%MX?)kAb_R;a^9Wwt>|VNeX@6q$NAnx0l-Tp>s}40Zui|oA>!auX)vLo zJ?R_&cJU?FC<)%fQMPImV}| z>j@ynn3Wb0X)&*n93+xlhnA@<`}~aml%CG2_CYx(K*l5AL6pNS>_zTQg>jTCkLS2D zgq%R~m?b1Bbod8_!fjd%vd3+L?Kt3Pt5BOqTRjfU8$i%-3!zGlMqAXE^>?p6_&xg_ zc<|2-Iqjy8EI;D1m8KBDZ}3FN3tMi0(gAM1`HWj0`R|8bIJIrd-*?w~Q9z6@f%bzb zzJx&uYXJoq(HIa)9QZJj_q<#hX`7|?NJd>Xb~FMJ8bEez-}~1Yk}xliJA#f@ zT<3ZKivsrnO<)xND%uzOVQp5=v(fFF@7VOAoBo`n`z;j!yKDV_{12YWA-^1@#cCWS zmD)&J1)kGlc+nqmx%l-;@~ExvT}~DD>?+;6A1FwFxa#Vzb#=2P5YXcNz_#rgUDH<# zDFfg{1{JcDK@m+(K%Q03f|fwD#sxWDcwmSNtT1hLNj7P7(iR;7FwsNgoxS1y-}uKU zh&VB|RuMaz9}pW+p=)?>PFm4+WKa|=2qeL11loo2$+rwi9|R`swj_21a5T`rrhCSeWrt<(lLr+tx}`k6;W$9r#LcT&0pFqBCLx)<$P1O-j# zP5=l|MiJAoQbn!-En<>JlJ6{)u49?-4VJU_>}bY>n<` z@+5(=>iiFZ-Oa3P*v$Qn@DDAb^?Yh%>pyJTl%0tcVqv`ggG+Y5If8y%>%ZRDcU4a> zJE$QGylf$Xt#5Bn>^L7h)($&Hg+9NzBzV;>w8lm&|Xsj9D3-< zmgkW#*8w{Af)MG3?@tVp`N1PAyt>|U-*jd?SSt`P(lX_c5X~j2HAS>xOJPo34pI?( z(Xy1lMsv$4v_*Xnuz;X6SuLD%L>L_q3zTnx$ykXk$qne5pe{C5{XEqj5H2!T|LC?( zB{T?QH5_f{P&Dwj&7ynxszbV0?*F;N&KdvLLr%T^M3+3MW~5JK$H4uAgKbmDtS=tC ze(i@wwhq0rIkfFj#J=We2g3!8D~O53@N)e^sS$zh21u%+7crbB)%NdJqz2y49zN5~ z5^eLlh1I%FnoZWm;su1I1+w^hCddDP__fwlcZ>LuK%(l8G69GahVl=92poN%#3%7V z(g{d>+$=7bOYR(UPk5(*kTe7_DYgT-LEYcna~{Co|I8wOg=zrQy7KWI+x~NCxN#!8 z>8MG4JuG?scN_Ghno#4{9r>1Jy|t5@Nc+Q%nd+c1+wo^o#$iuR`=QH9U~_hRAniQa zgPH3d6k6jX<7+htuyfRL>H^@l2Oe0`04$~t&9XPro#n!<1}+Fhda{JM*ub31QfnPR zxr6VmDSAw+oD2TDH$0cK5IT`XQ%(=AM0z zyZprwUYI>W3jtym+;+>^-}%kI{p5vHLmTew!UYZUmehV)2t5jL*3is)`_1HE{|~ar zTDm(7aCz~Q{yHePu~`87N|JaX`kMS!vhGR-!iEpg~@sEX;9kZ#f}7AZP}F3@ok zjlGuAYaqP6%Psn@Af4l+UO8p}n$IC4OJh15DGC1U)}IdQG~XYzXQO~xEg##p^}$DW z>^focvRCa`iuQecet*^aAHDhyo`L3>OE8Q~J5hq;UIu3tIn@h$>IXWu>@fPFaoa3K zJbR>dxW|OG)TsZT)$**!YRi^J0Blj>rlf^-_S*y~y(mZ7Y_|UxMFB@k1&{?aT#Y5X zE0n=0-2FT~Ybxe9dvI4%+`m&pGSU zfAf^%uRGM}0|v#BM-JpqOviw-3uqCm1zlx}%Jj5qQ$Y{=lFjg(F028hNKwm}8C1|81Wl2PW! zCGc%l!mKEjqO@HLN$MZD?$eWfxwYRpYFQ@P8(_zDuJ8_;0L~KGjJeKjav<;^+|=8T zs^)MxXsK2SZWPla!&|qGO`OE8KKU`@^# z3aQArTW8(6D+uXSzxGyC9j8>zMShB}Ps(FqG7Z@Zq87ClVk@E^iN=-+fJKD?Rx3b1 zP1%lEMP=)oN`)8`%@A*btific(f?pxrMCgsS+SYDqNx? zh145O@15Z9wl%O86c*)>A&@?8FeIpz0WLatNPUfc8O)y-`Zmtg9>-doW87|rUADY` z-!r;b^!)2HPP_3F`yYMfe)r#xEp^pUexf=C)JVXNG#E-E;z~MkGN3kYcvM&-oR=$q)u1p84AuW zQPeV|{Edx{Zy%Xh+q&$8|I(ZP;8E>`LUmOPdmBq27t(#CTL0?56W9OAdA(h=S2de0 zAuw%3X;Xw3?*({Tl~9w8C}EDsh-$5hEOoKMxXiP=aP4#&fTaRp@qHY+7UMbiO0F|Y z@XWT-Fb^R%1M0E=%Dwl4; z1BHxal5>JhWs;Rr)v8(QESiJvK9-e5H;NaBMZEU7JEBQ~K*6!9*vASRLxwPZSQfL> z?X0_hS?}rt-oN@utN#6|Cw}sLcJO<8*b~_?piekvB(U?AGynd<|M&2VXSO~1tsG$i zLP;cnt8_Db`*RC!0*{oFRfjeqBX^0UWXZ&W7r$>%8Z8CI?~`}`;iuQGV|6DxS}3jm z@f%<8+^nnTBGGPOm7>N%nV0hgyQUKBq z0DDUTVDFCnDK!*%^g3{k^VLVd6W8e3e=}PJZ>&aF zsT*ki;WDp@Hi88aFWj~4px%8Cyy}n_KjUAXeA0ENFgss=VxooZNI;D=zWd&-4_&+V z_+5`a{2`c`M4NM+V>du!gjHWeTLmpJC}hf)`TI1uuS)0?%|m58;RZ6YVbN?Ayqm+3 z2(2ZEVz}U2%w0TMEojZL0-xdNRR~`>6)Dif@GQZBN2CBf@fo}fH$rH zCb@gUpqzmU8hpX5gJ^lio6{3w>#ot$c3%A2yA9ueVYL0%Sz+Dvcfa)9yc@3TTMch} z(aOV5(|>0pcK7HVVO#$ID=z8j%2u{SvoKXJ_W@~6xEe~gxT6GKM*`6lfOU*)ujT=C z9$^VLh^Q@f02b@V%Dx(o(d#ZgR}vB%Bh)r;iStTSALSQk0Z4bUAXYy|2M3FAbtiqn z2raO~Lh8KNG9x`;f@CGLNgssbnE#3OsuK~7RU%_LTMt9qtuUW%6hNY9(pfYG(P)^E z`bxLBs;-J{7vt-yoWGbe&_YW~LUsf0HzNV{ zT5bL8*_VxvjJ|4i*N!cDtveSy$HZlvwo45T_8w2&h9=5$#S1W9Dqv7RyrGKfKZ5uw?!#D^B&oYhcPnfeh#@Z!Pq_+G=yPhPEXwxxajC=g2d+7*lFPzx@%bNM3A}|5sJa|9MA|XHqt19iOg-3R! zRKyoG5}+K~0!iyDSYvh%P+@Zjtvba?Mwr^9ZL9vyp;Ju<+KCQTmbyyU!-*gk0;)pl zTCv|NmaSUx<7d3#`s@2%e8Ik|8=yn@o@m_wEMD+=YK-uv8&CW0#z!7`VPpH|A0RRz zYpM1pS5IF3H}mETPC7N*CC`&+XV08)zm}ac`>cpl2Mvkn8mN5F9RtETRipwvO-&*r zpp~iyIyvS$TsKuGe()Uu0jxTikHlcJG;f27`~f1XY^-}AAx)_^!gfHkEz@@mT+|Xr zkDtO^sSA|zW~|e+2B$4w?A?B%YHYncYR*uMb=`qVy2CG z-hJ?FR$KmIrwrU9eOGmRV*&E>0YoL$^Y?*5W#PrBQbjwmd{s#3GcIsl8Bvjkc<;79~uy_N35jBbPSRIza!JnSP>`4+GfScuK#;?yf0kTLh zp7W4@=4On{tGna5x(vAh^x~_?fEP|PAXDFT6%YlqLYdwfZc{J>x-xB!RfMOM6x1CQ z-~MaJe7a=AlIcPqf_TkR?yw#8PX$nxI2d(FY`Jm{HE|LMUeUVXZP z?*!Z66Ko`42!i?S`gd>m@2g&S%-E(!ugO|%^hb2@w!o=?1_yC98ey^5R7TlNQJ02b zQoRNwTI|BVFP)+y0i27qr5y!ZG$JTS%wT4KCP1;uuqq0?s=8KylH944Gz4P=xj{uC zP<^^9Nf|>CAQQ`<3+MvcMc@p4uZ3hOfV7#QdTqel9w-0UG8`Tn`M{1#UVF3Q`=25f zMq>5aOrP$*_{RriMfa_&r?tANg*S+%mN}nn&SGtuz2g&izWjxQ9Pb-@5}(fxu;YiP z?|;;B-MM^0(QK-EEpweg_a14oV(7cXt|B4|tRC%FSpmzyD4=#|=?cKWeb62pbuHq` zvs3^qQVD>><|`PJf1+)YAw%7A@ZBdQDAfqpD(TFO0Ldg%pHVMOXr*lUn(l z$3)mOA|Lh~F`3ow1E`!Ym*O?aTB=X=LR5?kDq6&@%Rxs7REJ}j z#*rP{Kf3GUW3N=#94hQ3TL2mH19CHfrpp$D=`q5)KH=cLS(k)hscP zY*(?WpK3pRDkjxB(JmEPzkS!zeua)cUn&3=>Bo3e`Ai@%$ibibB|SO0g-05|4}eSp zeyBx-`%oVSGCEn&)-9`QZ<5clT2)4>d-rB>vH_dUL>O&Gv(te1@uw^gI&m!ePBt=t z$nGUWX6Bsv+f|gd)Y~l+l$RhIgx6Xa)iw5Ouvge>iae{yzEuaD-n;*re|^^JpE~Oa z+YP|tMJ<2oBsuiCv;S&h>(EOZ+lT&NjpO+!(}6PBXsQ`06c~4aDF(PR*oPui7YeDS zB%z||S*pCtxk$9C2*_b<$IunqKK9Cws}`G$Z`$LVziO)wT2b9T zto1B@Jc^7--<=;B`WG5D!XZo7G$BRBAQZ_55 ziAd4AuTA@lEJm!9y5hz>BC&TSX_BF6FeBN>(n%ajoE+=4i%L5ZxRo9*X#f`OM{n=4 zumW<3^1jNBeV5cnHh&^I0&BsOuIkia6%n2E(=I@CqUkh9PyW#1Ryi@N1YLj|r^<@O zpLvjmNhqX6bElbW*yz(XEXcV5FfM{P9s>X?v0){>8F{3C@Rc|ic7VDkbLG~=Z{2F( zSfG2w0loVj@YjdE<%?h5_f?-bVEq%4yvC)bAY$>d?aOcZ$%FU*<4b0?Z@D#R7^A>* zXlabFl164sl6Yz}#}2JZx?xKK+F>NEl7>ZfiVBXgfe_pQz6enZHKLx851^a@Ad^{B zDO`p5*k9?r+-zHqp~9skyzW&A_4#WXh5G}XlO99-nI>9lq6nZ|6{+F-2pSM1OG_VCj112gi!#k z>rGn?mopgzfIeLfAjS_v&^$omm6b99$gof-IdF=UlH_WU)01`XdLp59Mo?!!e4~oU zT@j%>b!*Vbv6N6=e~CJ}Wa!40EiN0)c75gkPpNmYuXY_d@C^Mho`}IhHeOi0#v4C< z#^qx>b{x~(zI|h@)|KHgw5?5&JhQw26($7wJ>bL|=WU^Wb2NK4aOfB}ot~QF&Jjcn z0ZFeHB)76@Og%(kkU4$xSdNeo`{IsJ#Wmo*M#!k0Uv<4u5hHj9pDZyiI>i#ZXkY1z z1@-SU6Mc=pM@A*`D7v%JZCh^L_~DnmN&i#z-Yk%0KX3Q@=JBt<1i~AewP~~eDT9aB z5iy@?r?)nxDN&y|%4jm|+~l>tc;}a&zkEKs0IG&mHo*Q5|9q&`n*FR!6cuXd*Ycnr zms;A1Z;=*_@gYOb0Wk~0R4J2)Y@nk78Che6TR)po-K))(`jwuF=brYw!ZT)xOY25$7Bg}~Go|yUT zYJ*W$L9~}``RqC0`^~0DUfkNX?Z>sOCr8(cP(DIk0A!gTS8-Mab_#LOafeBkqJ?3O z^`9!G)BFp)dA3j#h|U0WT8BAs#6+(WEx0ks5;}1FtJ=VU4IqgE96H};5NG^(F{&j~ zVrnD${1u=Y1$1?_`ER~$Srlp^<6g5&H%Z^6 z%+$uuXHX+hTUI>xz*Q^ey$f*BFV^cfXJTsm=f_8Z#@qt+5Ab)0JY*&=Wkaq z;~^OtBzXpY-WP2&Aryp$9yxc0W`(2G3A0$Tso`zEest6LpP3By0lpB_+5cO5;E^g& zNLdBH_V-6mZQ1yRT85cvS+^SGVj*Af~ehtl;L zq}AqstyvTWPMQ3GN-+z>Zoi7_g_DafJplrl?|V`o_4YZzU*zAfApA*)Hh*qua(cKY zmDgYD%|EaA;O4*en_E6|%W3+%>&<^*#QG}5zqb3``Mln~djFU5<;B4>?S=~0%8U!g zM1qI>4@ovR4;F*AXrP{k{ly2@J#U}+>;kB40@Ve0>fpvL_!z#3njYIQG=~Z9`-g?^ zZie?CLZB5;T=QK1e?l#F9i~pzA?Y%>t*~HwSDN!)RRD~)dJ3GYwk3uCxGA?=;2=r7 zRWnv$!8~>&2BIj9!v7%5>zNa7bt3FJ^|OfNch#q5tD04s9^LZgNo&`tn(0C-OZtP5 z6JVf47Hs5NtNOVLuN0Kfp&+pft|Qb{K3*H5LSdc~Qqd)6N%ub#BQ&a32v6;5t8asH z=h=xJ?a^JsZ=SmE{o73j`{1IuYwx#KLAL4InTJ1h%A3cw486OUoGh|>9i>S~56o)1 z2mtH|s2E}OsjY+d*#~tyJT9P<+>O^hT2Mo%t_cf5R{%qcU>I2e(R;`;xW~b_7+7MU zEUCClfw01^CoWeRTo_?!d)i6T`h)=o9i|VS< z+oaZbrHOv&Dagh2rfUDVdth&P;AJR=*BJouc)O6q%!(H^hR%A=t=z2AhQ&*Eol+~# zXBC7fpzxZ;$%FwbOuPuzRpI>NBtlj+kjgf)bM(Tk-+bRcXdB>S%V4*<0OdP>^v08~ z+qr$mD_bKwc4m1u1`1_usX72?6*K}t<6rlrJDWKHl^eb+!BwEssXtLqr50IZ;Zo^= z2nj-1khh!yiltU@Kv_*z0r`Lc_dp-`EplCjxyQ=KBG`Z^}x- z79|&Wy|`V#wT3{*(&i$iOlHn;pb@KZKlr%e!fY39JTRbnNW}$bW4pHAzVY^VU#|Wf zZGeljUx%kY^|~I3QM21WfA)PFAK7wLW7p6xGt3caYc3y-Q8SFRz>YwcaU#ewn;m#t zD@3u@bIn$xIVp4qSyAV2=S)!76=H&m>1oUkXxmeo+K_qaJ$3IjPwa_Rt{3V)0b=cA z5f(NE#-us`h~~UOC|l@JnVS1^?5befe`xD>xBcYdliA;#J+;s_|8(hLUwOfUl1R2uxBsm*L zCw!oAAD8;)j?<)f?NsV>(E20`?eNNY(<O65(HI5#$$qbGkHKaB!Im1>{*ixohZ=jlUXtJ97$c zwy4{6@_vk(RYkzmx^sWN`Jv4(9pAk1zIxu1iCks&DLa7D1k|CefLBc;J`~ZJko5lFPd?c?&+9! zQqu9M6EO-qx|C%rpZYp3BY0TQDRGh`z{BPq{d<|@Mp%Xg7Kcj(z#?2s?a>N#KXTdt zAGib>7?QL3(rb(U*GO?Ld?wCnskd(Nx8Dt%p{v_H2<9a z$7MTo)b1jg`?KBZ0*=zUfT?esyZx~n{@-yU8#mm-(X%GAI>UHFA|t|Ii!w?$EL;6#(4{bgiDfeN z-c)A;WL94gasH*H{OO4^F77zXv5UWxQ}Xht@EI${7nCIaOVTj~HT$`2u&^KF{BlfSZ8 zkvTNbi^kcMWP+!ps&z^8*Q;bGw6)6Sq_I`$0AeqGI+`fyTqqhKI(0=E@E#f>OaAKc z7`Xo|WhNw<0i4Ck^0-nb1%QOg=NxnbBH(1fP|cKGLm0s}8y_9LZ1dOObB|uIRn+d@ z^kJbv$UhbvZ(92{>;!y}BUuekbm|Q%R9jxwy3rtDwE<*&)fxE=r3JUshEjI0xY3xo zKGfk~D@(xn}u3f7`WB>q)cinYK`q6-G339oCL;&zV!TV;^AZ zl+H%rTo;MZ#4bRV)%HjiKw#%?|4TMLggAh&<$12FNYEJ|X(x)%{JhYStZNqYY-p9% z-2qU^1OR(Dse(?rf;e=roudZ{$iGh`IpX3dMppt0`ST7HLk@BIly7=R)m5DT7^>TmzDfbDWz-y3BwX zvT5&#)FjzAXy zHQs8AqH7s@YJYFvpUrm{zy$=fTkTuMCPf3+gbZwKQ%Gi%wj0Pw$$%bql`1{}DzVfo zVzscSlNo=l`T5vjQY52blv3K5n@585g1JtuRF(i$ zT-+$Nv2>b)MpQiFmxt8UntH1_uYjg>2v7kEMsYU1n3Ht8+ji`FyRm4gNK-D^-uhw1fy(``<@0BLZQIuE z$4>9sxh=1uE`Viip~pEjlm_4@3Ix@r&q@9Qr3RKxKvjShw~Cq{Xq zn3_Nx72<-qJ$-_s1xkC+52`*By(7G?MM6MO$EB-MXNv&ww1sTc_Lt`VGFN40Ev|UB z#H2;m-IEV**>um)kAHpwyKUjM{nZH^1ETbkz4^YgZpiwI<42}O3p}9YLKvVAv-5sO zF9m>7zY$1=gTAjTzBW@`0Q{3CYN4|{f5&^)9sVTE85o$Ky})z<7~k)szx;R6nEEEh zU@7~m$gF_XhB1fhCW$Wx(m9O&UU(wA$<0cLrcSyH;6_*AiwO}{L3IdODgYMa$Jz%D za|85o3c&FMC}MFl;{m#JTM8c|uniF9wiK&&rAl(qa@(f!;+DC*(9t^uNfp}};8IRf zW07;gG5^CUuR0t^CZLwxjxel}Pb(+f$)sY$kW%dY>!CdV;M7h?Xlc!`shO$wG`~Oi zYd!a0zkaW3&vmL{RS1%T2JQUfIrl%dVcW}QcMbi#jt&6A6>EBl3j(?d zU8U4nW4?c3TK@QnzpQuXW7{@=d;32>@Ot*0cQx1ow2lt40Z<8-*MIMn4`jWqKOdPK zmO_TL*;!^gg*sKqiNi>fvhH2ZL&jT06CDBUNe3)j{SNh~haI+d{z8HtuqK~Y`_q%t zdj60p%a1DZGRb4;Q_{C8QCCaU(^66}l|DydQFPpZ|FzIc-drjG7V{HE8#yXHJcHWb zR1|CzdD!Xny$siJ#U@n6{DN&&+Re~emt+SZYfJ!il`xdr_MPH*p_4#p4v}G}f+JFV zR{(#EsHoz^7)=pG7_UG@)`1MIU!nZKcBYKKYUc>QnHeAb%8qY*;I9=8ZLgdAv)x03 zltZBTwYUCq^TUt4Y-;D$`)gUI;#P{bQQDaz06#S+z@CzMQW(;%Q5BQj?IhkFEg+gh z>%vr$dk9AXqKS|oB?{DCBG-TjxdAi+8lo^E2;E$=)B}t2F*u3yWilX;)z8vuf5rA! zhyU*GY+}cjZ*KeOk6yP>H~)1KMSpxy+;HD%=hSL&#bkTTh>oSxEXg?weczE|lDOz; zL1Zkt+;s)?HIS<=32z|L5gYJt9k}h~hsIf%L~P zsK|Q|_Mj1uu2?w_gGQr6Ae|cMPmp;#T$0lX;O`qt1;8TwSa1K^7VYhYno~+8hat?l z=;T8%wNAVS#2#mptemhdN(dwuBCt5NH&W79dj-l>YegDXxgLg&Cw567DQT!iI!_bP zKbkV_A`OgBJ%X2u>BMLox2y-o!r^~Jb~7ZS=^ z;Afe3Y8z3(vN7xN(~ig|XtcDD)TUj^pYVZ~Y6DYnA7y28JOOvr+m^2rfhj_sP&kTraJj!?zeWa z&~-Eftua#k#n&oC+gNZGQ7sfCBZJ`N(nYWN95QwM0EJBr$>O0;1y|>%lr_SBr1GQ|lk5&7t&7XInaCGaY zbz46A<5N7|cL8qx%I7e9@2%cuOjJ;*x&SRdlUUvcJCsk9PVxofEW4rE{Y_xw-ujT3;*0=+j z15#RpfOQBvi;G!G0HhFB+CkymB}D4g8WBLqjA*wSY%i(+_MQUZ&|er?d2@DD6iv61 z1n^lTfD4Q(qP_xd{ z8we?y5V}~+P?Lxn+A?Uwm%k*3wZPY#NDs`U6$8xgRaItZ83{_+E!+Q zw7`gLg^01@bhPH>SHHR6;5wen3e?id84~D(yh{=U`i^vV&#JZRn2D7Zw)oXB~DtA|$aO*{|c)4rtmW z9$bnkO$FB}e?xa~`{w&EW_u9zYkkpD&1N}%s;4<$C!_!I2L{+!IwIS0^Bdl~Lg|cVs9kZX09b4VfRJN&fz7IvENQKEvLuL-Ap?N($_{)u;a1SnAhb}WBz7ur zt-Y*N**h^}8jccm1sEiXUWjtEBmT84&vq%~D#gNjUq8e`B9T%FWq6L%ukDK$$3?K4 zJ=Hy!UkRfX)4UC1SyHecw60~1$&sx)Mkn53Y#VE{J%RdFo4*xy2iYgiarmv~9o3%_Ar^01{ z=y#rjKLD}lSOujl2mq+;tVV(3iAXR?2b8jjrSg&pa8Z5?4(RuJw3r-4#rddNXW9Ru-6`h)`UtB~E(e|v$K0Gs{PJQ9ejaL?Xb_ziq#t33GGf)8oJbUF zD#~+hT9@1=nC!qQu!KMvw;EXo5*H)(M|XMyOOjL3jH>97%~>`)I{v}g?+tF)QxbIDTOJ!M2`ZPrFe5NkL5wG|2g={@{zjsyhT z3Kk3#>lRg)DpNK;*}_}|6twZ#?OQ*yVc?a2x{x=2rL_Oc+h4xAKVSVVr2HK^)0|Y4 zzudL@3*&$ZA~r~|;zU3T;l%5@0O0Q~5qaeeJAkyvompO=M{26n;uEuoN6F=>7vJ%U z!&R}ncHR6GySF`H0BwjP{Hw_sEhEk}{F6hR{on#uAdn$LXUYX$@#@eq$90j3i-M$& zX6E44XtpM2mkNMI{8Yz(Jw1&l;Sm><0yZtkx2#G|0y3=U=hGY3m=4|M@k=aO)<97iH%!PuCIBe9Wmk6 zjem!sa(r^f(6tYJc z1rS7ljA#KOaEnZYeicD1BIpx@7XZdLnQ?E)N?1_G?uG3|W)2pkXT_S~UDUJgY-(iJ zZ?^twv`}EJ;)6j-GPWXNL6SuTxM2CpJlooIjRdy+x$bI=Z{K?5h6|5*Z`k}7mSaTC z)0MjZop-aY1A7j*72|l1oNkOF;#cJA_+RMfm0Oyk4EY)^pF}!Qt|W8(K>TxaaL(fU zo6x8OOKexE<_(P`3I&BH$(q0EVvQbmU zIj2$Al9i&!-B?vJhZmNS`vkm}K>zs!o1B_j>HsX#4=3aT$cM>Q63qG@iOc+g6pB!8 z)5*fiMul?@G~tlJGEwjc;*>2Gta-US9w^iNqCg?i$_id=!zl2-hmZp1PIo>qgNe{y zB<(TH33oywd(slr=a9_TAR3dDiCy%uYc7qN*Xo~N*q@KZ7ovV!vy-ebJN+*9z_r7B z%JS!Cvsc~qy65%u^jy#KwmyYOftnylmubtyK18<XNEQI8f(Z0yOkplhXS4f0FD^~9+2i* z_dc0jYb1nshA?0i$mB#*#jT!1g%Oz|bk{eo9-7&kcE-J`0C>RSfLpEh7A;P)LNyab zRnc~jgd%p1&WZR&hLgRsP%xC8!|;^M*iHsbmcLjyFa}GfQ?n0`o{uhoMm*rpdHUdEqwRL&jFX%@YrY0ymoBM=65S)zM?J(o{6?H711WTBuFG&`$<@enM52 zc(tOPMH{~>np|re1)^j8YG1$lP#eMRaomaZ*Q%1-Wa&smDKmfZt;**xDJ-d@Uf=<>e zr+%fey;P(}y8}+}X!bOS=C(BI)qfAcND!0m`*1wHG{p5E~KDX8br%ugIs`F4TY|$rdm&j>7^g^nwXZ37s z8o@2yGyCV=;*M*-|C;wNd|iMm0tA2b=CiJw7~1@9uB>^g2tYH8+KQzr05XV9qXy3k z-m*tUewBeVKJ_xux40Ru9W}@T&-1ghwxw&8HDu1KJ5Y)+sTu9qz|L@N(U@RUJ9oZu z!$q&TK|K!x%Ug(>ziGc+dFSyr^{uGAx!F{ke*uLkbai8>hAg7|mBuX)#w|`H>6HF{ z1nFTxeiaA=Q5gf43ai}#3Rd!ku;q&AwIV|vz*z$K8~oL; z@xJ?ZEmyBoX3yg0Xu_*-)nGFy46>DUPf~r7B)W<8P$%^$M)KMY^}E~VF&Js70N67H zz!nfH4?rz32JGYKjTH+1IN49wS$4#f3QGG9+?}$(zd|@g`&m%_N7binZgU9)5wpa> zJwjSM2xn2eYt&`18$Xl0#2;Wu{H7!fc$oydF!F1!{#V5nwwb})phC@^n~labyYBk% z9;5v^Th%7lBn7ObIuUNS zDuoKhb~9cG_){}0^s^l&oiK>k3eLzCAWGEL=0C}%Mn=xuc=2ogYVEppnR*@zEgG6` z{#SkLwbw0QoxNkWJt3Odr4U-Vm+6jsIntL^Yb}zj4{)PKLMk;lTcTNV9h_*Pkk-0v zGz2ta+`FH^>7Z(WNJ8WSFy7a@>@SQUen8GoO5g)#y3}laWu{rv;l*x$*9s*F6w0_$ z%SvvRDzr6o`X`x?N~Pjusx>sEUIR+>x2QPN>bA1`a zN|Jt(G(72RZ+lTiwv`ZcW9&?wEG@o~*D>xl{jVg-U?rpq>0hMsko0sWZQgbm6?AeP z#^Z-j;FMerRgaN+|NX+GO@KvKuV>SvyMFoDL%Tk1TK^}DJ>mD)0=_$6)7z8ve7e58 z)z^{@bx2Z+A6^qpEetAjSA#`x8sBQvg=1HSggrSrGcLOJnR(OiJ^5MRANbZ0hb(My zpeq6fbP+JRam#zuMqH>B7Wdi0!mkW#Li%nGrK!abmI? zD?n(bj)#J89PR;py3tbFu#J1$VR-K<04xk>c6@Rd$o42GD2iIrx$)4NyNvsjbO;6V zdzcO2ks+?vr=$hXymSgdg5w1*7PO}*Nn4|?9Ou!=obJjlx;VAn89}i0YHCTk2w>Iy zewlFD?*w8LM2oz#@Q~J{%t$OTRHFp^NWktP;q+(1hwxCB@iwad$Hqo4VE;NeZd(8I zzmVT%TmSp^^bho|+qk%#@Jp(XpR|{7GQ6cwq;aP<1pSHTv zB*~~qu+~3q&q6&wfqDc53zAk5hJ}b~{p(O4F*)3r+%bIO*1_X%wVQvz7MMWGpreI) zKJxl|P9E&vr~Uzi{7BV#L$$vhqHvwLVNLsQ12$X)VCl#C+ugz#wZ1oexkm`J$YA`=6nR z3Klesf=D1C0w8$-pw*KY=amfOD3d3lCtv80ZK1qmi0ToR3V=oWbhmF=GmP*15Q8vx z^um1^keV!s%XQ>EGd9S~4P9D`Ag1&YZU9h98m9p(BzX`ZJ`L<9tc9`Uf(MeG2DUT6 zq>oV5RWCWoxzWR1gg07A16lB?*btJcJM+A4bDGohJoIgkjgEb8*S9XXLt8TUVC(#y+h~ult%)`Tz*AP>TT533%kwXI?$NWy=Qz76ED;VCptA4lvFuE8Zic9a-4}V6hV* z;Ru9OXs0buO$YolbOZ<_L8^8(s{C0y%i63LT^EzPcJ3S-e$}Q+U;7QR`Ll()`JZ%Q z&vO3JsphyWw6zb*7&`AKn{lVuiNxw7T_YE4)Qy=yvjO%#X;%;0alS;*~sTm1OmrU8)JGW658VYOF0Vh+EkPZv(r4^hY5wJ!a2 zlsE)SCcZEeh?A;71|=$0Mnlr-s}v3bsq|SA@*_NG1*|_yQ^oX#&Z9XZODJQKv<%s9 zki;d+p&vt(9SzLV{@jlReX!0%maEqP&?8$O-gv>Dy2)JY|J-$l_Tl038rjpp!MFAS zK~PMyIL_I&d5P+eN!J+27O4*I#kZvF{o*XkIyA0W1Gg zcfg}JpZN)d1${`g+BgnC_5q^N3SCI%#w9C?KBE^KB?c(=t zV_;C*+;8o?rz@Ww-uBq&jvdDi4W96WBL{w%FT~BCkeTj+S){-<7LP}hHOzHz zZLunIeSJ5E+U?05R?D%}0a&yjr`~2@KwNChxDz&+q_IfsDvuh&+6aiH*u>VUj--`hn2O9K6|zG_DTAyz#}vy1Gw!Tc^g%yBP^Dno|7x?q7rNb;W)qW*53rwJvvW@Ye_ZSTkiKVswB9TJpxK;J zbN|eoas~6sY1Cpj!ZRf6POCcQ0jB~;iCv&_G zoQ)$wI?GNPSofmeSH`ai%^=f}H@xSgCKm>FH0H_rInbT094(i1VwOqJ> zz|{DzbvwTC-rLkhvnN~s*WY*IE4sSj{F(NYdfB+13t9}Wr>40Hjei~_ZaLy2(6*3C zd6cRfkacrBFN;ZR1^2IJ@4e#QV{d=wm!H3U;fezTHh9x#&iUBL=Ep9TEtSifu_n)O z|IhSTgoZu2>k#I+hGT)ON%zxK$V>(|4Sw&o`u<&c8|#34YRkhvd+ed@uNeE(*^eyr z&0iID*L~;2cc8BI+8Hr{Cx0Q@%2~t>H-ZxWge!_URHuuwxC^NBNmv>>=4f}+^5>QT zPBwYh-ZpEP&Iu6G!^;GdHgV997Yzd3jb^}N9h54jrZWN%U)?k_fcEMFV765} zSTv_u&YusjoTj=m^OQ3~-`AR+@&idXoxEX_`-Y87J8HOSL$&t9KfJETYvADozJbay=A7|LQ%hB^cJTkg#`oqTWI|zGB^^dK8 zJnmn~d)vGvnuUd~TXALlT1O{;!HC~l5@9B#j|qFiwK!V@1|evljZKdi{VU-0Pdjk` zdp~r~OAb`xz=d1{sOP-p=CeP%{o#kM#9;=QybRp26)XsNm>Wk6Yjv2F@k(&xzOt!< zhPY-&0bF60xk`g7atvB%4sH6;uYdK(G1Ir4wUsU4&0pBf|LS{>e`~Fa-PB-HtR-4P zpD|_FY^!`eEJ^D0{vWVgy&D&3SC5QylWp4?(&$_JSK!wvD>!6slpw;nMTUF^FEF&= zC)e$awM-nj0MqzBwN4qhTymDf|r(C;fMz&kGDN?0WGZlMkH}0a)RjSBM zi|o~@T{+ytS~h9)J&opX^j{zL0I($u09*7{z*f7psoieO*g#b2Er0+~)$MG3rbTS# zcif$Zt+if~o75wC$q7A53FHC#L#=;w#vVEmBI?`IOl+R=2dvGIkzDZ3iGtFOBv{9r zC&KwopC=YA+##(sagFZ* zivc0(bRn+Ut#W8U&<2C$6J)4-BXm>AfyBRbUw`nw9ypGD`JKD4U4z%jLT>vHicfy`#5Z@>YPU4GI{9O) z4<4C==AM`D5lMx&={-cywpN`l?FrsFbfk!DfeH(by-&e9n%vJcuQvzjBZ7bu0htvE zvw$83FXB}g&m3^1Rdn}ft9tU@bJTY{Y#u;4PKn=|n*Iig0VmOzkm;*QdZuZIE@WBM zoW}n~884u$zv`F8qb%aZE)@W5QCk69%}vO8-)gKgxP$}PwiuY;nlLO+TI6xUmH-yv zI0Gt}Z2KUi1gq37AepR$SCqqrq%Q;nK=t80!uXn2Bn=aCd~Mgh-CYYeCi|6dI&b@P zPz~_QNs)Ec`Rvr_J-hDu;7#Vrur@&~&~y=i zza06(o6a5Gyzy40z{2#swou_U>iKX8fpYe==~LRl6a<`HUsM~SzY0Z$O{@{yT{TsA z^NDSnu6^|Cb53S=4NmJKae)f{1_sT^|N48^zBR99pKIsStX1IdNUtZ!B08Tr&D*s_ zR;MdEnlf0gK1gaW4&6oRti%NNBV{@C#)p5AwMxh!2NY2nBlC_PMliWPuuLUJW{3zz zRs(L8XP^J|-`&qfV#EJ68BmE+54`x7zYxut?{wExY`f|xf`^`!Lf0yyfU6_cr5PhA zwFbU-vn|oa688~PcKX00`Tjqh*!tLaapTXMdES=1jt{nGHW(bNNEuyb?a?lYiu z10!O)_?iLB0Fe%lECtc?5bF^L62=LMYk)=MPp^VckKW2yDt0_DD7EcWSD6 z`RKPk@LvY^yS~^{t$)_H?}zJs;*Y0iX0Y{-inD@wMuRbEB!y7LESo!CJz<0BEMYOq>G$AA9csZ&_8I|F3uLeagL4sm7i}lNi)QW5X6~C@NB91}y)? zn4(5wi(Q2AMv)>4C@El!H5z6>X(CuK*gy=ipeWerFzuFePd{g`_rLmj*V_9+^7~}& z++oh;GceqG?m2s}^{)4Qp6|n!wD&Dl1f&@NQQ%Lcb=0U|gKw3>zt-%IAKZTHZ$7lU zaKEngf5sI@JW2Y8-r5;-oOx3R-WZ`4x34E*gI90R3G$@&P zKeH$Q4}aywZ*11HkBp$r#wyfTSG(NkA{bHNyH-0a#rTIPILwb49p6J_g!%6_xj5?9 zsn4u)9S|Vya%ll`(kch9JCeU+R_DXfSTtAj-+%b}2OYN@T>uvo z{D&XhxhTgh=V#{LLQ{yVQArV+BxF>{!4w2(0k6AOf{L%l+FCd+@aMlX!}?0xxHmZf z_HG*>Q$Ewd4dbD)g9)Ft61@*&?wa`!jC#r$ynCt-b_q450FN`$CQ1ByxAgvILCaM`~F88sy z4)hX=J%A7&Z3vKD*#xsup&n+Bty?$s!Bej|{5@vDLtJr@!m0?^v?=eO_qy9!t%YNU zJGZu_Jus8jy+Y&-X%49CaaabKRr&KMmtG%|x$=VYF|XJ2@$A;Et(`lcyY*wQ`;w;n z>6Smol}z|Mk;yQUwgwc^V!UC&=B)N^7b7CuXk+c|2-P-1- zH@1*3B9KK9wtfk+%6*qrsaOj3WJ^MRcn~&Qyg6m#`y2qI0fHfJ*o-VJ%~SIM2J$t> zS8m*VP+i?)yLx=(#DG}z&Y$lN2bn70!L8WADM4-Ah%QkzP&?h|g%jwSev!GlLPs~5 zk;6t{lMw*hYn%YB#r93bc)U}dWK`1<^&Ac$67U634;7ps4F`y}Mw28LT7MAc3E}G@ zY}jR}K9s$|6t(W;LD8H#c#EB{9qAV(1xzJ#ykZoA7?=n#{KqbMJgB|(>|ch-C=YbE z-9EQ<`MbZeyJouXWb&}zd(@k!*Yl?g2E9U_9x{K%*Ykf7td_I`V}Dof+q8+3)3^Ks zkK7R$XT=*_-TdRmoqbCRRpv? z{x{cl=jL8sv}RRDBO9s9O^yS2UNb&W>!cBS)8a-TDBmYt1mmKX=e-?w{%rQHyPvu3 z+}B*aV(ES<-uJ67edp@c`G-c*>Q@M*_6JT?`E-~UI8wNzpx2zrT?NXm<8DMwmCUCp{ut zcc}WDjk~%FU|aGBzU#+7kk9+~8uhv=kVK~YjXV_W01+4|LIBgiWCv$cg^*nGFt9kgRYfdX}l5fYyr2Y}JHXEgawV5GiJD!(qe?ZFBAb7e_RV9CGJ|77$3=vQ8T{PddqFYjV^v#UIB7sd0%;g?ain-b_o(e^CtqjzT8n%YW6i1h-!L5#v}IS1ZuA&H zzcz*V60^=7jwba0fR*T}E+0(~r67#>xPQ%rCIHIIl@AIP0yy~f-WCG1w~qj<5b!!F zpi}nxSf@TeHaK?ke)2vjVTz#?EBNDjZ5Xg z!^3kr2BbQGr9y--;toJ$Ii#C?V)r96ZO#IG1g)J>G2KUl&PnX5ncH`Z=ij#e%~Qxv z%csS(3Y(Mnx=&D`8^0DW5`H}mMM1ap*#(4h#MR=Gfnli|+m?uU32s`WcN4_21k)yy z$v%J_lQ*Of8L&I*;M#rbZ#(_VFZih0Zzwf9Iwrsf7aXoh?$#I#jvh5G zFcl`mTn+{avqN|wP$Y|wVuc;Igk%QjATI;UGTM%u4`g&M2l4!OU-*Q_o1BYXyN|ey zxfsu1xX>Q7YKjSfrgZ{{6}D;cow|s_fMMh(`;}NXI@Y^~qwdY-0$`H@fbC^MK$$)A zBdO>OqB_orUvnnW4XU|UQqRqi5*q@)V+&|~w|FGd7F#LMfyp1>^1 z3Sl6mkXVUS1;$8{HOk>GRi_wh!9fTGf(kvAr)}O@*nah`|8dbdyUp`&+mRo<{D?O- z*YfA|23-{{m!*PAdSXZyYEFX3V;Ukv3T|-48neEC4EPuAxfU41lad?=uSAw7nOfEa zwT5;E3u5hlwZA*#D@T0N=A^;snKK=2u_#{#9$UP2J&6)GmLG39}nN zqm)pB_$6(B4soQ|Af*f3o-KwLt@H$CUm$(vAxVZGU^fF!~folsi1k z`&j^np$)>)yaJ@lMhF^kqzCyprHuoN`f8}ll%QAIXOHb_CV;9x4t)2|Z<5TVs~VZQ zr3<0CKy2&_aK9FdxT^`syf%V63!r>m^Gpl6fA#R0t=sl)Q~X}}W{6M2G5%oOUsM-L z1|}cN*3)25h^BSV2?Yl&`xYVXxH&7B2yB38_J)zQkDjs_BeOma@4+&`&nkMs9y0|5 z;SrrbM_6OB(N%8#NpMTLSw%~T4>)ln50%%QWy8(_&d#+?WbCT35&kW2HLW&E9rJtH zVF%S}`KB=&>R(FO1ySYNSKB%X{-rDbtiSEftFl@%A3=RA3jz78OL1VW z!IhwLe&>#v+s^#|UcZt({$cYs-6}crKV|LO?0A{#r_a`Ed)K;iowH%}Jt^J$o-DOQ zOQSK!toq&xN@DP9fO8BucMn=iF^71ZC&(O}d8Qw63+Vsj;o!iiZIcQC!3*estaqNl z?_3YE3ow?gwdqFlnB%|r_y;cs9vEzKFA1&}$-Ud)+Q6zPh|>Yc6B|005Q16t#|v8+ zsP#R+K_4C@r(|z)0PNibz(EJ;7kkKxUkNeVrh-oxn3)k3gSitrQV@qgkLnB(L3$f= z5+uU{CC;S;GM3EsL&BfGug&IaHg)dAYILrL!3XTydmIE&f}EQLW);jC2rmU76V&QOv;&tkzSeP2|75+1#A z6bTZa96b51LGR!^o>r-^sKRz5gYXxqfYn`F4oe1sU4kMgTwP`WcUQF#?xOac1}8|A zQXh#2E+ih9->;E3Ud)yO5A59l!^NxG1JP1th+4Efnw^uBE)svtkdbi)iLHhLMlz~d ziok!!G^dPBM1X8B6avm&^wv9ugV9Y|+^amMDt8(<*(`Zb+M`i%8@Nk|=A?6U=6&Dv z)F*6&6#>vVzc`CUHvmN}lU*fPwyu zf2Q?+@!_wnt%4WydR;YP&-CJ4xcKIK#vDiP47#{mVhSe? zg7E4Go2PIAQnuw7;6j8JsW%U|D8)I-EVLKrnh+DC^L>pK5Tn8W`E37D>oO{DLLxAF&UEfuZBt}Nk-AJUXoLMOL zx)Rc5^PN^PwJ#iZ>Sc$1enpN0Y!NW`nOEF8JL()YxZ|czj~ClV+;PT+%QosjpBY?< z9)IT+QAL%c+BFaUtK&X5y-)U+o&LP+E-Ns&`a=^TArjdkl*em`X+&u7-J9#e#d8x2 zAEe2k;dGBA2LyO1Dk4E4#-Jyn ztpdQk9t6a0IA7ld67BKdFzV^`o^u1d0BdRT7nHgQGoKe10^uPRmx+pWy?EX%f(_6T zxqP5COVR`}5ezbnEkwYU4D+cD_$f00sNX`fGjzwQI-GFGh9FG_uUZmofa(uRUCXyz(53$ z#DFbnvqZb;GncIpam(FHtG-jNuET7x+b!1Ymme#OfX{ki;7Z~I7*G(OJ^82`ZaMkL zSKR!eqrRsKYwPh}v75gJMP2s9wSRp7Ctk36Jv&yO{H3-HrNFHKBpMBh^)@v&E*YK` z@ZpIkA9<7z2o;?s*AGbVM{Xi{tF66GupBKF<|0yKIp4vmAb~nmbL0-h5QfEwjX8D; zna3(Ezj8m7DS@kjHR_FH)khB6a1buX7+@@VS4uSSY|RkY5G*{&@e_0n?y;KAe#?Rt zTUK^?u4PI;dDI!LS*?o;x`iFSxNnoZ?47BpmM5i<~Br#aRL*w1}$S6BfA^*5#Rw z5gBxQA7bA=dHe1l{;7pr-MD9d<%o^V>Fn5EuP>jXJOdY&BmxT^NQ=;}$(5{jN&(E= ztC0LwnSGu>Fz*`hk-)ZK5T!^`5iQ=XJAskg!uZ0~;-xHtTn6tb>RzkYF4pW{f7xkY zI`rd#6R?8rUDfr`Jbzgd>3KgFEA^IFG0eJSbittqJ`5iA|p~O1So8Ib`9+;ObP(DcSZw?qV@~fR=-8xRA`BS7(g7=k&V50MTQCRGM__W?^{$89$OqG6W( zzN*8J!*C>IK0x+>dVTFtY#GFWV8;wnxP2ws4c#YDdf=f5A#Ju0<3`b;?l<*M)|Jlh zYz*HsStVQ8qyX4Ee|>Ffn!Wsut?_X1LleiTgn;_uj_h6GG#rF`h94g~Xu#N#o2>d#`lDcx1Q>$eo`;pY!BSrK5~wKhvH_uo8gr!KlbhCbrsDqk z9X8imIGNot)88GZe~0_sXU+ZJIlZ?22U5>dpp{zsc|F7}dM~teLcM4q3^qTFH3kz3 z6*lWQf1QzVq%a<_f zgemfB3Qt||I|sv_MgVU(kBLbE!1it+&}h)RZd{Dx6EP%%A(|=ef`bTA@1ExBG$u3% zez+&nIm9I;d6|MlEOGje#{lredkPo!Jpzv@abtEIDsh{%CO9ZccZG8bSr z77ghjkXYgCA3Af}oi257QUI{M8wfN%w|LE-SyaYF0zn_#jKq*S?>7?(H& z$OfTrP>2^7b5mN;&r-oXo({&N?CW?|U(Tg3Hz&)2HQh#2fNTg&bMA9PGBx{Gc?sFD zJui05wN7P5`kUwMYv0^%DA%)oZNR@1NJc>|Ng!O8B+hr+?e}f9mQZ zUtL?ppV1j~q$nR{8?f-!AMeO0E$Zc>C|#68OP+w1JftO9jeJZh<4JoLXs+s#t_w)G z3>+z|oB&HGzg*<9ec99pu!48l)GGM+%tg=Is0yOZxG`gsxAq8pI1qmGp{8%s61(<##ida(u5Q}sJ zi8O5D=IfHK1Y1H2M8*yw2*lAWMWl-gYN1?5?hIx3RGtnFfBoji9H5HQU8zrTGkXaj zxvJeSgnm60o(T=J!8xfyS4H^utEIdnV;u@MyvBU5z55=S6aWrw`jdZ|gHiwc+{#9Q zr0@jM4fs*t zMWC{10R*VPwh|PwVFrYbNL0!>NR&SnrFjBnJ7K^yhuJU+;Z@7-WaWwvaC`tSIz$%M zbXkgK4L(+wy5@*YP3NCI;i4xUdMrpmq&)3T?q|~_(qkg|oSgBMmmD!QRlg`-GuUS& zh6TqgQ+RLTFuFpNKtArj4zn#FE}@qy7UInxD!lt?Vc;NQ++ujapHrQ)DA51n(5{e5 zV80*GYchO|UlXG25g?*pDy$Xc;6Rf=>9rXbKWdGVTmU|jLW=q-c<}ui`@WD7jn1xk z+pxvFe81Ux>kozn{-mMqQ61H2cnd&_8G)8vpn3-KG0KRFp{U&<5%8J-_|t>--uC~b z0AR5WKsJWHDaHeP;Nm*u#hvDmaC(fjhXiIr^`hXE-)atJ4u;%V=)8h}dr=@T2&hUd ztBSEC4oXibP_0a=xY3t_*dT?{(9?oyL95fhd|$7)mp z-`f4hc|G9%i?d1bd*9`{fJf1rzq<_qW4>& zA3*dmA2LHJY<}ZM&tE{jNXr35*5nGuTALcy*G#YZj}tC@+LN@xeJ?KpgqDE_rV7Q6 ze0}3f>ka$@U)`UQfFFJG7uq$(lTKNh&EZImbOa=#wmW6?2VyA6$Pi0ua)S6Ty5B9% zHgp&4CQc{XHV426T|^KbGh8x@z~=#2mjIAaCL=;c@V~q3eJUT40i@<25{f;+Jo&G3c*%774?S$zXSfan0XEcn9n`@zFCjolB0 znf2Cavm=Rgb7EG2PhZ}X&F`_0Yw?$>Pi%fm%w-;_(Ymw8?Y5@B*631%KJ1Z30@#dv!kAb6Cy9wYe9BlFCBq)ru^KSI|M zUn*ccRy2=SKNjBWjnpCMPd8nB@Sm91V;Al(ws$`sW>>TZdM(Wq5s))?m??+}Gi0Tx zVyizASDN|%WNbDm07x#t{I7oabJ@xInYp=`M*j&L>=Ti}2uB-At--Wy%zYS;Ys2}4 z!9zXb8lEm3Zlk7o^@bwHh+vSHHXneP9ZqN5+`)^8GeLM?d+1!~R=9c&GIj7AvH5oA zwBFZd?p$uK+u!O{3#NXae;mAg&@LFQtKf`n};f2IB#UV;h<=)XAfAv&+0E8fBs`1 zs)~Tkd)eaVxc=(zAN~5vPoG)?A1<Xl^>7 zg2YhlxHcQoZA51C$tkz))OUpE%)=Deo55IS_lf|E=f za$v4V(vzJ3wEI#zIP8CWZ|46`3VXyUmze33S>(Q?*tJ(a`Yvci%%dl z#wEZ{G^)9xFep(K?fZq@$W1{AKCeA&3?a`U1^s6mE!;j zHW`ek*5bqVU4OuZoBsWA`)gs~UQz^X+H^>+xc;yE)U)?{+vi_&aWC(_r9Ga<{%EYs zbi61+GM;-)lA&02lOD>7|MWGE3%# z3=9%MVA7$qF}N{1fCdRI`LvK2bJGo@ap&4f$#WPNeOAlIN4<9QL95j@xU0l~s?#H} zgZv?9+&(KG$JI5i?gt(4>zOK?QD+5WL-xhSY;O#jvSW>r;sVUcLJdR4QWw$gbWdS-o!eb*=#LZro%)p{9*{S(cMh@d70?2Q zBto?!!q=Ya>0A{&QZ>e)bA(a>7ug4w;3qAGTBeb$rOr+?cC4U0*@ZY*1X;u=a1{%8 z03wt{0GrM`{o#0e9e>Q)1NOV%Rp;D)T9XpRefu6)oBzzrRpZxu=7>M2=j*>FR%I{x z&DNboTSa@QQ>j3L+hrx}Gd-DeJIlvXG9;8)4oTN9re+c$ZE2iFqo|R^;6bYm;80m) z`hXhM%;R>U7!V$LgL&3Oab+=9ce=bIycR>S&?iBS2d!l_`G5J9kNT(W?adpFm2gr3 zOy11fdFE7GZ;0!#=-;hu06I1@%d~jUoua+hKY@ezQ@Yo8#X12!`-ehT?M74Y+yhw< zOB)kx^#F4H#${_4#y>5&oJGTHMc1wg_wm(Hr&x4h+!;b3r$na^dy@V4VL zuO(suLOacV1t3dcGeE@o5J5(OXP)itPbOf3cZ72t0F4qY3z<@aTy$E&IA`1?9CBZv zKu8@l3xg6pmNG84@bA~U3#Ze0L(Hlo>@iKK@k!(i3l@kgAZj|F8<;^Lw!K%ycB5Y4^K&f+H?DdQ3wb?PJKk+$dgdxa%rwCAiGfL^N+Wvoi z?$H}KuYGwmHMoC!AnATmhz^nt*OsjJxel6!uzlXmwIclM=f*Eu{{g~UM}rtIoeOYl z(KKBrQ@qFHKk(xk9))=G0N(PJQx_zre!lQsilFBSMTFy7IQ9gJ;3D!@U0N*YL{sMR zxbAv0VO2=hF7zpeU$X__}7Ue-XhQFd1Ce14N_FVK5fIyt4z>Pz}MP0GPamx8u&&&quq{ z`|5a9nB$|3+(g2dcXk?cf?p#4g8+b{*`eLwg}@3Ae>(T4_CH!<02wW?C1D)Rj;u$ zU!NZVsEfAK8(?!??G5k0 z1u$5c-SsXD50F)um|DvYSiib?7~6#bLCy}S{w}M&?{cUyF&5tKW2!b)45;?MDwc=e zc*&?fRGh;Fk`6MK*=c?DQn@Pbo7Iy^xDyT<_^%@D8F#S>wnu^>5K#_7rw-CS)_Dz!6ctfh8ayF2Htf{Hmhu(kbGmg}H zfIZwEc!(AI9d_2k8?X7dWB#?d&(z6cYQ#q4z8Fh&Z6WBqUKXzdV6%%u75i#8T@g|l z!G!C?(hJue%7Q8;VRSK9xDnkhM%AL)ZcLz5ihl;82QuAf*pDq^B~M z05OW}_Itk`VG-I_K__8?>lb|5i&oE5|()IEVqD&W{a%3u-6w(ri;}^5Q1b|&h z1ssd)o2|Z%`ptBrrW$GDNZuob9!w0zxgwceYP16zC)pX30$^!7;PA?~-JrsO3=9Z_ z(g84ty}yCD6_)rw@(Mv43=-H#BR<9i|vax3T3ww$dk@li0|A2<`fQ7n{MGk=k zE~S{%GQ|;mC=2?HpEIaFrLmZ*NH_0*4(7hgkXjbY$MjvDAbV=0tB! z<@PkrYHXo1mg4|)V{f}F3M&M4fm@NZfYA8Bgx`2Rf6~gYa0Xxkd5TZ)F>ELj7e*qy zpxe2pfGDr7W#}RA$ADUbJfeuHI*iEuk}lv}GU-cLOEB;Oxoo z+WeSW*OK(7UQ=N#jH(DIL^H2Jf7H0CKHI-aKgtbTChh-8 z0dNm?K&D)y#TA8|WoiGu9?n`ZV5#!vENJP=KHyNCbF03OS9!M<_;ZCvc!qF}xUE;# z5gRmYjb_}u;Fl6WcEmA z`1lmS!Yal9qGYM`HI8er5DQhh(Gv7i#Q1m55lb4yPMwW(A=C?{T`Vianal@G2_`Is zARwUyg9K_s1%l{BWEgdbc$8zPqFU>GBx|Qt>udY2Ti5*bJ3jlUeT*|;)1GwSd$He3 z{_(IsT0hG)}S^mN98g`0~D|{(3>H|0nJLNda(gV}QZp{1t=6olGw+lCq$zP#i;3{sqv2&Ju`_d_(bXr7KnNAl%fgJur>1b=x`jE3> zzjqG%)=9rvZs?ENoHXzMOV59FR?FYeA9SU80=4f@6oM2$7F>cN`F%;?vaO*w-AMIE zifGu5Nk~!}@#{`DdRB`;KtMMRGeZ^u^kkw3t-#Q2A{d_n!OkoFccS>^)N&QF1E@8S zeouxW07n0#k{x+7>kLN4s{OLZKJcLr{)Dmx?&`3X|5L25Fk-*I`q&F!ux{1V*ZCU! zgKod0a=UZM_wy%JSJ}C4yqQZ24a$-57uMur%XDBkP=$S%Z9BaO5EZAB_5v0LgTeudq-Xo$MzV z5!M>Yo-^f1T^O5{wt%4^Aw0}k?t-J;i)Hn*20lmz-D#bhBF|A6ok-AKTgY(9mc70n zL?AoTPXl5>q;q*>6uyHV>r15qLEJ}9_!cuAgnAS>oNnlZ9YE~IUI6F>tdZ!HSdlQ; zpE>EENI(?~`(w2p9{h~QJn3n+xZfq$+k34Ya5$L1b~w(rHFEU?jI<-NUeDM_upj>X z=Qn+q1_@2xCI!H~jRCOV>s~sRCs6Kv^ciW7kyd}j+|6|gP*Bx43oTp%1q!<{^94jS zrzhP3hW8-&ixlNZ#7gCPHFwY(^|^XyQ2{e@3zL;|x7|6Lef#9?=6P7Y)4!Tes|Ek0 zFFyCEtjRX?dVTHVLLEzN+W$^@ZNz{W(fLwNg4HYeQ(MN!EFN4UBlYaFQiQ8HDRMm~ zsbVZ(5*XmHtBjBXG0KJ)wjkkVq+}P^%wGvSM7<_KM5!ndD{?28YyS(wMbDHokPX#H zOALwy*6GY1_L_(N?*8_Ky<$E7E~MqJKXuGUoBP+#7&Ql6QaaVXmI-@`*Y_AYEo~UV z6`G-73qS1v&sl${Y=N>dtwwo{k?-$^%x}5I>gQVTp;>S4Tkdr}v|-L&Kp0pTMpewN z-@rN9)~P$ly~bfYM2miBD^9s1w1m)hLLihucdrwt19c~$<|GCeiz^_g&WWO|Xq#WH zYkC}Kxd5&Ug4TklK%HZG5jNInLFJ1K8u$j-HD@-Xk$lJpZogwBifh&HB=f;VhJ~)U zWs&%qXMT$Hm1AH6|Ctm3|Kl;haEMD5ywWK-I&EsX6?otBGIqmxqiN}1~bbeT1dX$-GHN;gZPD1n@2pC>^?dLYW- zOe~BeoP5LdAXxBtV>oef5+bFw%Sekm=9TJ<#0b;zQR!v2+6Pyd>WwZ_kGm&V>R!>T z<+bk4+HX3;?w|k5pZ|KBdcIfaEY#TBH?r)tpWkryngbhu*B2dG>#3-$oEN$fwA&@M z;YF={=CQV}2rncpac6tX1|vJ$MiCXsXwkYpkHK|1U7>O1nG*m2Hd(HyLiTx41 zpup*vOiZwh-j(-lmerr*$dqgsjh?{jhHy0aiV6ji%bC_PwR_^u(NKJTBL15c0RQVT zz}%PLa{Z{^zh=yID3Dgh`%^u|@-j>|0@4PyLNC3*02TX@h)uT;k+eYos0bP=`v6n+ zKPCdCr8)pkb*unH=HM&!vT`wyB)N~Ut7hhx8~N*mf4{ZdD(2CL%saYa^%`j@QavsA?!byoQiF8dZf;1E+WW3Y)vMVkMrBIG^8h#p! zw!Q7r03#R>5;Zrm399WX16_0oG}K8HeYwwdSv{*~vv(GkEw(#PJL$+9u3W*JzgLSN z{ga&q0 zK-q!$Zf^(!X#>m@$89v~eEz`q{QRzo_kU6V{6Dz?I^FIUieXkofFcZlv=&r*I}`OrO$PqV-gMWmZ~V-1 zpZ?XnSF6)6c;bUNtGz|x+?12Y6ii$f^jKwS^v|&fr)zhjLQ}qEq_9GN3P+#JNLdZO z_0Gt~L8N}@ZB9ID-#P~Xg)oKHSVSjt=M3eEH|G4RhZyi2!)DP}7W0sY>5UO^r%73`@oj2SnM^PWkc-&u^uADe7vlLFv>|7OK+t=8g~yRGdzWr{43y;|v2|&0CbI{$p?Qac^`cyYAeDnu;V*puz<#c^IM zvVNQQW_RGL-?!nKzf+&6>~vO*%~rPO-*n(^`OUBXVgB~TA4?aARQwO6i*IaCp-{<2 zh>8MwisszE21BV!TWAk8?8gauxyy_v@z~K#3lK%(1`Ky7I0YTES&N~U93pk#2u4u* zj76tuQmioRSg=ArC|OnQ+`m!>ge*4ug~vyoE4s);s#9W7IwgyIis&6KfiOs{Hum?@ z^M4yruBs4u42OaAqDmdcq3_uIyX$mh^DY0jFZ)S~eI zFFxflJmY`U?RQPc83R9e*9cd?hzeE?OXXw+Pg?t!j6;aXlDhpPR)EV*XBZLC!prSm zFB&z<5?UYSL4*wei6WbGG79qZUblFQDCN*yK^XO2&Gn)}gLL?jlw2Y9<h}(ovmSBOAj;>gu{KxPZiG(Tc3^EptAXCd=q-j7>1o(3c_+r9YiH+qd9|uHw!0RmgojjpiqSHw5JSi66Kf= zB}1G1XWo(Jsz#Tyvi{&~cKaE4#0Mlh~`VLdDKtTSxc5UKRaF0ibFgFb& z2^Sy~teR%c<$hBU0_}BSLWvB$S#JKUEj!U|^?GKrTZfm-?^yWLQ;z-q)rz2JcmR9W z{8JSx3jKT8rXPQ=+v>b?+*6wJv3$mcMqKIH6%j|#JjeDLch9Zsn7B<*eh0Qx?8 zraUmVfN&!tVT*u}{7K`XX;==o_DkDKW5T1HGW{nAQ!ye?M)P`09i*sYe+@bMAOw-C z`*?cV*NzzsV|k$5F?2kC9;|}uA0k?&U4T^MLIt+~Wp;pG`;cOZP2WpC&qZUk9PUl= z=kL_>O zR@a5G5rURa8eP9CtnByD1*0tpz_!vuXC@@%xeLT~e30-W{PpJUJ%MDT=fb$K^jgOVnQucT3?Lcn_-n_=G9QX5j(oChd=cbkwX)->U=J67Bz^+Wa>z z^XdP*4d>|xJH=~nX|CaQA%+E4!XW`Z@CPCUYs^?L+X69wOQPq=O@KutoLh>q?teBT zR5=VrZDe5hvmG;e5!(&>H8t z$cF7&XJKLVO1b&JO?`7k{M*AffBhu+DA{7+jiZIpR?XxFDF=YUx6;wi!d+3wZLtke z)<*EegQUiBHrG~?$=q+^#%u5N8IJsCx_rWJc)rL+SCnB8)GjFmW>%Dk(OloR_BocI zPbgT~_G!g>U?Z$K$)A8|;?F8TS*{C0(@cqG!4@rntpTJXfW8A!!jmJ7HwUkO34kq) zQHS9`7e|kN!1}dMFk^sSy7z$CG}+rG1pxcMV*>R1|mgbV&CIkWrmPdkP zO;Nmde&@2bt)dw%xPwA{s3nkMfjvNo&iH|50%X1mVJdGRP$D3RTBfUX*%TJ_T0IlJ z#b4fh>m8d-vexp={x@3a&-*TU_A}%R;^;wtpo$|77$=mm02n0;d_b!*yWlgMtL}qK zeE5!i4t;bfBfuXP#i@GB6y3xrV2D}VuM0$RnF4kbC@ti;R9rC-#{ucq*zpoD9s!?p zN5k?Y5Jwv9!kN@n_Hj>Q0NEQidZ7Q37dvmQ+A*j}_ zO!ao{$)L##I~f2}gsj+29|_?vZ0mNeN;UxiVjC+*2D6Is0ucNvl<>~X7gr)Cw|J@z z)g}ZrxgfV7B(Ia(EQq)fOv@jo#Sd9uzH&0^w~=S<9plTlwsy#Q|4**otV45V#C^^0 ztWp3~VRQaFuKD-Y&fYn>#LN~_<1I(arsy&kv;Mm~nevP$r*ZV77Uw8YU4Z%aNJEq8 z>rXp+0*x?Gm(0kMu^S_93>IrqSPTgZUVI2l5Dd8??o{vLKD3Ikw7nny78^ z>TH0?+oS;azkR#Gs!QALPYvepmThX;(~=oMoadCzL7*&b2^t@g7JO)#(Y9GB^aE&i zm^tI7KZB;%F{D;M@F!?Jny^q2)nU(TJnJoNyY*K;`^_hp`}8k2D*fxc?}FzZ2DR+@ z?OvCe^$!*BCFG+cCt)S5B*ZenABZ5hLAj6diHN*D5Oo#eEOdydfTd`bz!bos(vG8u zArvDBv2c(f5hrHRjM|Nl!qC@FXzh5wYz;&Cw{DT=LtbNbnBO5zKk?chz3?AjcH5oz zfqDNu*WuP0c=OIX-qPPW`e8#RMajUILf;Wt5UJ5FQ52*^HcJjJH!)+aUcnXzNU|Ry zXCASMLZC>JnC{AJgcN?XEHL-22$nmb6ura~VB7Ms&K1b%o`=POv4m$qqIoI3A6OJa z9g18`I%Z*X2{hA!f~QEQQlOJPijs~Ya5FfJM^dv=!#{cIA0PZDOgn%k1;C^L*c0Bi z7Onh3~SlD8>LuM~C^W0B(hy zCNRpW@#7PDC~!&WP-G`A=UxEO48#B`hRe>~#nzqk zvmH&z+H%nHCH}e7{|7F7-Vya?{kenwPzDgmj*46y3z0;U-cuDp=w?wzAZ@uunGK1< zV#&e+D|H-cp@6LXanlDCUMv+`$C&?En$MuFrEu!!`a~yv@A9J~2Kh*?@10_LD$9HG z>=(Tbd-jP({qWQGwR!*l)Eaoy!G|JoZqHYrL^gEM~6XiiH3ZywCSc(FV zuX7)um5e3glu;yUM1(NuSQnf?e~5k{{Fc~dVu!p+YeM?4ic zR&CJb4Y_<8i|J@f*`rvrId}^cOWE#lkM&_HJWNkx95OP~cLpq-n#Mvxgq!yWE%uWL z75V>t!J!9J&04m&BfEUAJNu{a+j!mgHhtre{JuEvXZNlL(3{5jZ~y*Bd)s>#G^8g- zY9q#qWs&pp%c3_QSrinAQAfwqFqIZSen;;JK+4C5dn`Vyt|N{l4GLI^63CL+Un7e&CG#5ehic7R8;Z-kRfLSR z?#Kz!3Ui3mJeJ*{&mQsOKW>x9z!Ur^z#}HXr73na4}jXzjJG}0E0H`QWzbt}k4MAL z?5@-Q$(I~W_ zmn=Tayq}xUAkxZlWXIqRFj1_ z`02;qa<>)$ia>S0`#tlj@!r~vbDPF3ckg&@XIuZ5xe7f-3+#8S1r#A$BZ=On*OWQ6 zOGkhV3F;0-XnA`IM5*pxB8IsX*+CU}Q3ik$?4_9?;hM1pflm;`59PZvJw~&V^ooWG8@=m|ha%fgsrZf?yH?ku8b*CF+W(wMt(98ksj z{u3dg6OB>qGjIqHAkZ+QHXi4lEJ;PC0JE~2@)BOr1RlU z{y?$@d@+Ja#|({nABY86=ne(HoJM_`D7EY5tUczps{sj5{)3 zRmOdE;1BA0OvVE#;V%LM`C@>Ex+HmVxJ2Y~RaW~FKZnKy@k#0XbR+b%$RV0Tsh!OV#Ed?Gd45gjCjU1HxvV%Y9zX@+s5+%*kolsTQ|Vwy3jq-zFmSU7Lj-LAl`pk}IMIptxlK-VH+rsSB(!w52A}B7Z)>Slf=h2pmf6;w znsuog(&b|Vls1k)&BAcJ;25>goF0IV|5M?Z7bZnsckY-n*6w50g-B|E5now3+Am8)Yi1*#K>78XaSlChO7S%7c2}^T=(xJ>r#P1YBZE zivJ+W7%1s0geYN`Qz2j+0UTQrb+IDsMi1e{XW%|ze4(g*Ott*wgp}t)SySeGe%ts{ zx7_}NXPtWNjn^xlzY0v66*5Dp}{N}`w6UJdq z1Hh0GCk~fMfpXN+850*#+nqDv6p$8k5N077vX|L0$k! z52>nSMV&!FETF_SREhqkZGV<(8o7Q%|a6dfMGKxwkEiTV>85)6W20M7sJZUKAM+O z`xN((A7m6jWV8bY_G2;|)W(m{mtQ#)&1NR&{o~)Xy8Xl6|KjVO0q<}YQXz@*Uq;ucCTe57$mcLWbOwCI0O>AAB2ct=127vg)BtJ{?PXK_Yo(yM2xZk0{zg9F<8j6 zAZey_839`Wg?lszm641YLy;l8^9UTanu(aiXhpD+q6TV|kk#3rzW%I-H#8M=G6t9w z0DDvyK(^3(SH9=kqSv{&7|RWf*JKl*si`||=ID~aQrnJ)$dpc+BAyjGX8;l1_-0~- zx80rmL*1de5xJ2W%1rK2yZ>>y^B0zBfXjLMfAHY#MR;K5)h563z8d~=K!9{qf9 z8igDGzM3mT3{0E`nJ-G>(iTx$sZRhOZ{%;2Bnq?X3Y}g22 zUlfcr)sJTbXv##!)+}Byx1;^ElaIds>zj2>g4x_w;^nUj6JgWbR>J(&p@P47{Ez=* z&>DSgImlke)FbB%@ElO(ME&-QOcO3ZlSdmhOl^h%1po`sro&TK=o20`@I1RYF6puW zRHe2-6t1!q04QK#d1T81XW(?Lf7fb;U{@5*$skkwCB2I5J`rq4j-1@Hej{Z%Obe*Xf3E|T*!DF-o zd&3E6-L+s|zo8VVwfkzn&%&l@^8usQJR@OKR>IGt0KX)WkC+jJ>vomq_*I1|nOF!G zSQ7+(1)d)OaTftdG9M-|A(09RQ9*h_z!3-k;)2&PKw_`7@G=%UD&C(2=5f(3pAo}K z4ym+lHdf_1)ZtldLIs=@0Bq000~cy}x$8@R|E*rPcd@>icou~OrM&RqM~|t1;4!wz zMh+}E0lb~fU`R`wf4I}b#-TOg7`AVvFHag`v<0w-?b#sLyA zsSvpU{256$K6y5jUosH&DW13IM!)K`#Pc`3=(^J^8-3-r{Pjp;6Ibop*Zk9=2mbXZ zp7rrZJ@ogkf9XdLd5OdHu7pv**H5`~XS=oV)}p0=GqMRFcQQo@WQmVHpn<_hb-Q~? zg#*nmj^tn_3yS=xOXsdBOT%NtZU@1Vt96LN*#G=ki3auH|L!(4*B&QneXjH6)|*6& z;GHupx~8#0OXIM;<{vFu@uEj6hIOnGr=M_jJjE0Xv;_fa3m`);S~QPA{>ijJ_8Dwq z2b>fDduA8F2uQ%QRb@N~yHW?$Ya)sC_VH|jjE*XP3zJGMIB0{L> z6mQkoF;s;vguE2m6!ZCGWfVYyBi73P%=73y8O}AJ`9M+qWP)8EYIV*Rc8H0^59E8`n)4Xjrw=|FuD9 z{&Lms5;F1HxB;Lt3D7}g?vYmKB1MQ&I0`1Q)VL7X5h6nw3NN^kN?n=ym$PErzjW&* z@BHa15c75 zA?Z9}_*j(ei6opV?$lK|O@PKwyZVv`kdME1kqYcE(wn5Q#f+69Tk-X71bPsOaLcZv zI4{6`q)3J$ahC(4FeaPBC?_<9v;#Kk*#m3MsV7YAfRh4%?U^A#=F~Gc+d93y<4y~` zmdW8+O`ix2h8LCyvMIx4fNbtDikA5nc9dC9LT8*%Fvts}xvaGlTZ^54WF*#j`DXvD zE)fZ@1Eu`udKO{CaR7w3A1_*ALrqe69a^;%&=W7l@xZmpApvEPpQy0?p%L{3QI`{q zfmburpQ-9PQ`_0FA9d=?3N`DO(y;-XZZxv?+~5bZt=6+Pz3AH0oS1Hh)^7-yy46DT>*46j>xM{`Dh~26Qu#~{> zoO;__uiKHMfU$xra$`D06J1L}qe_J#cb

i?RUd4bhMD;-arAl@B6iKE0j=fq8)i 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b230db12b5fd49f9727845a1df7c9dbc13d6f7c1 GIT binary patch literal 1123 zcmV-p1f2VcP)u!#K9D|`SPcmg z4WSa{K@;3kqecSNQpB1*P$yLw>y&D-Ov`kc=`45sJolDcq()yn$=o~h&AGq(o&WiN zN8%J%7A7q*dzAqKWB9M&mPJ?kFcFM$*>a#^T98EH>OwY&%=hoXQqz!EG(f7n4N^rt znB*l0b0AA_XCr?Dy0Gy%6t*;I-~aU2VMZ}K85!E!SNpm7KM_q?=N&D9zWE?0JICI!KZ$4 zWC^zSLI|!{1X>n{ATW$3(|GvM8CZcZBw4Yw0%cfjKh`eRi6|vY6c&eSQ|xrh+X;hVXNt455d* zk;+-HE0|X*9heh#W89MM+hj(?ncq@4{M~u{o@G?63MCkZrFbdP1XmOUxW>PHrkRCC z-iI`N5c^u?#~>aiirF&_l42bS!C z#ONV^G1i22^lWW_8b1j!Py&7QB=@!LW|nD}e5KylSc;z-D`3a|er(;>%Y&AVfzB=1 zToVBb1xSVllX)OyQ+&^cn~>M0;Hle$?ANbByL@5EI;7#EYh+1aMlJ)H7m%3c?D*MB zwh7VwSQB>Ly^3tWA(9tAexj9?2hQQZKs(asPHrMNu64`#X4~Twp`VZ?Nf(Cs}%|Z?Px#4&9^GS{G#? z;YHH3b6XqEUG7C*NCKfrd=~4%b8U6-Dha%CYBwawU~?%AvGLEjR#}6hrfpZcED%sw z1g>p}qAIMQy2OXpnBWkr`bN!2mT^vTlSBZQ!OwWmAc#%{{u`zW5LUc7b z%y7CaImd^LEfRRo_7>>6AH$PJA;>!Jt9k{M;TF7osvEJ)AUf7|;i;Cr_~d*CWI=;v z3JA!drQJC<*M}DQh_>r24vv3>+OoSaI{hc!IsH2FEDv2Z5T&Da;E@mT?!Yc+-Z<{P z{$<<}-AEoLJ1qygP!4;yB98vpgKwvLVd#LanXo9$ANJtU8{4sFWj)e`8Pt}yTm$qv&$f1Qs@K$EVSf{wYIiP^l41=WOM$pjL>nQJb4 z{*m}l5%kI^@hd3yNzR~fXQ%_5&l^Z)bYwL<*?x#a78&duk-odh2JOonC=GP?bn p)Biz_Li);xc*SeS*Z&EZ@fU%N^?84@|HS|R002ovPDHLkV1k`E7~KE> literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..db90003fe716cfd7ed787f0b1dfd7d21145c693f GIT binary patch literal 3118 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 IM6N<$f>1B)&Hw-a literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..db90003fe716cfd7ed787f0b1dfd7d21145c693f GIT binary patch literal 3118 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 IM6N<$f>1B)&Hw-a literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e077fe654b8175f7130de2b7cf586881316bd1d1 GIT binary patch literal 5633 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 b*ZTT@@Rpg@GaFf<00000NkvXXu0mjf5HR8~ literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3d03d817af7c5453560ed5ef2d84e93b409ad98e GIT binary patch literal 1961 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ac28cb6ee326673353d1176c1a006dbc6f08c5 GIT binary patch literal 5333 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a4d400cc24801f1688408dd3fbd4fe73556f4f GIT binary patch literal 9448 zcmVP)ndd1Ox~q$Pf^cKr4Y3$ET=)M!H+3r?l_;6dO^r(IlTp4OejkoGf=bZi4p3Xg|QWYw(5@;Wn?~=-`d(YkH z-)sMCt$(e(6XEp0hmS+@hT-WKlmb$}Q8=$A!8mXm>6oJA5~sVZibjfPb{4w2E*VAoGWq`2&`1A>u!oyl!{a zg1w1L2q*%7a6M@u_h+OtzP4W zEQ)VEfZU3^P+{k=H!ql%N&e-mv5I<=N(Z|v6 zX>t2=oMv3U(U1|aNPM5y4>`D=F)(_pZ|lRY%Uk&J7Kb4crEgXPt#C8AU}_aUJ+l@^ zl*fkzS=>Zn#hqly_aK#uqBAe7ut+ye%Uvvac^6EBVL)TB#f_77RVD}?x*i{UBBFCH zg*|50egWQ}bvkVu;p|!kzVR8@<)aW=@SQ=gb;!UKOI=v2M}z$7%X@IoJKX^BpWELp zzg3u)#Vp2!*H5OvGM%{as49GE_GpZ)O8VE3KA)E?#_QUF+_OLA$<|j{XP%?rig_wZ zHs*%U#h>K#=!rNDqMTNSOYh6Mal|V}BRc&&*e6^Z0wZXhMChU4dAVLVEo?gTjz11Dj`!Id;1fF(yGto0jDH}hsU&5FHy<>1|YKR`}R z;9>JZ8JBgQx%v84aBt^?OSw;PDk4CgZ_ir-1M6Z%AnGiiB?+oKqZEV&#Y z3%}%qF}Uo+dO1-gfThvPoAG*fBlp<9Al36OT5~`$YJ(U9oqaBkO_jMPHu}gqvqe2lnm7pVh30Q)t0fO$k+sL^ z{i)B~4Xbvtq7>^8fg7ZPo1SmR!`msw%(S5>CR{EfU}(GbN1@d=e?I zMz!0E@18XtCylEJeQ(fu28(08A}#ryZ=$&7&nRqJ#>;pwF#-Wv;2;C#3I|V)gURcb zp72+e7*7J1ZIhP8eH$ELu^Ko%-Z1|% zm3^rj(eKmmiHOvgQeF{#ESXt>E9Z?HKog$)u%Cn!a^UUj;jDj3diZ3%jX0YU3qmvJ z$S-3eG*fT4N~7f5*Dp#|E1iL~+9-Wj`4=Cgl)G`iR{K}0V&=vkeSJG_d$E~WZh^az zIOEZ1DbQs>3NS{%O`s5#4|xf5t}UABnAM>-TZJqoXPn)=K7lv)tm8jfG?7&%qnaix z-(g8-xAIOzwmk&9w@8s%5j~DzPtF8gFhBY>F|k*Q96|%rqmfe)K`n7@e)4$=*!Qqn zGi3*z&I(}H?e4~Pk5dfT+lhQnCo6Wg!t3rJG>X!axOQ4Bz^8tYFxZ;Wzmrb_&Ex9E z#eej(AaGa|Nv!IQu*LVU!TR=o$-j=rgA5M)q_3b@J(pg{qo4THbBjzm!9WP;)0)Tq z3~vbGnC=yn=}~Aq_cHz3dqZa(EYAv!Kv?eA9)4R&e`FGL>y})$ZXX5R9ecnjF%Vgn z8VJ`*OgRcmTS}O_c?e{~)&^ittxjphEZc*O7sKZs-hgFWyM2It5lAfIh2KZv$VC_x zFDluGtIw;cVgn{vaS{v3l=|>Tm>#inZa{JJCwN_gCWwiA&yw-B;djPDq@}L!PcoD5Pmvgui66mZCoj>c*@vbQ zVd&uXZF}*+>$}Ml=Ll@ikR(cJg1P}uEbX2SSh);ridzwjYi?Blvw&mc1Hw9lmMJ%a zqo0h(oUD+id$n=n%3gGnv%2`W`VzqUTG6w=#V9bq=q-<-r5`e-HWH?Go4x`2z{-_H zzp-tejN8mR^$KCa!{XY5vRp$4;&J2Ss})2<2mXM>4O!~uISZ^fiZk7O0maT1aN=fZ z#Y}}zY(Uf-j-9pVHWti{%Q35fOZm|wF7+}!_}Sb2xb4+u>8^M{z7+3^o%1aeCM-mK zS%hG<1L+I*BbnfLs&QMWPT4Fs>NrFupE+onJYwJ)I{5vo+pwjFAk1gE>r$fN@j)`L zu+tDrN$3YoUxxUYsDeTz!NrmvdC(Q@L%RcBXTBX9fW>NZ$)a51_&e6*@beWrq!Abk zHsgpbx&gVG<58Dlax4Mv(RAg7q8cF><#GiiPP@X`&H+8F1F>2`2N?Y~5ODdSc#D>qP^eruU2P=N^r+>l!#1XYW~B%YJj8`6($YbL1l2e~ zPg0O4_?_RiE{{82+bJzrIyvEdbkQ?${*RH5H=r^moTTMX6l2E0D!Q=980ykCqQ`y` z7NylDIXNU{9-~+03JzY|)`>TpJF#L*Csywwrxi`f!Mnt(j28(!FXR+d3~myFQqs#P zJ+%`_(nPC?PAr9-m>O2%?15Hn_}CA;n91x!1fo?o;$W64$2aFx;lk;4e!6V<((7tQ z|2?0C1 zbP4%@)(~6={>NBYSu-~-0JiC8TNEd0CH?O2r(p7^)IN$@@x`Aby6P_M=@+m%l8%Jr zS(}cbF#dET|L)&(VUvZN<8T2!D9e>)7^d=n5-dKxw6Pucyu6J+zoDH)2{1P+ zVqGOa!lb$;kJrmuI1oEs39GCk4Db;2zz2vw%;*y`!L<;jr=3WlDw5|9UNn_b<(PEJ zLKik5^*^u#_TG2Une}AC6OTo~qG?{SfEQ z758JuQ5k1QpZPTfte^w^t?pY7!h7x4%q{eXV(9%n?Ca?<97oodE#RUXAIE*qt;c54 z6U28`m&K8cM(QSt@HK6Dx`#56UD5r!VJ1}#3AB<6 zU=&fXc(OzbMkU)Pr7%zPTjnRODs`qY(e>I%xozv};-@!NGt<8y=)p=>iHT>))|H4- zp6NE6#AByjtweBf6=Aj1OW{2EZNzM%x3P1{KaA0`*|*$z&aREKj~zGMEDLCtZcq?9UD>Q;WQ}6O%<$Y;ViJ zqNUA?8EUx5$-t+ZMcMOID|>FuUeqR5;$tTtiSy@8#H5C*5Xb^pF-hXDM~yDWFFtb| zdv1LzzE5geOFjiV)1kt6rdV6fH>H|xK1)&*eG@r4-K5~t1sk-tz|X=F<`NMHQ#?*_ zbt6@O{q!~dVQHE+1G1c5_7f!{4m!61;wP`LKUR2V9DYRVan*UhJ zH}33`H^sCLY;Mq@UZ?2|6?pivIqcK3su4-mAR0~h5rry3TGH$D-tLeSVWsk$ia0!@ zQz%(8MwV}tk75^3OX5>AN2~7*gkenU&jw%#vQBfIwND_n^EuX$abyLX?wd&`O|7iM z6&l_fTs@1uIakg!3)U2Ty)`I-iKY-S38Wto$i+e*o?X+*F8t18xZ$3c(b1drfn`$R zR|1Q8d}F~B+`M=SRac20Y!iWi{_H&*Z&fK+I#~#`kEEMW)j6?`wAqY zd1T#iwZc#{P8(YOITcIbTW%``;oJfcxla^Q2J{IDXdrk z+(5lz4_!VNi;k)$zO18E)+$8`BFE2k$r_zI5FH<&1G>C zZ*2b~*7p1tS$-TZY`t5*$17DB8c#tc3u;(({8iN701(zz_a@CcAuY17ZYlgqAA{irOT)i^dJ+ zYq4CWyDVLeQ^$DxC+ALLrBISMR3r?f8*JUX63d!zN2ZrzR%)zXyLTB{dr3kSt3v!o zoGT_LHuD1Nj8q|^r-7B@Br6-PwlHkVtw=QZ zlG9jFcvqR7Bk4ov0j>mr>A0BV@-vRabqktE^{XZ+F`_NllKo!7g1Oct;zFn)DmZg2 zaLaj<1Hg*Oa>q7=Bqs3OY(ZC##?!JynKlKY1diO&H~eVP*=RUjGyR z;Hs-hEAEvRB$lsCsdXFag|i#*z4Im^nyi$+7xA?ufqs%TiGyRLR|sGij%WDa=T1f# zSTR{PaqA8|@YdISTCix(JALJQS}vEPZyDr zvlUG;KOP<_%RORLTD?8w)CLq9Ohrlq>uH*_V=2rUSB51EXGx2c8JoOm3#)ei8QbzN zv37Sm?s)Y}Xz5)im#^eU#{81`xui`9fNknnl(4(9{)a zy5mQc>E?_;UdePjXRu)@*wmr9gHzaZ{paWUZclKlxasa}E1uc(3*JM5d$!j>(aPgD zZ(M;5Z7<5-3(JyAGyw3wEz z(e9_R9Z`*F_t!)vhUd^E^>-Jsp>sLW#s($mn6ei2^A;;7i(XtQ!&{=XNqq|=X1OLx zXsR!ld%+Bx`|@pYUxFH(nCS@h+J5D{S$s0-4StWUemu4ARzwmayJIq*EaqHpTQNMb z?FV>g_mh$W1_FG+?6J6Nej_54<5+}r;;((Q30Kaa8W4+0z;^ZT!M!W5M2__!pA%u5 z7pm=t)5sMl4QWrPOJh`p*jNz_DXX#x zF{rBsn%Rh;P@m@b$Ma?}qosPDqJwvKJ&88=ZDcc^ylGVhcB!w+MUleTrF(vkw|4&L zJ^%|JaOtT{`0VUaxPI|We2&B-F=-}_HNcAa^}g4yM#1hSV4;B>P{Pp0;SvRj$YD+U zQc9NE<#!rth|orru1tYj)ErHcDeO^`MleIuI&GR%{HbHBxkafdS#yYKnNIY1K#Y=N zI%Qf{UT~c3e>EbyMFa0I^kC`cJCN(w+n&gDEYt8IJHK6Idt5Brb35MN^@Q)_%vLLL zoo_6dgbR*s@a4=PuzR{UNQ*64J=6>&#^#1=7k=KO$1R;0L!#WqyDfiF2@qFWgGHML zBlXi6)zsi7Mg_nfA>qaZ`6o@SXF|&zEYK_E`Kk*`Y#*92Hih%&PWGLc;kp+#-$h)R zS1XTsdJsWta%J;!zR$y7nr|fzUM4x1`$3(Wa8<`M$&Dw0-Lm&}Jn-f<+_iE-k0;>V z0Ip$Of`_6ak*))8w>-_&DvS8lK4HC#V&2FRGicLbS~atbRGG(I=p)nW<=z1$G_!sC zZA%4e`NIGF#0kC=6Ba23yt8XHHuOA$423|#xmbQf5ks(hOjql5o?Z86+`Q~N)JNtqw@7to0W2TbSW-&c84n9j1=@kx0x^g_X^)|nJGgw9X_ix^X2iE)&dpjNM+$#ha zkMU3kV|e;Pn+J?z6M_$IzkIj#nb3Qz+KI@enz-FK?|>TdtOKd|ipQc8#*?2)sVl2p|f!;*~Cvxq2*~ z_MM?*J0&bpovc8sDoO)u&j8sxlcjxC{2b8uU{)Rrzb2HtB3bXo_T@C@qVx~aPf&|& zbm6}-yK?LS^)3uwxY5_UU~VHAkrS6&gSg(k$W57r_J@?=^cnS-b!462+n^khhvi#- z%f-?QHq!-c(0^SBPoirkS?OVNdOkjP{LfIHsP(PX)4Flcl0P@+ax^9vq!W|%uAqzpskd9y6=me5{Wy>GExexB2FLsRV+OE8-DDm z#-Ktu@$`5JZ1K4AjO!2~8nL2OYs^qjLSDR&@4IavAojD+6v+lOYW#^}L;G^>t7Qkk zvj^R`U_A2|&zd5`B_n|<5#8gWeQ3tmGKwn3=yp@+IMu~#J028Cg6fOqrG5lYdwsFB zlG-?USxpRSy9QsJa|e!TSgb@HUg~HR>e%bsmy>Mxk_6a*E#6m6yCc6$)miF?rq?aL zH)G2pC(4W7h+=t-N6x*c&?^ zp>mJw2g8!1UDb6;Zil!vB6Iq)8?VKJsb8o2vGr=Or4B2u)7{^NA3X6bJi6(Aa)@ND zi72(Q-WXck#z4P3?!zOm0{8Vc&K@V4eAtqA5D{;pslIfdsg`|^x*+lbMN@k zv=?mgv53-AjK?FC=cn*-N*Gd!n65my`Y3>9#I-Hb8ceBM84t;XkqGD{6*MGg;~!4G z7f08h<h4u2P^3|$a=u3iLbJ1tJ@)p4z9y_XeH_%#(JY@j z_RFN8F|s~ep7$_B1AC~*5NI)xy&8Vm=O7;kwc*4R7%yEo4YQl5aV}X)8D<`f=S}gg zo9Rox(fla&!HRN;r@Of<5}+eUSBVXC5q`$FtMQ3ret>kmMhoS(PGeQ!@K-PW0zX;) zJ@k7y+DlCBM!cv?M|n7;2i*Jmo!Hg6!(Sz~4xi3D=93r`X&}!}y&icguUi9VA{ArF3L8yjAHk(_?`5;boTs7%`8ma_;$}ANS&M5Q`3iq_*MGsGwlZ1Pms?Cq z0TQP^s3>V3|L5gfLRRT&MeE{|zd{Wx4#|#;l^Ui)1*lM;nP6QzVau#=@r-X`7#nL3 z&ADR6xrt`HTQ8l1?X=m>3|Cm5C@Q|W^KsftNrX&;<+L?4Mcf)IjNenw{y+fO4==F+CXPtW=>%1ESfHQ(d?I-SXsQwHu{@5^`L&gDyp zAN$EU*rb5vaZ1w{Ft_nypCe^i1)hHc>-Vh2?JwNSTfG*R>n(~@TG%u*TS&pf)n>Ky zD1b{*_!cS0zhCexDx@ZSomNoGW;#RRx<6k*d`{V3)REi#SzyD8S%sosAx84(qNcB5 z`Vr?y8B$C(-p>>9EPd39so=`lra=jHihA16Pu_Y=@>tBDaXD(z6MSnmM^K6P7ASSS z|FygDVNf*UALsY(eccoAyQc5(KEs}-<+rNthyV^~xP$HM(@T|+y6+Hm%itIhHQcWvx9)tgPR%%!BcT)1e@hvn7 zaf-1M7CG1p@21eMEX2L9Y*|JL$PK8ECV0+uS*(I~NAf0IIP*F>Y^Z)jIQFoeLdtd9 zyQzU~>ez^vH$KmwS^p=vF_#snF~cqjC(RiT>^rkUzz*1)64GYPUN-IrQ`FLfVtEly zulr9dKISvN^~x&Bk*5)-*CJV)Wx3WOpIi3@Hn;J!gBrj{Jr3FFk-;+)`>50L-q&vD zD>BbA#0W~+$s$8GCb`e-o>cpA)MuIc)0`G!9HzyBc~oh)kBBHlXjr5~CTuNC`{I%B!3Ae1bKdXnda&owO6wDWi z-z^m`rXmddEgkV1v?B4?NyqlRx_v3BW-n7*ycu4U%Qk(naatS?=sDu}6wesm_jyL)e(yzfc*g#&L}&@Jr_WGfPAg2eohazwP0~rg9Lpp1ri!Yh(Mn z*wFeewsdYnOJ+B^b6qHqP{Sfj9$4Y)vRv(Tap~-u7fJ;Zys7%&S zYilJc;#K>6-Xt^l@XT@qPhj$EWCyw$%xBsAd{+7U0&Z|G0oMn!c^=>2ZkP8gu}F*M z`}v)pGneS$Z~=b^P9aq(YY;S1B(y$2|E`0XTr+WMf&!aT-fwWtS&G54$SrIC19PZi z+)oiehN{5gsB7`;re}ugYgu~s($87y6U{lC61T(Fw-*@ zu{i16tc(r}E~l;;aUgL8{aismm&Md;=_nmz6_4x}K-Jh%Iy%c7eQ+?K4-4FZK>Axd z2kFXbr;QxDdi1k9kDc^vrPo?BMRd@q`5CeQG?rvyAF&mU$un={7EwQ^<)w|&-1D~v zlxkee-}%b}D??Q=O4VH1tRm`hRALgl;Kf${DCq|kadlWleOVL@l`)L3jAKGIJt;OG zO-0E>Z1BXwl_%$^=EmW!!Xd$x8`|`#hl5?HwTCvzwP)$LzdY8qWwCK@9y_`Ua3V>$ z0b6eNqh@J0M<*szI3*5duT0oHO(!M`>q^s2CdiV~6rYMe<55PZIMXo))NUHH#c|jo zDxkd-5q0W^0nQ|4W?O)0h!z@cUObE95KKBqm?oK&FFIzBqnEVaOs+^rxH{;iW4OC$ zPk3+MVf{iy6I%epW^n-?jn(V#;-k|M0zAr&s!L)iC{aj&)=`IeBIA7{->zB-pdZ zBr&r-iAJ(?b};8H^bz;%>M3GtXORN>0&M~zS&&p_u_b;SU35Zq3=I`gxr~OQi2c!v zDVqciS-G4LTv8~%d3zhbBl*Ck1VYIO#f+^KD##6zy zGGPyW+P=wTy8CGMI&)NRiBgfymR2aNZ@8W}=zRxvw|@|#g`h1BHPLdDHRtNWKKbtjDhum}jEcoF?Mni&YE;!P0-`^_m u@(c*e`e6T)UHI@{^84`dA-Era$NvN9a4dnYdF$o?0000<-YfS_sp=PmcOf~yZ^lZ-g)=l zbMC!Q<8V4bbt1I}V3J3o4Am z?m7;bX*iYvZl$4Uey~t6l>GjEKuNHwc1}+)+Dh-uXcyx~n?Px*B7ZBYJAq}Hu=Z|% zQM-~ChB!+YHZl%vK+&NVRC2BV80H)L1L(u9&ViFaJOJEr#2;y8#>CtNuGg3gvY@b< z;!W5PO@bU~gEpk+JKYGT;aTaNQL_rw_2b-80Z6~hgK z!~Cb0m9mj#5f^A%6O4_2;QqEc7R%TYWGv0$FB^$K)dct_Er1f~-!p&vA=t<2U>^CL zn~fhcU%w&9yW^idmOdB2EVz!OiC?Tch<%11X6&S7tB4h0Sv?qmZ5Wt0x{xoKQo#Z~ zT|S%I@;7em+W_B)87wgBMyMsja`T$aU&1`}8Mh98%Eb4gkP4H+$46^fGyVd7(B*I_ zUKI+7vjWVz^<>h*ovZev#n$1Zx?wqeCL-LOc`8sTCCZvjmYd; zk4)1RuEY+ra6p4$T1XfcY?>%6uvA@%@SJC5TnZ1JmBrbKg$3umREtAahz8oQxNxS9)xBV6J}%{^(~g36N=X#0^JkBq5=t9N`S)`!(qE zmP4zomZSmm$aqG^dY_NJ+kmDHlU#BD>GoD2lk&t^#)fBVSCqxVPA0{9I)PXAn^>}; zNe)oR63XOz(CvhfB!F?#-4MA5E@c%Ihy8GdUC&PicSeB1YQnXfc1N*pH-R!@+#)q{ zGHD9v7TBF_G`TG$fr$hnUIL+z7KbrQ$WfvlpR_7$@jLrThAikM!x6fT0^eVPfRDy8 zCZtY2rx2i+sUkS-K9K&KzC%t_NktkGzD@uT6 zKXO@Y9oUTYd-o$|0ePg`PIwS6xO+7dn)tO-T~liUYwM2kHD4S?7yQgJ;zUbgpKU`8 zhM?vbyK%!jOL`#1W^}r(=a*vEAO#Ok8|X>Ub6l-|l^Ge1(46O?4V(z4xelyk6nQOh zW`J4drqU*Uw{j~VHlT=IS3L;d8&s4V+?C8=&5mX)|IdE1fN*!rjiW3`SroW&nOlIq zi%g=0@^N2H1Pf~_+_{$jkm~~{vCxdi;lx{!dgCVu-ue=`dO#m}(oU6@md+GDYB<3* z?&-jb@9)CcL4|zoluOx7mk&Wf$cIH&4#uqU75M9id$GFCfp~Eukloczxwp6v16_n7 zP8}KUtqD7KJ2LxOhM>Fo%%{(jyW=p4Tmqof9WQKp&F0=XK>&r;IYuWj&_MmsF80Kl zddz-e9bW%13n!u?5|GwmBtZ@_T!3L7W5lN>EKG4YeSm@oud3={ zCox;e>qmvg2T&ToO!LteE#ZEAD3ns8VKdD`X~RgS4IrO=VP8Arr^ZxPoJCvE2BePs6jf*WhPY41|x; z9XFCdA|~rZ1S0r;p@SD@4wF)qqUYD{d<-8oz9`d~tQ$*5z^5^pF3(iXDyL?Td~%;d zdPE=vfxx|p5N}HjVaB*3%)e%o9J}q%zj(B}QGUPoy5V@}x?%9;QC!74C`ap-Enyp9+*BDTBHoul-XE5XC%`U4JKLt z&Fv4OlOFu}3WZhK3gpZHEz6cMSUtR40#X!_;%Gz6hY{s|+%nB| z?WYG<(r#%&QQc7TwduLHc0QZ~dHv{8N|_p(yP{Z8dmryclLSZ6?D|U7FtqcX%^$d0 zS6Krey%m4NEwy@8*?mZo_5JnL17(%r7N){_8t$K6~ALzq{GXl&4zjk~j z1{CPBIB=NG##H9v+UgMThf+Sq%}S>f3#R~NxiWw84P(f1A}`vwefp*H|A*Qe z5H;#pnlge-Rttm~N_?aEU6WtJ@Y1Pr%qz7o;2)cpN+=`B$6?mE`MjG4XhRyZyz>Nw ziWiQ?w$DB7v(DHzpQeM^w(`f*hGRrU1b&Ud!Ixopm3Y2S^-9--pVu-+*JLm-kJ8o019v--Hfg(kZ*C-9bYRd zEL=6h zyP0Z}rBv!~sOG$L;xkmRR+2$1T2s6DdQgBAK`VwdMBm5olBo#l`81)8^0YUVXq zx&@0)6D-*Vcv(lZ4RrG0Q#HPH_6k-WsX*P)ZCJnm_Xty?oKC5jKjA4<7K}M3xC<^= zvp~hQu3;74*|7?SmY^QWq*ziVV4kh0xz}ru&jJx0GltG0FpK50&uw1BOTzuw&0`)x zp0Dt{;4b)VMu2m?b~B&{k>?Mfn|cmCpvxwV8W&=wrT6lqF%Owg3{QOE~3Ii25>ll+Y2cT8F& z-JH#{;-xU<+c|#Yo>j8PZZ+Ua=YB%Q%@%W)w(9Lo0>q9j}jHEx5~9xt9d8r`b(BSXs4DQIf4+vY zJYBXB=e3|{*1Kroqn#P5N(`JJFiBIiM07Ajl98t~gnhI~KtY%m3h62lhVrnG6HTG^ zlJ%TXbD@WnC8)|tlWPqs#uMV$BkjmFy3=BVHa9GX3GzkgAgMp~HbdyFad4pzMShkG zp&Y=I@eI1st}z3&XhBdVwyNKWdkykJ7co9zx!oL{bfF|qmFjU$7rTset=m(MxpB&R z6-Q@_)t;$YuMd`Mio`L80)Am6aS771;CD%o-kZstO?&JAAN>{plR-F8b^rhX07*qo IM6N<$f>1B)&Hw-a literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..588f1c34624d483fe1ad5318ab52c19549cfb306 GIT binary patch literal 8378 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 Q^8f$<07*qoM6N<$f_VBQ<^TWy literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..588f1c34624d483fe1ad5318ab52c19549cfb306 GIT binary patch literal 8378 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 Q^8f$<07*qoM6N<$f_VBQ<^TWy literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bdcf0d900231d5a77e12e44f73a468f07014d6 GIT binary patch literal 14648 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

c`w~HP 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 Acs3kP3Nl%xXy^VRg0T@exFCCJ;p8GV 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%0Ag*KesF8qPVtw=*wT@|1jf^T6D07GfP1Ld++HqOj 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'^htZ-n;SmpMrOw$85LGD-) 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bdcf0d900231d5a77e12e44f73a468f07014d6 GIT binary patch literal 14648 zcmV-8ImgC{P)g*mXvm~eoNaSmtS+4#;r8wa@a@ni4-ci6_@ z1jZOJ0vjVAoFot#fg}V%604kcrOlJ4yWd~$_3Q4}J+mtztpdIsG0g7l?#%S7SLv&- z>KTk~Fm(Hyy%|GGFeKoi+mL{VZbJedx(x|<=r$za-QGk}KzBrXux5GY0x&&kbvKZ zaLv|*V7>BR%<9=es~>>~|G#c?8%)BXJAV|Wn*Se#c4`_u(w*CL1{xGi8?qLHR?`Cd zh$ERX>S&}#hzuKFChQN2W*_nbw#g~l^bs`@0vAZXzgNtHz3FAJR{R0<_T^w`26W|6 zXq;`8q-Yu65X@CTQv`4GDN}1#9U3;#o`>NDyKhz)YIkmP7Hi`vBK1ghVU`9VBQQNOH^skblNdIBfYn zN}ZO`7#A4VQ2Iw<7bGG834=kgWI{ID2$3mgLUj5^A<{I(3)IBNIe>!pg2~-jkwZ?v zHZ2y9WL?2-=*YtI9T}K8G6mxslD-hh?CM&`ABHr_+VKvQUcHZ5tN((@WE?v3+=ptU z!3=GbmyO^FT?m>sCp55Z3-ZlJ zL;U#90Qu~}k1x1e;TA#k*;zwK0Y!`FR|7B1C6@3bf(V_gPD6F`T%-T_e*3 zvwbyKTiyV+^-a(=FJbzJ{uv`jUg-ROKknh63s}|KN8W0O|9oX9`MFv!X@`=2kl*D> zgu=(sB{LzwSR8qZQ(f$Vt4PpS%xHqDcti@C0k`g9L354Oq@YW0Jr4Qj?_kwN0o!wY zU2U@3GSZgI5m*-2nxhkt36rfEi~tcdko#vH;(UGeA{4A7)6e-48sq0UnztKs&EJQS z6%el)(o!?iEjDGTbrING-e5*{2c|?o5QluE1>#pec<2UM{B14U38J?4p*GQmCnce<2R%=<{`@c|RkT20^&||EIHl}&@%_7(n`MGW! zS_0-K*--|Br&o8vcNT90J5~)W-$R12WM10u@<<^wN6_@Gty2ILOF~U44Oa_64~In5 z5CI#1EiJUz>Y|uypM}DL??6(^L0eAa5SDbiepKxQ+ZNQ2nsVWG=SjE}SjDEE1qPXA zqpszBm|i^~e6w#Cm|Nd~(z+MGqDLdY6RMIC;TEz*n{spEGmvXJ{UNJ~YFMZp52>pj z+--n$Py{TnUiq1RyksjpwB7u3~{TR@mLo110QO7e+7g08bO z@Rj3R;DYImo*U2+`t{Ftwi}9n{wBoRUxJ;akro;tJp)C}3{#XM^`t3k9yt@D)6ONq zehBoM5oNFC>;z4`&p-i^*|h~q8()Fadj!sGUk0@iljKe@0j2Bt5`SYJ?ejd*3T}1O zS$)JpbKZ|2GU*Hfr)s)!=m^*~oBZ*sf7uAH^u)pH+r@11fwt?92GCtp9il62A#f+? z;onC{(3TMch$i8v>Jt3R+);2?bFyr6Rnq3-E58K$h1(&Li~*xxqz?vJqlrx6haocU zBM=!rRnbZtJjhd1QWl|bL7{R>V)B%2J!$EtSHa%32I>-yCCiYOmMo_{;`m})!P}H8 z*K`WzG%VIlWyz1^ z^u=Dn%7ZWGdDl_Xooh5pRD)f}!3{GS;Pc0i99WxWHObn#0*VW70caQt#^D!$F?Nn8 zELT&xh6O54GKf=!%E;9ew=M(oy~U)hFG4iC4U!3i3llO0n}SEK<(AM=kQ>{#OiT(_ z26Ws{lWDJy)31KyHqgo64-`2cZ~?oT+d;73b$?tBZ8ixv+XY4D2QyyuDlaRn%ZfPU z&wU_@fr?q6jJhfKp+|1yj8r{Lh-Be=r;moiNt^k5ac$PM{(bZAu;*|J=B6_CwiQrV zyAaIv&p|A=9pV(-=jqS6KV<}#h<7H7B|bIt@8W8iyUA^lZ~MYESbZvj#m1SCxbRNc zQ|&z<0(OPlNy5GQ(RHxXjsxbqNpmTRc08RUB-W1xhb0I>?G2X*-LKJ2XXqbK!x;Hy zRw}{`N7cb+k8deU(Udx&&`^IP`MI^{YeRujY3oWTt@;ZEN{d-6*M{-94mlEP&UA_x zVk3a9d}_y(yV1H6gn>q?4kDVcL8%B!@-Me(SnaZ zv>LXVG0^h8P!z#OFa>f!B<3fbfV+vLU0kt$0lUv>Jlf`ZgIcl{rp5E@)_LQxr6yh( z3EPv6+qQWlE(W7#9mWa1%uyPXGr7<-$K(b!B6^=aoNN0ckiXCTYd|du4XFqe zTIN9F{M+7_aQCZ#d0^rCscV0~65h!s0JD^P+P3FqP@+Wq(Z>EY*oBQ9Z7RD0@Ut3J z^5t;x-?553ceO~Hfg<;RJ98||n>sA883#yS!S3F|g$fo$zu2{!%&!4O+Ps-U$q}c} z@JeB#V@+JdEC@x0Koz+L8q=IjPS&C-iV(T%KF~QrcIXJ$S+E-)eghV4DS%PRQgj;! zn?L|2f`3=U=vQ}G&?1K&aQOM4mWDP3dgX(%m(uy?qlM$q_LWl-?8Z~aVt?R>>+kIJ zPOyG=IYg=uN<9VARFi-j6eyH{IbCpsRe(4Z%|&2}#VWI5Ucp27U@CbIOKMOUI~U^T z-TJfV@YhXwik7<|mrg^mn-+=gkk3l3bau7tgHYY?%rEq?NRBv2Dc+(nm#u zK#sT5I$ZqlyKHlJP6S<*gv>XFPC$o#@%>=xQ35AQbUjY4>}LRe?9bGX=Lz4hJ9{Zz zU|YNCAl)gjs!tKdeeC6+arjeGh7PKLnJmy}$tQht{@YG|&LlMDSs=%^a6y|rJHe(q zmI{95M3nkuz6rKW86+MItW1?FdKeZ0^O;=+k+?gDSURBR($Hzg@bX7n+0w1O6@|<{ zHzTZCZ(9Nia_Otdx|# zS27t?0b6oW{{889p~I$#xtQnGAoNpr^wW6$f$2hQE@;wbyRQR~zyWcQjCm#93W;zf zIhG674l1~-!ETu2eoZJZl=#o`IVfon{M1vM;F;D=N63~PlCdF#tkt$aR`mqb5puub!lHErMjaOx>(8L7jOIiHGJjb>UHsGX3}7G?f{nUlhqq^Y`W)56|D%T$*!MMmP`Q2ZqUQf z&p?!joS~nWn!IRHEHI9MeRD|%{9$FgxE`AYt%MLVEx1lh%;;6WhoaHUhDA}}=qT&O z&Rep;#>6uA2vcpiFLYgJyr_|@ngqs-i=4nr-+TJHHkhW_G%fhypWh+slgWW_wB1sh z0wE$QzyV__)=GavxNJ`cX>>avX+OByAQuA}3kG5pwAdB4Xcfz}IUIzcw~*mgR-pwSNfLn=IcApWg}YW};htAFOCdvLAy-o| z;}y;NFjBW*6o3uVDHDg-L90sOOX8L>is z1)fGb{Ato>UYE}H!p~Oa;qI3=IRt}Bn#_H2-57{ocqh-E7zIaYGX;WG1?vTTtUL?g zL__*tU*2NTlfQs20=KWXeSZaMZts3>9n*<36+!3Xg83*5m{r$^K|k~uCe14kHf*A* za&2amZeais0tuG*{@ssS!=BAgTbT68ft*>%R~?^g%QVX75jMMbb-~kQt1N|bgshL4 z4zY9p9cv?o$X|sZ8HS1^cA(7ZeyuU*b?Orc@j0JBPQ2%@IT-9rZJ*I967ZTGy|AE_ zT0@8@Wkst&Bj%z`8fYLYKE(Hpp-h9APF!|D#%8gAu{Jvu6Y=g;8(wiZu_RdNW^d*=8mt1@ikPUBbH(} zq3$`1qn@ZCAm0!b8pFk!QHda#zl$Br8I`=>#~Ve?$Pp!CE;0&$IEw*AcY$5O4r36* z#{NHd$X6)Ov$74MSw(nhrwwD03=V5b2_b8tf`$M?sM=HN+zQp1wLl~gW#cNCxdL#Y z#G9)lw2eRf1JD}AOHe~UG&&n9@q#k>BCOoj3rpVXWY4#DVry3s^k{-|-VC8v8OC=z zk?OFrxmN|Nl)lktQt%~@q-p@^F0#-7nBeB5!7!VZ)s9hd$F6W$;G=kODX&JM^trUr z?m1@+%pP4^R&G?+BLBeEEYiIScV*R0EPu|Fl#vvmIf;-Tb2{P8|FK6joP*N3;`I<| zIg~ zuugEMowP{nN1HKNr}D`mL0&sB!0`7DUqlFoa%84OV?6wW2QQcm6R6XotU$qw4?N{d z?}GgOAERI`3z?F;dF1PJ-^|~bK6lJ8giA|a_c&w6%*>VVy><$7#jPTlVA_euBhes|ujOeow@!55i0wkFsX6tjHJ@sYiC?MFO zPa!&=2-9vP?KMyRSE2`<8(@?ShH&>;z?SVqi@K%__+cyw$g9F$*WL#Yy}pJ0aoJYP zX-P_j$hTT~(Fzg}s?vkw@w43YNE9gu-Xz+rUPC>;(Wo@x=;g>v!vP`A%B4xatmg%M zvZFyGAxAl>D_ITGQbqXXg@;uXh!X`HP*`{?#NK-Z+WUCVl_fsAun9UZ1=7!3PGnTb z$3Q7ier>frL!b+Fb{u};UX=>>NxJcf-K1E5I)TkX3gN59E%5p44%1%5a+8uVKd(cs{pBt?lq7?rc1Oa z1~_N94L>-0lGox|X??N}T*36-4cMJEsf=$6ZxZF{lo4U6Yac_cs@XHm>faUbJsWVu zG>Dvc=WYq^gPJDU!W1GbdUFFj`rNy)vpX$(FV|2_en{?{>~K24{g@=83o0r7PAySX zuRmoHEco(V`2Ja=VO%|FVbw6u31p9w254StV|!%+74UF&fG!@a-VUeM%u@^&Onaao zp;r0{hU~USh;wsg+I$6Gh9acxscj5?MVpgflbSv`8_%&t(X;*)Ig3&kXo+Zhfw~xj z_^Dr&!c}r!W;yO`=>rgr<)N@^Ga+k5C&1eaUEC`TcIh}5fB#9?n2vx>ts~RNHozG( zN5jcSw7|rcy0R9P{&-Jn3yXVuV)-_>=fzF1jXDT8zyZVtDOpy4c^N?N(brVb30y_* zpQw_&Wm;1$SaD?`jb#d2=ttr#NDE@Bx%Ml&{5hNa|4%_N8m&>*LcEDsnC>`8aU;M5pd?wV_^D(#z4i%iAHxXX#SeNCiLi@B^y}Ijv`BU z@Wo=Li%y`+(bD|tk!wmxbBwB5z+{!=Jfp0}p(jWIXffuQZe*2mWEP<6`c2|a{>05S zfjLa0X1HqVPI%zrX)vNX7T}|KCYRh!_BWS;Q6MfjLCnc(9|fd&AOQhOGhF=ZcOklU zG4xT2RTUvEKIJBeAO4ZON};s9oo2IbSDF9~Q8f}H66``Rv#7VoA``Q=JrBQpek)w@ z|DJ`9-|`eZyy#u%?#m0|ap8(4?+WJI6|O`1(croh#=(NmpMaMhSw{u-D6frTlv7q+ z&)5&Sjt6EYnNODKlN*4!X=s4|rLsjT;nToWKv5P6BvuWQhC|nZ5z?|;yb+e}NP8U= z>U9ZTbuYDKykX;K2b7?h~uD68rG1F?hjA6Jf^0W=~5+%CH9- z{m!-?_}-sav3EL%%AW5dhg$@P2&9Gd%&$K22wUfX2t~Xe?yUwwd%j9uPn63nLHRGn zKYR5sIC~Vr&1a7fXm7>!Tk|X!Q_rj%uu>YCd+-V{a&6F;GsR`prvQ3e&R{j?-i!xC zgI%@R)Sec*3zb-hNtzAy8d1PuitlMS3bU!}ucv6@W3RWt)weB%>u!67En2=sEQBUB zn)R#EZoqa#OD+8Vh7<7Xr?rUaQ>QXrOtfjLwdPQTiZ+%-7&b5cIZa8vkoH8l9xZ_f zMmBmpFO+$Dlw;z=v!0yFGcMdcnbQ>(t_P0rsQLNZAz|$l{Yv1}ry18BJJY$>)up|N zqMfDL+>v2rK)z%xx)HAsHl+o;Dr1|%jFTxU!166={KsD{BS9~Om)_aopkGqZRzHGv zbLneNoB)6M;)!??2ZbpDjgaq;>Y9%syXlQo(EYfo#0e8 zBOwz|Q>W+HJ?BqGZ%EAUz=;qS$u-RuwU0*EJO(|zMG-aIPBS{1oSI9WARhT|e+yWX zyQr-*`!R<@;z6Lkku@GKaOYWkN&$P&TLdHN{StZx| z(nS{Ffp~$I!F8G%&ynTf-V3H+4Y4^yheSxYb{VlOIElw?EwyQQTj`mbcrP%mk?B>+ zK)5M-AS-AQF|l8g;b02by@u{g3FSl_h4ISzp|UcMEg{S{?M%{0H1mC|NP*eXjXm($ z|9%l}xcynSa>Fh!pEfPK?1BVON`fkv&Kd>tKRpYlHW-dJYY}DmrtMi1XYV;e#zH>8 z5J8pe$b2FJGWA+)a6@;UN_(0S!ve(s_nbEo#!(-r8A|h9L2zXlNFeT7T8nR`4N6gV z2_5PXxV359v1nEinV9vppXkr6*V2)G&ua$nuVaz7!9=z% zp{SYr+oD2Aavnu&VmoB}16J_oBmejvR3@WWz0rIV&6}{87HVb25F1MDQm)Zp7Sr_m zMR>KAz#UGtJj$Th^TD-<73IHlKXYdd&Mu-lX~W?|6B{ZD*XG04=(cRreE7}lpCBl9yR%7Is3(ad zQ)G6nSAIs@n$sJF~yeU1X*00 z`Jl3UpWO(T-m(DNd$Jw`TEA#a zS`wub7>*5P4RhhO-R}Yx|IdXD|!!*z#|KO;|J0!o|zPQVDor!vn0W15#3QqDNf}X*)$hmg%e^H|Oa0N2@&Y z{Vrf{dJN}b@p>7b--wD`3-m850#Gw2RL3)*(zNAo1TH9=2L<1~ayE`>s_~k%)%3%? z@UZD~qHG5W{p#71@mpt(20d8^5n@ef0m=pw^c$O~xxiBp@miJ_F>6l5Ou|jUKh3Fy zYhB@nqGji^IL|%))^{Nn*#V`Tg8$#VFQE?pfb_l2 z3vr#gw$~)Qy}+WK$7*VRc5z{D3$t;^C!_l5*8dypsolWC_RzkLq*Rd(pks%ZJ-%*-Q_riu>m)D==-x^0= z1nC0J-qM&qGC~?c!6YH%4)&6#wbwybLruaRxr;1RLKoa)RDCN-J~9N`IaQ2Af(m>d zMMHwY53ikDMhxeT!|fN)=wF^fk&rc% zuPUbv@OBl}*C`g0k4Z5&_&~&g@1EQUAD>ZKxN2d3!K&NY7V||&_c+3J>&Lc;CrU)h zuwZk3DQxaqA#-Ef+lay!*9-@J%Gsh_)G6xwj7u@JobqmsD9Hyzz;5*1OlVS|cPPN1 z@|&;2R2Zi_0AwXb_LnIUG53u>y!K=o#~AVaX*g2*>+0K}5bcC6YX|(|wd-JG=j$TC zaZn&umP&CUpLSRi{N%!^WR?jGG2#SQ$bl-(1UUhK7}*Td$$D6n3f*#gGh8&ixnB^& z6~MFa-UaLO&th-4DJVGs>)e=2lqG@|WbmzA*ja6dUm)FS5LZvl?@&OF8WdvA|U*($S znuy76ymXeY&8pue;c;{P?0a{yY`P$DZPVsNcxq-WL}1Czd*Hd&d!_#^N56bcZiXLy zbPAY8LSj?=ga`UL4QA2E)&1ha$#D9F`T>Q@-(yMZeeh1-eC+GCoWg+j&-UFENK3^x zgw31wqwvzEhx)B18PopG%}%_!CuQGY)V5&w2%!BZU@5Gz&7{G0L6qdeT8tG4a%zaJ z!n{lflW)}+eDl)du$nkpF7qR79R6qZoy65547?<(LPA3<hVob$C=&?-%e^&tuTnU1E;U zwL=3!f^DicbBYLsG=sHWFHv6no)a9ppHHSt`s6dH8zMqAX1S5XI#Nx$Vd8K%fgdTvP_9}57Ls2u%nOF_y&Y2+6o4`2@ob^D9v17_<_rhcJO#!Li@>9l zZ%=Hh=~uX}WmvrSUeeqrh;L`QW6MIF-B_{I!sJZNM0FgNZh4HU=$1>+(}`?oj5{7` zVsf%PS;%~`L{r@-?Dd&YdnI5l1f7I%*yuXv>>+epv-^W8{X97kLCc?(2vz#}CC8No zAberDU(He-d132+3!lqWAMXlJk_~J!**PkmZe_3I{FUGHgM^nX($6U+~WN6>+Yp_ljLkIl&|G>`@7smH(Iqh`UROz8@Aa?@rji;GZml-12+7A z-3gHVc{T4z;iz(=#vK!ar&DM+fKdXP@2ozYEkX-@+ ze_pSEExQQS{1rFBrqU9jxo(4arOgZ>s%@aJ%Clgk9+n0xc04VwSr3?LEma3b%Q09* z0iQveBQp9}R*4C+e~S(BdX69-@Q4~>JMxHB@xx_J-TAR-1df~B2pk;H5S1x7YWs&)rrhqRpvHs^H;{nCX%UlV z>y6FxA!lp`z939M@Tin2f+X}nobNI@I7_hy;myuRaOJiI!TfUoQa{g$w{&iR?>+qm zSiWlmw6}Baa>+rd5dC&lrL85noN@(N`Is0co4(_z7`)x~Y_OClErv#Bx>%&#npi5v zs9Eywv;zxOx_vlj&K#+-pOl^<<~P|Y+Ur7y1R28T&zlMHSTv9pIT5QtjFE15apSKc z-JAD$N}=+i=C_zBVU6vzx-fz-$(2!kISPxm{{%X-nbjyoy)6-vu?oubE zUktW%l{~I91}1*Vfav#`m9D}+A=HuJEY3a*oFwZ{IqH1+A9OA7YWwW5;P>Oq?D`SZ`3xd$8D9=Ir;P|Fb&PjLZq`d=s)6QR z^8$ool3CdR!r&2k>O@q9+vR2vR-Q%=<1T_(-wgFd$!Pk>i$R}$5$@~Rh}yo4Zs3}i zqGJ3x$Bv=_EY+gCR^ImE4n1*pJU@KGpz{Q;KW93+uif6$b_>iNduhM?sBkd+$=P3}3KN}Gs29CMLfU({ z=EK~9181UW9s3Q>BFg5Q0MTM zm5Fk;GRunpzD^zaSDrQnbxDg2Yj0amE3D~QOu-0_Bf{_r_~V zFg`ICuATF1s#`aEbei%)Jyu|aI8~`x6XwFa@fSj(Msp6Pq~C4tC3c6U1=Bxu#x)Dl zl0ZEyL`|h+&d!Mey;d7+?|rxIND?+kgBSLB5R>~ct~q0p!$b(og=B%b$vj}FF-ma3 ziIdB;*Hx^SHa^5+2^56@e@ztD08<8*sl^JUITuwlr3-U#O3Rnv+#|jdpwk4$OZWgr zMOv;jlUJVbc^IjUqC>YFl5HkWU6ondq&k8<0O!mNJc5(xneR>HKTZaS6ZYP^>yIWy{G4(}u&$F)3zHscIIx;_y#@BQuPQ)y$-IKbuY{ub%9qK4jl047TW2#Wt(1u zZ#;e-Y}mE7tT3VGrZ=2)Bbd2@;Arq`+SP{+6&OQlegMo;wH3?fb$Ro-=v@feTHp1i zH@Rc5Z-X<8R6c%g-V|guhUjI!sj=w1z)Me=T83J=zy12=M<_p}u72Jks)hWQYLew@ zY8a*2YX*lgabofexOUdBpt*XA@V8uRRV}b&J()lE&@1=De=fNhI-nPR{J%e7-0z0F z5cv1}Z^kxGh6|6libbn5(N)QPaVD>cHWj<#Y>&_pd|unKPx{kbZKlPt$Pc$?Hn6_j zu70V(2VKBIi|K=%K;8YPO>3ZDp?XmzawW$~!pM4go`V+9-ks@9u&(O` z8vS1iQSjWc2~ulaQX~mCR^w>#yz$?Hvk&{4Tp&B(Zv|&s=9)cpR@2RYz7d|@_(#am z8FHl_#yYi5{OR+zc?eb|Q+>(o>#+%&33=mnERFGC3qw5}8nBA6OZa4wvJ)hz+8Ie9 zZl@z}%R12y6#=Wc-q$agf&6?TlqYbaH#f_sqQYSn2EsaeuyoU-R7%t3PWMkYbIdU+ z!4{23BpPk3)`StUqu8g8|1C^yKDDArHYGq{kZ@n6?!B)*dOf_Geg`~9`SDaQI>Lcyu^W01)D_|Jx*+3|VF1;WN!y#jcoPgbCu`$gx@DCq5k{Yk6e^*SB;b21y$Ix(IwH=E{ zdkadXMw&P#PZ|}&TcRSWrFmrR)KOo7OJ>}PsaS)D28B(sAkWcz{9?&n?5@}T9kM`U zifJr@>0-))7h}et>4)SUw`Z~ zY|-|ov6!Xq-4eGWrtDpIK?l-GnkkuygxkJF0=y zlgl50Zxf!pt+)+K8Bs1oE=*uPjOv~QV^R&-B&Nv1%?t3YElY(-S4}m45B}OURLZ;j znCqxDm=0?u24udZi8h`}N9CY0`Ntci78nUZ*G7j;+C%{O*z|AVVCKI2Rlu&6a^Cda zH_YaYKsaJz3r-qY7non+7P?orJx3hmUYhbAJV`?*=3|@=WQ-;)n2$$w&xto=2OULqkD_!tsXo(sslK`I{9DPNDb=Nq({e)`hwaw?w@ zimIJ}>+fb>0>kwYU`K37XEmoKreb3b3l29`2FEZ?_M>FlCZ}=9Q9p!atj^h-ns(?5 z*frH$$TP+_z}JX^de+QQWz%Qe1zW!LDKSFd<^w4Nv=`wsI3QVzkkXpq{3*A05<`K8JKo9@pvqb>~AfKR@+OVBtO1%tS0Abm?92 z$eRv-SvA#az;)R%*9itD4Gv<=9m1v5)4YlkEANr!zpv?07OO46hsJ&$#x)$v-#f5j z2lKX{52vg=amGcGcJ!=;2j2W5$RkTcB$BK_?l0lQvDd{r-C9S7lSaKHcd6JLa_ zx%DuG*fbHNgq9tSk68%Va^6=Xj#Z-Ggy~i1!I@LPpd2N;e{TEll?Q0tc2lF3+n$94 z@u3Vo4v~b0u__CPM`jRUaeqL#e0O`MU34CreoxS{hvCNgpN7`V8YpEz9&~9bG#S56 z%fhE!sxz=8w5rjc8U%Sh_{P1g;+zdB#Y>OAMjQavla(hihV?`t_IoD+QxPQ5V8Z11 z=|Z?-Z5ZxP5r6^v`4-k-*H`j|+t~evAVWoKOo*9{?3D4J#wks6y=H2j^QxxHq0$KE zKeV>3hWlT-3$~Qji?~?J%Lv)aHEp*6DahMGU&xGM0Da`yWb%?=uSjahuKZn!6#<_N(h(9pogPT?!~*lj|(@GPs6WYzK8wb*{{Qf+&Z9v zJ#s-U1y-;_prPjB4CT3~s^3nq#>Ev)#NnYg?;G$+E*VumpMghK{0g#q z8uP?ia>~GVfV9gz{*pX0k)cn@#~|>A?g$T$MDJ2+=(Te?tSG%f6ZV$T5VoVswV2H7 zjIpy}baE0gGqykj9ko(4Z44d}K-WSC7GpFACpO;zCycvFLbG^4gnLi~>;@Fajl7Je zr4REO%XrPzHOFezM?~72mcpaUehWM7&5+~7f)WU<+m;m`uOt})2St$&gA=0tGay*` ziD)tcwnZ#Y_e27oeCJ^y;EI7F{X1v+1@QQ~+n}i?$tR9Vu7fW4;*pdI#cZBkH01|4 zwfPkJ$_Gxk`#p-@J$&u>Ni~2{{nGmOwea9;_rvO*w}b(OK5Q|Jp*+gPz&H^M9qQryKqCX8SCbaM{V;s-w14)r*2{}Y zXmM&3KYrX<)BwH!tEk=$ag&&!X_!0gQ*hFRs{^j*VB8L>28VOYcXzCWpTB+=q|Gks zS1LlDPQP}bY1=vI5}7hlmU-m&FvZ-iIPHgpitfs+y8vSZmGc=yw;C}!3vk!Pzk%U& ztZV>{lV5M_Xoa6I{{)PzPe21ZlASg6OW0I3UiM$v9;kCLZWtD^hFVn( zBB}r7?Z@TjvCC4xalzcGcR`a?tmxW`W<_2 z{Q}fzZUxQaBpxvego(NfB#!UTtL|$&_6Nlu&;^QAU){J67Oj1XdTZZe2347m(cm$TUX>gZE4ud3NsSTJl3=hRul6xB zmFvn>s=6jSh$v*^=RXiZJuy5EHD(R`722lR$ME^v0F3MCUNp z(RmCf+3svL!LzKRZ~#fZbLbdET#0=TTS%n>8ed;kf#VaQN_}NU$^LjKaw@93=)H z#M=i#z-3x3$0~#a8Gbh6u5=sh%xs5UnKo$a+eRnD5IL4c;%DjXrJ`LD`w#svN+ ziOyIZuVwY|Vc3`&4o%dq*<3YJJcb1-sI?W|b4bAZS+kufHgRq z=vl?rRe+HI&@!aK1DI49?S@B0Xc~TiT!T~eP&WsnPuf3Nn_#~S*!PR*oo>e4S@b=; z;37?$$(Cq5e$j$nD#!KasaiviX)5^h=lCgM>4M4VxL3^6xkGu2_afP1V2uM;Gr3uq z5`<~u5G!DE2%+t?Pw*Zq8ia=YtcRFE1V9?#Tt&y5Rnx#Ke$sb!OowWkPR1Xr=#fvN zPts#}zEk?wL0|zJg-CI^=K8G{^ z%5r8&+3q1*mOL@Vb|&8n^T>oIk`|&a8sD7BNA%geDTsUt-CDoxT?dFcmHgc-+Z{fq zIfFu7Ktyx8{l$3?vg=YVS-FyoPSNv#fUKxqp!Ic z<>wYg>2G85k$+D=5?>pR$p!B;QrSvkv+&Sv=iEVlY76g%Adf%|X8dd@as%{DQ9MW8 zh~xtJ_kGmUORj-sizUoT7m_B@e0PB{avPW~mKYf#O!KL@v~l^^3S#l`4tPg+ba;oA z>jReUg^|>EJh?H!j%ZH6Q6sAGu*Nuys!#S~;z0_0&#~|U1?*IJWdCbOqFgiAkr3b7 zmWHL9(=?hd$JTciiBnup!^vrf(?u9omKw67Y(&Z+q(~!#C<0Bin;Vk4Fk7{B?n4dT zQ!#GtG)R!}4CCO|PY1(I6tVvj^pbiFq%vd_dm5H%v3BgC=qG@=}@KN zW9)sWFTrI9kF3YtrccgUh40^#ax2kCL1QNkWND{U)i=;Q%yl$)ZDTiC!(QrQ%#+KZ zh_t092FH#}!0eU;%xI26OSQ3Y8f;R(P#aB|Th~#f=46Y;3|Jxz;r?W7E%_4?*>B-G@sk7CW=TS zwqbI;A^dwXX1qTEZ*1?O2$w;O`glZp0x;gBXC@(9{MfXPs? u0fveVL$@IT58Z|YJaiip@X&4WZ~q^sB~Rzp4f5jv0000cAk;e$2M;;@O5kQYTMjj)89(jyBMgTqX7yY!5qZ6~CkWAB15jf3M|%o(Fbbi^%`Ok&C*E4;&eN5A7j<>M`C(09F7Ic0T~c zTY~(Zhx2EQ0D9!nKgi2vph71E`7WS*CxpE_A?R%fEcF7F`T&9=QBdM*9ZIw!dH{Y3 zF*9>0WDDWG{05*&UFV_ryw!RYNq4?SnfR6xrcLKM_04;PuxN|j>H!p=?+lvr% zZUXAw22kkWfA5BjN08=i(-%z9wH}uzMWE$IOP* zeha{#cnG8>%!O30DW1bKz(>G60_Y(>g3gUle)dm5&;1#4*afAM2l*faLBLQB1C*%& zgtkzW@OHtht~#Kp9(DSlKAV3Rpwxw-{Kel(MEzVE!SfM{#WM6_BY5NHk-z`3n4WeV zWJXVoMeb1CfS&)VOiNysfHp6AsBgF|2z3Mu`#Pbt_|H&!>i5)0+px^Q?k@QZY?8UI z0dv)hi|UtxIYxoo{DW{7nE^FMwQ%QyK>Qj-CMg3G*Q};}l5GIu$ab zrbMqZD05cx>H_ww3eWbTgD6zZx0} z8=w@XpsVOpNa{NpNE1dN4aMIg#G8zbXKo1af!21ihsI#x>>a=ZHMm<2T&%u=Xg=$GZVGryEdSd<&Eo z{tD`QRzitV(9L;v5Mq=^qe5+nPHt_3vI}G#z73KIZQ2rnJ4($ty^!}u8cNWV<(q{; z-kIAUGKX9Q*@MmmU+3F<3$W$2m8TpIxhB}B0WDryz(_Vg-rU&-zkg~g-MYM!(}MsH z9iOGM=8VGEPH%&TTv~x&7jho%8nDHqxac-0Km0SO?|l&p64)6KsWp1&1Yn9jMu-M8 z2GT?kj-4DOYL>*GpJ$>x`Xst54e1awX@X8_g4FyAAbaRV;MXq; zpv`(^sLwI5!v@M6eko=aTnJt|Yk}=P-PB?W+1HA3v(Qx#X z)~Yv0O>dS16!CH4kzYZXQ<27806X*C<^!K(9)T+45=NnyvwFZVDkdX9$ARp=YiN7h zo`kpswC;0@W4qojL0v9{9&Cm5QSXDy{PSOtC~Ss9;`zCc(vEcytbYoE)eFJf@C0Q0 z)6n*XC6PXcg|+34n*`bZ@$fG)ln|+ z8i*Xau92sEML4K2gm)e?22PtjX14%4=-LXUfBukC%Wp-_1z=~vQ#T*#!jYWrhyXdo z+kLh(V}mrtS|;eU04=D&ZU6DG$4gTN^H`TFLf#(-{*mtof6kl0%jAZ9v=223CsUlD zw*yLRpMuirhagz@IM9w4p{?E*6I6hD4+@jsNZC_Ai$gs{_6a}>V3?fu#ckd2wFfr9 z)7?2J7YpE(3s4qQHCtCj(J#8do-MRIHK0b!HpmIy>}(OhmjsGa;E{GxBvh5n3QeZwo=iJ49rXji~kKbZSudvQ@j!C!dq|6i5EXl$uQz z3I+N3Fn$4er+f<16Xsan$V)HgsNX1DZeI_@7axJrihDU4KS@p4gXv6)-ya@YmHGL4 z8JT`@hmx|FT#tV1~2D{HsSdz>go}F?4;a;#7!2!-9fr?>E^Jj>gd# zbq-Ww3t>9P834k}YysYT#5j1%yz#pRY;)XdU>6>_8p{9r0W{S4uuVj3G3k?_2vr&a z;N;Pgzh_erFRC5wjYzTFS&bR9+`4W|dlDoaeL()$**u6j9#T_}0USRU{7l_06<)RG z!a=?pN*fk)KKwX@9EF3e&p}(Asu%i7Jn9b^xg;uO&XHv_NkMb24EY&vg52vrze_p( zUJGcqXj`|l7e0H>I#|-z0Og(zeo=u+FH8i7fnTBlwS8krmtZ2z6<3JAg8;S|Wz5Ny z;Ibnp!W-s}vAt}8H@{Xu$oQ{rg7P+Q@7?tUsOw%N00)K86Uacaxiclw3l#y8OzWD! z%+ST)Mf{%Slf6OA&iV7Yf;vd;eHrUX`FaAVd*@Byx9-17r^a3h zXaORX{v!N!*>?Ecz3Zu5*Mi7ww^9%|Em{JN%l_V)I9Qy&kGgBBc9R#MN6%rZPNpa` zI1l}R18mjDhMKBzbu^1YM@66FLstU*>${N7reS+ArMc940HaS1`HUo(^>agYjL6{% z|7%l5y@bx79z+z*%z7Q9ITHH~qbk!Mj7IE3E$EVbk#b)bl-EBErIr6;5HBQbUx}>^ z{ERqf&T|@33{c)QlHEdqI`~Xl1?u&vV~(;4kNNLExE8K? zfd?8~#CbtMM(n6pKm&j``FFYiBl9PUPpQcnOv|@~BX*`91M=YTmXJPn!X!L&QgcNL zH29qvSYVYmE{5W*pMd)Edf49QQ$PZ(P!XX?=J{N_@(t0*t@A8Dxt&as5@|%{z%w8- z{lplEWnLbJLnbZ_luDGlwsS%ED3q4pN9DDTFtel!GJGl&ITsdDn8Yn6@k(fKK9}3# z)CcOia=|LEZ3y-6`V;sqlXf|$->U#^z)~!g;S+yZ1rK+sR+~sMLelrVbKw+i6ICQY zx7`)xjO0W-j2-h))V4V*c(xc5nV)F4g}Fuym@stC^alF(<0j(h#*92cC?gZ5P!CMRQ_guIisG)Tw+P|r0~y3`g3O%LIi1)q24WfI zhd4YL2*jnWFEWT9htjHtAl&dIw5Id&n)a4LCX-Jgg01`pcHDUM!cXv}bi z$=|OFS|By^R7fBAX2?uh5X*;UDz=+IEN`xj&vHlNpHy1)FNF4$(8foC`23ziAUYGG zJjIZ2Mt90-(mZqORXZ1Boh3dwGIA=!z4CY63|`~7m(+3DD*$bP@xs;~_`t2Js58|l z^JT$o6I}suZS7hgg3~4F?@hF=44qP#TmyA}LGdDt|MSeGF3}kQaai)lKF>-*o@`;J z0gh}c(q~TE52uW(Qw5Yx6Nb{_3%0L;((V5Vxzcjz;*A4i!vZ^G2H6Tr(h#6F*7 zXXB-(69K1g<#kU%@rC<%!0|9;3!AuS?QvZK&?8a_QMQQ(lfV(2XslnO8ETnf5mL2u zFY1wdk_wQ9QS~8|=Dm&5$A1`K>hyAt2ebk6Q|mk7^4r!ziH86_Z;r@(naCDSPLnJ8 ze+Pk;g9(>LLGs8HbWGbqNaWe5zfwhW1#Z%XDaxjk8g7W9U#wL@PZ#{h(c|Flhm9X{ zv^H<5NE^z_{s!LoIgo0b8mEQINvHpkK`hqCifcHP;Ga`o^&r)kwlO0h#c2em6J?bT z%N9lA>c)maPO4_pHhb+u9c3^v_~A5#Z^CSfuY0fZ4O#Jbj(JmA@*0c}9=*qRQw z{Pwj#0?g$;xfK#>Fax>AT$K_~lYA)2v4=!B^)qzWjhaAU8HzCIrMYB$nL!)QKiiu2zMnWNslTeu~AET9dT z7p`uH58bhzkMlI7f`Z5tH?g-1K5^`LxbTqiLmJ4~s7f%j4n;K(Gg!*2ABW=ecX2u)K)ekyoR{Z0 zZ4)3?k+{lhcWM$96GD}KkppIDG_L|j2=QYQEw|f{rbH23$3q|9p@i%ue~@X^?ij!C zk$^T}erA0ay!+-CdE}Ml$XpOL5nn1(1fsssWckCidl=$XVsa&2)BSVoV*_wfz~-_^ zMr+{Q`q-9$zViD0adbmgf_f;61vU4H6A`?$VF^d#`?$q+57hOnf;3lPeH@ANvOnyr zww{xWVIsMRu7#(FQ^_7b#Q`0ST6KW19Sw7J`1$e8j7$g{)yVJl;U9w3p%?Eq=HDI% zXcN6&+|~;hU%!k>=`4B@%(6*ldGBHzOlbPVD2otsB6PAWj2Ci)p~G!JSBo0xd@Fa0 zJH9# zb$5}Y_9#FblF^QyB3yjk^RP9{Z~@pSbI(8)Y#OYgrx#5P-$=bN(U_$FE{7@TklfFX z09tWjk*WgLG)4enko`mjZ1Jx?k9A9&HJd34BKi*Am_foQRb3#U62L{VpgEa9ntFvn35M#mN<5|RPnqek1R z?j!n?Jb32b&cQQXYZ^=TE zb7WgZZv4Pl2f`g&W9WRGXfszO-cTYM=^mX-b0XSu^nS+jNQ#DKx^O~sGm<)8#G9Pu zAOn8lQ9BEQv?cDCvgpZa5`g&m zs^bu1^{7nl>!YX#PdcRmN`RNB3Yf{V0-f=bZP!Vz3rFc(D&Qr9_bM=p=)9Z2yvG1q z3E&)gDR8Xc&ScLB_%ERaX zw$k>g%Rx8@p3!bcr;mIO6p#2AkI>kaAVdFP{EhlB=0wdaVFP7*b_LFzJ zfR1z+d`=@%CtiWk{v_->fDSdEc{^`ofBH|)a;J+ceu~;b<_$9%ZsO^d^LZVynaE$# zz&6T5*dI|NbdXE2%kB{kDtp^+8bI+zmrYq9I;z!|s_}g2elD2v9C{MtsN>4`kDmg7yc?np{4M6T0VR9pV zqY)RrBCjrX!V_Ityzqu)w2?_zBCoCm)G`<4R3pQLrPAr&1FzV_G6tk~Z7G&&kdByy z$=N3*>IzI8VVaYz7jFS7r5BkVK;&~!>CP7+b@E3Ct0nhNKubbAgY%kyt%QZ! z_>E<wHjU`eE-KbV>YR$w}rbR3|2ib?WpX32l}N0l%*U)(1Jf@W$n^bZd7_pjM*k8q~92 z2XO8$A>@;+S%TWxeK8bT4Zbj;(4-b>opvN*l{BJSJgyd}^!F3(NN&@$@&at;$aj)Z zRF#F`Fo{ZfuT&8zj?^{0(E6QwUy!?JVL6C(7);ge9_{3|f6T|8FW;iu^lzDY%S?<7LqexpIHetOpt zm<9Kwo@w2Eej84ML@ZF@Hw(tAOk^IQOvo&yu_c)1@z_c zpxC*SBlZ^Vl=R8N(XG_&Ac4U0o5}qt1Ow*Nu`w@INkrVXpmRe;!weS_80(XhNs2@P z%qa7?RSCSuc=_Gy;4jOzDNqMt&7e;64xxYHZ#Ysjs58Eb)JU;)G3Ke z`8>wje6htbk-Km-E{QaWmH)-^?dKle34eTclRVWzfwL zH>JHh58uA~dG0gwSUV8?(jeYiN){TLrfKhNbKR=k>10UB;`nAxa*3lg@FJ(DU#|QS z7{-~s4r|OL(AfXGnTXOl2d4xto05qpRb-&CNbltM64;?$j25RCw=BQ$WH9BaxK~QjtCa$^B*WKd8p`LfZ}!X^6Y4FC}>U z4xmlX`H5BA;I`*?AQigp03ZT#JU69U<{lU?PVAHmy$Ia88&cfK(VBHTJRPMd1ZN!P zY^0C^CsylGQ@p@*HxHBhj2MexShZbMF<}=_vgCP{f~cFG6)hOlKUmZUKY3)0Y*U6q z0CoDnH$w5Kk3ch%mQtyV(&TVXDzG~_l|jYr*i@c0@q*aX=~agHs(W~FnLhr5=83#4 zIP+fap7ZzrwiHsCEXXQ_q9aU!3u}%C_OPTlrO}-jlF_b1)z}w5uh`uVV6T?S#g&H9g!F{#=&r^=Ax#&3tORZ;AlLQv>br;mOwdQIc?R{K5# zXj2H@`OG?ab|=5+QlB){iSjv5AEEA;mZ}X>V|@-c-KZw@WumqFm7?H&>m_ zOg`$%On}r8m+CL@U$(I6y&OzBImYE&_NNc7k#A56CGRR~=o46qp{weK{rqw#ctr8G zTeSHdt+vKjtyH65JW8BfmpiwsH&q{rM6T$d0kHl>G2XvTG%EHDsUHTPZ6j)Cn|`ts z>xoh98iWpEUVR^N^NUE`4L@4k2UkC_PLIiJ;eM!(GiQ7S3iZ=vj*EU;&;G&~v5TsK z7)g&~$WCN!-C$PL_^;B)r@?DJrcS_NZqvQ|fYxu;Uzco#^}?px<0sR4{{ zZ$!Oos#*+I9K49oKOrs7)(e3gmRndgKP5weGQb9%DODuAqf$FwdaWlYPC1!;*3(PwHSQB0D~7z? z&K1IQ8`^nKumhf4+YU=Mb+ zWFW0-6=67<;t%WIa|?K_lXiEmoGq_oeGjuc{;&QY7A3T&?nKJ64364f&!lS--I>+tA#ugdDL&=3RFT!)8cXS?5 z6@HIty!5vef-xc$##m06V62h;JEW)&;R>0H78&c}LWy;-e|OGoICw%+ZJ^fjVCv?v(Cas#h)N-+1d_NOlpVr)5cQ4+qE%v|#4!S{loRqWurS)v;h&RYIibfBYH9QAz!?U zEFM`G_R)3c&%ym#>T23kG@vd#@I%Nhz6!SYl3WZR7t~skz}3!TDW?-&ISW1?u)N4{PA+gZhsWE^?(Moxog8jdgf4J zwW29kBP=3Wg7ih#ux;}}!^U;q>y~5%z(vGy--Hc2df+cyQ2zPZEwFS4M^AB#b4yv7{N~!qaL>z{pL|}vA~L`Xhor9 zu@_d!ovR5&x;^vg6DZzEp*U9=V;vi<6-TP&DF>p$9)ok|psoono9)B6aC*O)4Jgp zxC|?xLw#&}yQy_!6h}?5)5j}4w?DH1e*5S;SlTZBo-YtD3kb(2spA2z76rw3=MpRV zF^Z_G$fmV41ffUt&{IteYS!5!r}rJ>LTKP%LI-4^F+M>hr`SrIVUjJ905v*EfR55a z>ss7+WgeP*BY zlRwsPSHq3W#j8$dW!45tUvx7LS4(f$0PVgIn?h)9hL?KuB)z-EJbwui> z3ZR1{kb{Q8S|!KUc5_v_9%v*=Wrxn#!XzFpVx!6b7zx6J= zl7;Y%Xc0P*I&8- zUblaSO8hxt<7h@bM^y%)&&Qk3vD>r79VJwOs&o4y?M9SFIMSq^$K}9F1ZrQqdT~iH z&O`qNU?ihuL?4NY?<+)+m=CRUr{Xx3^YxYua6f4 zMo)wEiT{qx%s2J;##KO$HibC6@=UM<+1LJ;0&_p(Z54(2rt0P`{e?egjTP>Ogv_Ja zv}oA)(YrlD+sR;89!~qee~@ym^A8ve$IqJxCmlQq4mw~A(-%`QTB(S*BJX=CcWa&n6q(86?(bi@7GWH)Rumat%C;}%Pv(5e8V(>g?L`HaFu@E6{Xb zK7YeykZE5E+q?P%(^PfsI53Q*?#ZfYYQ&#iBVA3wMn?p@O-y8%A8r--Se!X;MrTiuncSTDk>=wZhVIu)5mbU!#R zRAS`Lo}fEX^eVF87*VvM1?bkXvD-m>&rl6`A`nA7)gg#!S4&WfeMBx2FP`SnCtovN z?h6c9BkCe9*t8gen=gZ&A_pCAlZt^$BQxoso)=y({WA`z>1@6S`*-`de~8V6xvEL^EPwnHI<8J6U=7Vb{ZZz|%Q+@ZMfAIspG zm0S7rF2R_V91jCBRt`%ogbqE&^7JacR4nCR<9TX!#z7O{@bOt#vAG>K1vwdIQX0$= z3ymy|5;5rqlDxsp0x16+L2BZo+RJ2PBS`su0Bw|xr7-T2DOO2u3|Onk_(GK-O-#Di zE|8PTt93dewsjVDdpM_wVA`k#P3i4-HZP;6*F1sKg{{=sy8?yhpr|35#LGPGf6yO0 zOUn`X{hZPYsHHpqi+kJcz;7|*m*sXi)R+3$-)sJPyH!Sa*dnx`iKbFM{O6VT!kvpd z_!ad!+sbMxrHJ(+Wn;PAR8HOmSvD~{cJ??t>(~R}t(JB`0i5Sx$(FiJ!*o~~3=bt0k)r^G7o zO-OCU$+fbThUR0pc|(?*>kID~*~;V3$>t!NF2jxI&4Dou1B1!@TgW;gg=@}Z3PLwD zWEhOo&Vuym0~=%7LhuPu2>u+pxR;RFYknZ|K;QGme1V^Km5}Zuy%8Y znjAXCvoeY1y;&}Mr5pCibu>)-ze~vG=t39oLA4O$n#9Vn4L|P%D zMaG*j)YGjC#W;H(tL&9wWx8FpXYI=1nvt`mHepm$Mz(fTWo=64)FeQbW<=HE$b}|K z^W-sg;>V$()q`T)RPayzGz_GzVGF^Ija&%+0{Z#_*`E%{@Th%iWUJ($V;u}dgTB^B zYB&nQUhWTXZ12-zF(I0Z8d|woFA{u_ybSTOnC>N)Sdlh%rSX^du7xY_d=5@IWIs6P z_!)50{7I_MJVYB}Hx;qskR1K5ICVChwO}HC<&Nj!!SyY|B>>X=ODIxXU?5hA)Yv!~ zCbgnDU+ig@e${eRPR^u{;{LSWAoYDkYtNOLqliBePsY(Ywqi_{OGWDdeHL%+g`d4~ zI*zK(s4mDLXp#|_zh9coJqv92=Ffd2mqRJVbMA+$VZLSXkN<^SE`ZJ+&EqC3dX8y6 z!3!N5q8q^X_RN&S+!I(Jysg24b60#yT;qH3xb?|(@YTDPQjfQEVxG_$$d_%P6Lg<`%5j3Cj@4LOz;q7isB=Oj^vzNh~v+8M- zfNdnGNLG*=oYfwYHg6=Kqp4`n{4sZABZYTh+WsyNIlXGHlGKX~4;VHJG2HO16 zDDjBv#B@;<`8Mn5vOzk)4UcVyv%maT`1TD?Fx9komw|1Ved6nyxqbN6a~9xL7aa%_ z8Pj3oSP(;ll;~ifZ@Vv*7f&Da=xo+_;tlKICEOnA`V@gWp1vSe>2UNTbxKaVJd!Po z4~ZOMG`ZTA7DT1SHh9Ct5Ux0Gvb=fyUCdb(vu<#>l<)pBOMkI)m1xt2WycM{-uQg} z@o#jtTaa1L{q>C}JT79cBsDWh@R1uY2F>rd$8r+_{&4N}U zDe{MLMb%@S6m^1#5x)R)nREC_**^H$nX_Z<%V9vXN;S5=0O7yB%MF1*s#Qs@x^07E ztW_x)e7t5Sx*t%3Sk5a3Xmhvi=q~A&9g@i{shWTZIXnd%KoZah9U7Yjy)j+pv#Tun z+`ZeR^V2WyTL))+?l$_xor^e{2R8E7q+3xXS|2}i4BY;KBjB}@nJdgb)X4cYZ&#B5 zje@mfS>!|`yTz>wMiHq&ETJYuY78kUDccZJF|`q$Vw!Bsr`e;t{5%cd^up`X8b z2A?jTEuIG}=xK-+5s|Y3ry76zZ^*KBKq>I#iw_`?PCB5K9-%BmDSFeeC(9U^Yu24t zVuKO4m-=yKRx(@idr68 z&d5-swHVERhdB_RIccnNm#S;SOv+a@&DhdZq6chTyHK?zg&;eBL(8Lo2D_DT#Zur$%GjT$5uBP2W5lO|VBu1RJcp|>JD)<#sl2Z~iU%$r!+8k-U#WLxl4{d~r&3&C!4)PL~@L-jN5c`>) z$qQzx=g?00L?kZr1`C!tU`tm4KL7h?;DWE*4i7F`rw26NkkSy<2~lsr1x%E`;XQ}I zgdESi>Ny4RQ^pq+;#OExsh%!aY=R3RBDGdPqJ-ZcVZuj|`m;-<1leDa`%|0)1?e>A zi@o%VGiSi8v5l&uG1#K405gC6j_wy><<3I00)|%RL zp&pQw*{t(VPyZL)y7;r)o#?eiY%Kyp;Uhm|hAwlcLtmexq2p9rMdU}MBc!4`Qn2SM zCsC-l&Qa2gal%3sqqVq!14fdxl=NNdrw|QY-43#Ob1@Xa?qPGSJp6NcH=OmwJK_5K zm)i06&^jTi$P`nq?_96|K6=b32w3nCvW=LM>4%>?6dc3WGEV~#q(4LMyYr=5PE()tUBaybJA*xMd*bZAX$;L3oD2z;i z?2v+-o;Jk^?-~FBC$WKeb4s1^R{74IYvJR+_~)+i1Z)aI@ZOWB!_^nhg9d>p?t+NC z+Sd*O)p~43H6Mgy6;oJ|^+rIqHqqf?P;x0C;cVdYom28A;UX}dg0H`J0-QE$D1#IA zJ?~xeW7zIJ4JGC(7xF21Z2e7~eyo#2rT+41^i%}*nT;2YnuB#|{p=|zpjk~_+wxBk zhJoPk4acU6Cet|<49eOo=JuWtqm6q{V|-`S;RU1P${KMlsDfi0C+H|KLytuSL+)eG z=sPKf^ze6QjVDD zBvn@c6+d5qIpnX+^YZQ&j~@eP&K+Abn5B3Q-%L-hxgD1E-U*$ZVpUC8ccdW4eD!~= zx+cnX`;F2nf_sNvBwSHN(i62;sY*mfj8R>OdP2VJfHrTO7`6JokJjb2s;w|qS;49N zm?}(FFyV)n@W&&!M;j;AOOiW#As#=g5iWbv!RpBMcD*laOnk<+)Wfy!KN{X}0MlR_ z$ARGZ`Z9j{n!Q)`u25N~C=wMpD|Q;W-3&?)2jmox6qpMdOlq^&mp!72f!-Uc&LKV_wY>W|!%28yf$)bi-#taWh zityD-kK1i|n@B-SkNX?v&xgwnYZ2QV;PWPj%&YYtUWI*}B!hdhorhiRaaOb$q3gDn zV`eA6pNY%`zHtPYFIq5Oo<22!nWL}(b9>JQxOMTDdD_aIm%u$u1R&B-*P4TeR{g%_ zD4jm?or2G&T*sWAvv?cKqA)r=cy!lkcJuUdSO8t0^_*|*x+9V8OIqP?tdypz*voTj z465Q>T6rkPEq(*V2Z67@>sZ-W79S6&CX_VBfr0tfCa=EYbu-~hr%q&J*bJmu>?Mtw zd)!a^UF5%F<3$vSiYlO{4kY#T;wP9)GjwDwW-{=F<3}-=C+NuR)v)NmVCIOMFLuLC z&wLI-o+64?aFnj0mCR+60C;};y|ATo<)Beo0(#b|(92xu=1kmq(P%t{$^Mpd1g7B- za~u{fM{_Ps72?cDRXl~`BHPs*qvM*j=x~&&LI{#9T_@U2%!o~mOar`+!FKGt$$HS> z56bCA-H)v$lFOllrnCOr5&Odr&zmi8np8t8Dnh+i)!3^;c)+fKb1tqmEJLVgfU3Xu|m;|Y=F zIB+5@3sWp2Vl)cJ$hpaOH!SBkax%>beQ$299lT!_KK|CDtuW+ZU@n&Puwmy@R_CIY zXlpI&Vh{&c54v~h58?hTUxWu={G}Bb4{Drh85`q6r;cJ!A1rmQ zJ!ZXSd_VTHW9=;?p2OpDv50Ey;YH+6i~ETufJOek-{y4Y?0G{d0K+iqH9zy;upOU* z?#@8*EMohKu8F3K)G1;ulR6(BT>aYtmlDjX7P2dYH|NbzpW_Lt9|_*XQbXOBR}q>; z@w7F_9?!NL-ITMDC+@EcRY#&&P1ZK)CZ)k|#Lq)HaWbCZNway7i@L0t44=8^D406F zbx?wiESMNTkFUN7Hqt`a&UD@9x^IIUp8O>B6+3kH6yt1Sv&2#&q7$c;B-we#s{`Fmh6gf^~`zj=ihz|47SCm z@@l4sGEo1z^g9&#CDE59aV&@2)+%njTW9QCNl%i2Q z(J;kl!6OL><10Y3>9dgXW`WFMuiIS}b9I zph1Ip{PTrhK|Z??#ip0=P!!5afo!2M7z*6AVNbt1SAT{5V6L}CRxNZ?8>u<{_~qN@ zOCpf4kMN{XWBhsf`g93dY%){Y2EtzAut_aL0<(D^?qB+ISl-7|!1khJDMv9Y&A4_G z*o6%Fd7=6xPNh^f1rM*jc97Fq6^E&5$3c%jjun#R_Hu%VWr`#20JThjy~fsUG*8dQ zGN?t;k9O=yangEhyE(~YNc583C4mHU3$2E-bYUWqYRns-hIgNSa7=o)zf?m++_gIv z!L!?Mfv)zv)C)03F6kv&NrMfT0K|OXM|WNYf8(N2jreQh4@ZUKX!zMh2SFdNl2Iy$ zs0l)9l#P%T-;X!O$2TL~cX>uq72yQ;6T zb+Hv+!|lgBi!3hN@c?Y?SkW(M+Uj_SN$IT9Ae&89$Rwyy1Xm(_Q~Rw`_WTtrskEaf zXZw$-lhU)14s4WiBt^xE`YRrtNKR_PV)JtM=rn_N)_f@Oy3^+_KFW4A21_*rfbU-V zJ)tPg*^OU0IM+asJz?(8<~apfUbqu(Tl`fr^i3K9sE?aD4!(EpTpn90^C2YC=B zAddLEc@I49c;t9l;Ndmb4Lm(G#o^pHVh?Ler?ioWE49G419mYx&ug6ud%==y)Qg_W zM=bJjg@_0V6Ex#JijauPn2@!P7KP(%JfeyLxG>ETMc1XL&VqSU#}3}ru&Kt?RLpMS zlp7syO$Ff4kzA1a$oiDYccoxm_%Po5^ykR5^=bw+^Cr$%FbV$e$rB~_Ba^L{gPtN! z7LVUQP1n8eBy7lKYuYqP7J&D1nz6L!HUVY**%EAj(aflNZKyx;tTA3~N3=>hXsf~mO_;5%k4GY^&JPw-L25M)_ zqe`nXijPN;oXAbub`#_FVypR&&R5~0J1btL@ftkay=tO+m9tH zsWu&jEEhI+VwV2x_}PONf}~T8M^;`B`P_OCCR&J57tQX=QPM-jAuVYYAu)`}cY3hR zUkZPC>XUXQYA{f{T;T7XHxK{gwKMD(ycWGaa>m)WKJ!1YI)5Lx=JI-&<)mcTpT-!* zB!S)CA++*N7p@$<1UP1e{~6oercndwP~)+ULz zrvO?=>Was_DJ^_U=45ZRKNl#}i?UQnpmX>f@iB4I!dqOxkDqfm4ps=NBRa(!85>~X z+H0vtrW!%SII}d$NO>FzZ1a}D4NrYG0(Dp$s6(@|RwIp467l6I zK7c(pa4H+Z_;+yCnpA;-l7I2^hT8`Qq)9v2z+MC? zc{Ync!v$eSo`2{38md_C?a>}9;&Ifh(W<+w0Zoy+UWL{jy8DM<+)5ofsjZaB^7up{ zD0dccrayW*rCRqNmX_VH0orVW95HJwbA!71 zx}}^WE*gZGq7ReHw6P106$@Kr#{hg9FnRZ5=NuMq_4PO2<_o=S(}S=zdu_XrmYl#?rkdTZ;b0~A_)#dx(?@NC`mL0g8`cewaKFe%vgBzayICXl-z zy%YBHgs4~@v-g=BS(ulWGgj{PH7H|3+^j93(okP*>7=Iu&WMnjE zJrk}ECLf6|?Q|~zw0c3)CbseZUJKW2^|1(q{gF11s(Am!H$6-;AX;D^huI5Go&|HK zm^Pg^@OYa?&kwG?nmItC6JYjXD6-FtnYCg+(GBgUjn&}`Lt8ZFyVJ0&?{<9X#oy|D z`lYSvs}1(D1oMkqmcdu<`XFs7t&t~ zk$%V=hWpIDoPIpM{dcf<{oU#fhj5p{Y;MMdD;|Jv-S;WjTFm3B4WT_1EIA)dN){%> zd>mdfQA`h|vgpOQOq;uG6Gok$asi=(*29|ZPYqZcYC!Yn2av@A^kqhqKl!MH+ZgOU zK851(nuB@Oowu7qd#pM8e%7#3M-qw~Wn)DY_oV-Kn!6Yt_c7mf+JP{xt#LrUhA9Mh z_H2Yl*IkcY9epxVSpKwZ&tanD4Y95aLekCEbBN2Bp*&X2=yi`oXT`Rr|>pK?7 zBR$*&-8hqD-vIz7|JnNVb#V1F-vuEg!xjT1v@mz{h!iAJDI%w@98ZuuNA4FLUA(B^ zi`R_$W=3}q22Q~kN)3{9U5e9=zsF>hs|nGhCM|$`-B{*iapz;&DJV|s{(KGhXh55Y zdBp7TFu5f~J`=#fkiM~!?jH?Uq7Fl{qaha^#53leb8Dsq?>T+`phFb2h2XCs-5}(u zT|B&d%UzET<=qw$*htI@*SR=HFoTtto&$Ny@A#dPr z{i?$c-R2lNN}EtY4V9ZH{5`~0^?Ob~2$~vlgA7qrzjo!eCtywQzjzn5D05nO3D&k< zo#PfO02mDyNK-7qE*BW8rS8?}(IC+`8vaO=8(oGy}`-|M$GjOr1JCW07~guuiKC?!&Jz0@2Upz}2>dF*!30jqaB z(Qn#8I_>oLTL1-b3IqFa&5rc77ShiERy&Vy2w6T{o4Y>_2J-96#!fd;_yZnEpGn4Jf|f)=pvFp-qTL=g%gG zMneihr#+YSw5Xy%21%|5B_w>TR0NYLJy^Qs{(jRAy99f{Nr12WG7JkF>1749r+iEf znl=`Wn%+t&R>S8vi{-3~{Mz6{Qs{{=J)w%#sO^yb#O z_}CA?c$i3#E!l+$E$acjeC%)UCaD1ey8UPa044j-RK;VwA9W)wm}xiYOhIV*(n@Zj z#Kqx?9Sdb&yuY+VPHsmZ0GR`hQ>m2a?Y)3@dAe^saXLytLr04NT`sBkypXJc5K-LE zTGISEcWy});rtV34H%tGXFxpuwdz_Dlglumeqf_g2c+r;XLNEQ zlTIXvNwG~Chr1GWlc=g(o7H<3udm1(^8QZdlRw>mw?l(^IEYBE2%wD-=jlgGh6#QIhKu6}XlN@L9+0f)i(Gv6%iZkm>y{TK_lbO|9oGlrSzZMsXKybaG@Q zicQ@je~<_mDkAeK!~AHz%P7~@3oZUcdhaoRglS`rk;}9K$lgngMxNd_pTrUFeaCzp zG8xXFQ)mgb;(qQciYTpbZh{zbpJGeM=u`-C6DQNIq=aQitn1{ST6P0pyeB>^+xn0G z(+;D};SD>~ULHW3;!v1fzV&#f4RW``7g5?6tW(?>D@>+YrhUX;lMZ^|ttZW{DLRV? z^6={GcnDCk#Yvn5LRIzkDg*Wv6esH#<_GUP%;T2LacM{QQZ3lD7jE!(q^n6 zmR1{tpD-DVAVrSOggNC_ua5JNNhlpn-a%l2M#R#~K8p|xx+YKj8 z{1}{Z&=+Dn>%ksn-G@#2H3C3?%DdU3xT(<0{FTrKO7XmUnbx_pN7HC2B3YT)O4y$V zB0|hABoa3wS9;D(&f?oF!sfcbKfACFHg_x^lzy zqpuOQKD7HNDt(WD?a?kcY0iLCK{q--w)RHm@0Ki+jmQ;CASX}voNh|w%|mt@SGBlM zf;lB7o>bpfggR=aOAosm4x4QdSyePC0UL*$JQK zmM+WRqOeDcdNbR*#E{aH%BQ4#z>U`&R`EHk)LnDD<{a4pjOi+AIT2Hs%B#oRj^-@9 zxc#v~#U1wc9fDYKDO;04LFpVlK48_5#ZeU1lB*Ev;Qaw(Eg`_ zDmp*QxpOhISy+chQ3j12a~LD**iGmv=|!YyB^Ew2qGQN{{e8H9`gnNP(bwSkmf0#_ z25-=U#}vonhI@YfV))`6AA?^%|9!Y;$!$sve-OP7aTAEoIdJk}@cIMJ=E)n{8%XR> z^zaHHSP+e#)DL5vWl{1?5r_Y0Vwy}3bzyLJlJv_D0|MG4&_0d1o6 z*w#jP`-%HAy`xzUNt}_2&Cy&J7MU0Fmhjt7nKNkgGrMk&ue*_#mCGts5G`%baGb-c zYEN<1d2;GTIhK^8^Gp**d+uVKGWk<*#=OrnIVw|gz8q*(Ch=NsdhA-}WPBFd%N@|M zJ%pb=^c`5m#ygTcHAqhF>4C&W$6O9ACEf_ihPLf2PO%+b%4W@@1d|)BCI(c94922! z4vUl*jwn-OT)D91KN$!?|Z|6&3C8Q!WL4OmqF#9bbUkR$j+BZyt($%*CKI`P{Mje}Dgy)aw{5r&d9s zEKNY)b<9Uu_l}>xuW}^OqZbaYeMOY|9^}*@k^NhO+l~D(3zO};bZH5iL4tugF%&w_?|lM&p&Y%s$wb_up1yA zPpY6mCTsU>{_ubiTcodc6Yt%%n=*>?KU6NesC{kmxDMDsFj-=a5hIcvFv_CUo`);2D zw0uKS>PWial({gE)u6n(QOY3Rn4_aAz?6)D2RU}Iddo30HE6wlk96^Pe&av5@4OC* z`7)`albjAQm9v;?dX4@)nIeIdxU=DF}=h5Y$HgA=B|Tdhmg*u^l*1mbc1!@q`a z{^K*SE!@gr7Asro=LOnlQ5u5geYki1U*O5rk66GC)}I!SOOF09qLlV$_Q(_o*_3idQ|}0-TV98MTbF2*qkwO z$yhF+rzoOokWvq)9=1Qr^ES#o#r~qAxqwe?xP`w-U>yU9lB-BY^gth+NKORubyN<} zt7BuK#h_A2&p|?bA=J*Q;(;m z9}73NuVk<6BGcFgOFhKRFP>9#<0!b`u=jHJLuIw%_2fC_=;$F`97bd8Xsg|kYM{8G zM=YmCsx_72MIb0TTr?W43ir2?n+{(6SV(8G${1b% zS|}gL?cow!c=CY*ZaA38w3fvLca)Z~PENIp=VYCoLD|SiU8wsgYkzN*Px&Fw*s9_N6bttcEk_JxBc>4j6UBkPAN%Rg1+U z{N&zm!Jp_%-fgp_!U*W;BCC=h-o_d^)KNn@?IfJux#u7(AQH? z-404PwFrKn_QpfGWu21acaN7g>sm`tkE7u1+24lK=X?UwerA^nzvtF3f{)+)et3BM z{m|RP{N=K5W1E^hVqE81Z|F!PG_3>Tv9_LG}&RcjYi3@K z;`{7MR9?Ad1^m}dAAvj9-oV9Jp2zb@W@$hIS<54+-%Y9!IO|)1GzS8^Xv;SlUyE{| z2RAMLJ*?WcLZ%)AwZUX7l%IPOi#?uu@Y^88iu=sSgFG(+7fNb!C=H05d>9<>L(lDc zV8uSTU45_{sUa(pwiMv#F>i-C6Hc+$@0EVM;((64{@Ca5&GX=Ov$;3jHWl7* z=>7vr;+jFq^BeyOLAFDA?&-?is%(n(pY%0J38h`AZ{}eJ>q;Cu_QP=D;opa`P1AQd zD*xe;-_U1o{|Kxuyufl`{5?Y7p#zakDU4t{+1^S#$gV(yu437>Kt7&0w=FaZ|8 zsk1+Rkz0h8XY?4*DpB~4jM&%-DG@BzAQ)paPGSWCS~p_N?-qe2hjb{i%Y zA}#)cPKO~Rj4A8OE&-<=D+!FvbfmBLN4%N@Ym?v#NYEaI8 zWwd|jmY<#)t8+T&H}pZKuNlr;@bwBCj8_~>^hy(0`_Vcc=puz$d2>_83-H^=Kdgln zJw<5J(>_VS=c2E^iEGW`M0m}NkHFMXhsTurp$5*fI0;OP><^qP-}d}<+=UZLoa$7G zTC=tUw2DP&_WuZVt1hvGijL?wk|jAwX)uv$Fju27$iWZJ`z^ckHVg_J^Y8z4^X0I% z#9rNfK(iM{#NJ zH%>*sMH~LcfK6$Fkcl>u=uVj?kp>iDLCf3W(xa}DU=~0&M0BW;vn)RMg-uK0KX3XV z-L>|QJcSE%u57@ZPWv)P zsjo{g53T4^ruG6D&#ZX@{_l;K!`ue3*`cI^aWTfsndig!O<`~oQ}O% zykD)B8n_?GqMLbo$6-H(NlXP09Pm96%zI>nuEmByjL27PdxXd3EV&hgnB|^wvB!tQ z+AfBprd*81$cG#j-eBp40I}#6boB0o>lR)G3pYQ&>-ij&dR0FcqES=eiLG-am}}vHk3{Gi zC9-7Cn8(DcJ0IuCm=Gx}!i@UUxk$MNj+y#)yD5#jFswDb5Rbnuz778KmJhLY8&CWC zn6q5aj;eM!6cZg>qiyFoxiChiNa%8o9Ve;;UCLN>V5~q3Ex9TsIyJn$cHI-d9MWX@ zoI~Eh$_fS8!BJYYEis`&8smTyI)+ZVo6*?A+eK-5_YqgY-T>ykFhZ+0d}YU@5Vozw zQN@Gd&GRpZ2`#f7+NM8fR1QNm!84z?Y~vEPl(-5ulvhDF^+M2zlDew4T+FP`T~$Iy zWXQ859*RX_2eLA1M{>2U2Rg-=84+=wbhJk;!9~1``oz|U;kgY@!-4x9Vmm$kMQH)n z`BRR98O^g{bGV8N$}D+U#t`C*$tbm$l=G`LualG1baM|hl*Z8|$NU5vv!nLdoO!PX zw1G%ZX*(R-@)1}t{>(@v3A~!}WYdNd0Nc281ACNQPfu-sn56^@Y+c67r-6c&@f-+a zM>NHVJfsIFlCo+j^Hr7bBg!f{$p=}Uap=tORL|E+!IJ`ZijRM)=K^ujbrR4}gFw1C zdEPSreE890|HIcTi!EuHqB++Rg*#*PJj5*93oz5%4g2{=&;>_)Gd4xt8y~w%BZcYqTX(8b`n%N><7KAFXZdESwD%YET0SAnoIbberu9M(bf8clj2CZX@ zFtsTMCEge}1#1ZUB+}gsNVAI;Z|EE|?h-ixOd1sJ4UfI9%VDLZAk^+!-k_Ze(@z%4 z{eOPq5AcZ_FN44Gs#bT<%Z57zDR?ODk4f1~1X>%vQWws1Y~H*Wn-3GKPF4$4PBitl zd29pSw>JgZNvRigh7n?hnIg~idAmBtw$p!Ea?_w44>LW?uvPIXGtYo-E^tY10%4T5 ziRs$dPMro8N^oHy%RcAWiEq|8Pl^lqLwivLnNB8z_VgD>0*H$U}zX!o{3AFCWv zpn#^fz9=E?om8|BW9$7SWIAD}E|F&Vr8u*VtoeK-5kL8s%*(!(hhO{$+_UU9*iM_+G@co8JhFzsmq4~Df%e3< zyeep+b^sU zc>AIoSV`$4^2YW0IcTN&E2mofjhX@rCLRMNe>v1shNQL$|MW~#0g5braQd`Q!-7d~ z9MS-4BtpN8`SsGxOW>cY?}I1TE`%VRhkRe3^!W&a&~cz88)XfILY?tX!`dYCzTQ22@dYa)imXB$tn7ON4(KN9i=*m_NGUT4-r#t%>*Y(29HD zrWd{llbc$J{5*=y_~}h2!)dcV3XQo|y@UWSSzvM`hu+PA7LRAwJ;9qJe}_VSH+L>r zHlXCoQ0kdY@EFB2GSWn`;A!{_Mx4>vl@=Xgv|EY3NeVy>yM2csAN8scO;6g>xwb2$ z6ULmyAz^{xa_~ff8fbw;EOWPlNBnm$xn)r41C!k!Ipt)?V2-J|o!Ej?;N02Yf^+77 zQG(g_?Y+Gp4*OgVZKBo2o$KKDkN%vV+3_ffwWgq#B(pOJN~&LB1P2{|YlO%{5$*4u zvsZ`qbI5+GJCq0$UWSRH(rD==|IMT;uKkA1+dUioJ-fNepPLR?{H6tda?v$%Wo_Un z9mt&co)uR^Hl2bKrd$$hckT;7-nWZFXXvna?Gtd*Q@^F<-OpgEE(4`*6#NfaD3Z%? zOB$V_3u<-Ldk!5QW16YTr`#?VVCWbOxx(t6RR$&UtW$2hRD_7qVa{e*f%6+3knk&bmDvX&VFQy zs4l>n4YS~@XMcadZby85Oe?DHg&mAnHK5%$(G`hVv*iW2`}rH;pR4`~_1!an4pYZWuL;!q`eUC5bbr9^=-L4fvOe?uFWf;ZSvfP;T+arfDM8+s ze%8uIQ$=oc1>H259csLa!W8{EbV#C9#jjlQLt+k7jyEm2pY28Caxx#Q!ZF3bO=oiu z@Id6mv9F;Io$v`9h~F^+=zSH~35K0`ys%*rJhbv}@Wh4(VN>5)$Tro>UUiuTTSDer zYuOA9aCF2w-Qq5EAzq=T8s*-hGfpRG6ANQn`3B@>$rY_4s`$1%#?SG;Wcm4d0S`r{ zz}HUyAJ!-#i1kf*YH$=3%geklWfMx5S;l1?7jmbD$JA+%QVnI6 z;+@(ygXZsdI2^hE@i=SDY{*Cz*OAAo7SMx5ZSmONxdmR>ycm{jdJ>jzUkvLz*RnKC z4{woYCCCN+L+EG-QPePMNggC;(8=i6aN?>70Xoy~wc3p=5! z&_O+gZp^clK#^5c11U4>QOZjr|AHJ#2sdS#p_vVoT5@eLip471>PACLT`M$Zo2vh; zAd>ZcwRbZ{0KK~au7%Hs8(7lUTlE0_c&)$YTW1`&Q1pr%9xZJYJ=Mb^%Eg>Eea`2vJLc7BXa| zSGLn&{1xSHdKgw&xr#>W?(=*#-3PT7u)LmmzmT{TUb@C#>&&h+yLfV?+d`+s{m~Qix>y1)>N+b zk>{=Ho?^fj#bq9V1kk|~y7t~8f6U$_{P*33GP_8Le-HTcLLQI=*u$U8!#pbT9+Z%& z<=?R!DlmsuX}~@wk`m9J@y>Qut4Ii>lhrPjyD6cRvoV(4a@Z(LMul*>1TOt0kM_!Au$&nfKAaAJ?UQ-s1LazKK;U(Nn)$*DKnq zdf73?93M#oMqVBQ-W=5b+)y;2s`=D+k49L_s&9zItn576hi7N zl~EWJdFhOl2oS)NJZG!-2G)*E?HH0{c2CZRI5{Stt^un{td6f-QNniIrK6hBxMlMj zjXb>$rW|*@Xq`*&K$x^7G@*%=QoXQD*_4k0%nWX7$$HpUm*Poe8d~eqJeBleTtf!N zHKt*7Lz*q0`ByG2{cidPJH_4)FupB&7|>r)Kt~bRv*h%FfZLNV!FC4dX76Bo=LE5lKoAZ!dEDfa5yQdv>bU;#ILo=}> zZBZhbM{);GsVXU=roDQxjR17EUW}kPTCI*qNuQi`LvjQZHQ7{d+@OxydL0*yY@~^w zWY+=Aa|}bxC(%~Z;${^eqZC^7)gptq0T}#DAc3Zw0JKMA8&Wu_IRlegvoyIii&I;( zFtI7avcwtQTlD)+XF%oj(wvFHS2Uu(Y=BOJSDdSUKQFqS{RTI*7nlH4gq1t`VAYNi ztZmQ37LK~Ccg&j_SwL0l z#ww3uB7H-IGBSeXc`zZAucR810c1rAQuCy5RN|8P0c}|(Ol4q7YYry2aD;ElLUVn#dYz$vo{Hu#AIOId&~72pU*s)v zUb?x9fxDvsFK+9F7sc-k-VGde+gZw%g`b7Mvp)Vw+6c?)UTZ&_W0>5vJNX9c@<`fA@et=C9?i z<9`!>PJ8luiSNT7^Y`X|6QAq*(j|pKjnrH3hK$4)s$O>5p0=aO;fg@yDF|X7|P3$o~p)rlq z+A=h2Y(35%Qx7vn*TLkrx~dUf$uNZ0!FD(RzS{szS_xj>l~sx~!Aje(GY`wR^uY6* zd*S&l1!4f>=H4<$WO=+9RZeL^FVsHrqak&n`Cw{+=t$1~e* zC~cu1pb@<%>BI6+AbaM{J?GBcYX~_FMyecfHmN}@K_Ho0D2|fIB^BX9QtR5Kx#GVD zAG?-X6pH)}Uxp&sX|#o}gU>N$D3`J8RS-Z9F*WO`-okO%Q=!DM1N95pfy+CVh==K$ z498`(bw+!9hU#${HosAU2D2Kqri*4a2Cbz{xwc@5^=y(JfaJNkWFLWl2f-&MbhmID zls;5yioA8&*s0ORZk;}s8nlC()|#EcxnZ-NLk1XifNf2BHJZkGdE0_`0a52c%6Tgm zikFNME_hBuyv*WfD&Ipi#Z)N$N)}wV#detw-P>A=&fUZ&>V25>rS!EQJG*Fp)~O>1 zh7Vop^vt^|K_VweIY1yeM0FF5)4fn^|HSiNO+sWhrQ>;`>>(9w3V9OfLd|Fw2?M); zg?O$e0-sQT`Twx4_c7gn+7y)U}- z`kO;<3a;EL`yw&BfPc&gNgLD-K*|{9Y>k$t;xcE)MIL$B(oBM~DW$v(nn7f>41LV= z%7e)m6-0WA4F6lPVNf9{a#DI1NaS9OLniedwJ_5AbO567L;sW<1h1-3#cDvi7!|#T zMeqX)K-yW%a8FUwb1Bg{q$gREUfnh6 zM{mEo^sZQ^ugC4&ZO#-B4mz#O2)cJmr)3Cfvp zG;jfgB6Y-f;3M5psm;FIqEfX*g|bJVoq#rvW3mXR%JtRGtke3uCST-q@jP$PD!8Nc z$}k>I9HHx2h1&-w^a1I^m!lT#x-xVV@|e(cAFJyjK6xnNlsQ5deL5@MMp1!on1Rpe zKMyXWHf2#^Cf2#LKIEOMoW6iAsGEl^`U+#91a4Wvmn+j!tfh5u%cQKG7>U#)5qfLq zhzk2IuFRWcBbU96B!3y{!bM*kSvK93hzhD8k1tphE*?+3gBa71*_n(YT~Epp z<+gMU3Yx(fr3??*#!GvZop&1M&G=sr}W-zW1zW}Jv Vh{7~g^N#=k002ovPDHLkV1n$dzcv5> literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..45ee8fdb53259ad81bfa0064917ffad4868428a6 GIT binary patch literal 7851 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 XkmA0GcX_J|00000NkvXXu0mjfQkHHJ literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/apps/geolibre-desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a852098ba9c0939a93fe923247aabee693830767 GIT binary patch literal 23498 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, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EarthEngineOAuthStart { + url: String, + state: String, +} + +#[derive(Clone, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EarthEngineOAuthToken { + state: String, + access_token: Option, + token_type: Option, + expires_in: Option, + error: Option, +} + +#[tauri::command] +pub fn start_earth_engine_oauth( + client_id: String, + state: tauri::State<'_, EarthEngineOAuthState>, +) -> Result { + let client_id = client_id.trim(); + if client_id.is_empty() { + return Err("Earth Engine OAuth client ID is required.".to_string()); + } + + ensure_oauth_server(&state)?; + + let counter = state.counter.fetch_add(1, Ordering::Relaxed); + let now = SystemTime::now() + .duration_since(UNIX_EPOCH) + .map_err(|error| error.to_string())? + .as_millis(); + let state_id = format!("geolibre-{now}-{counter}"); + let url = format!( + "http://localhost:{OAUTH_PORT}{AUTH_PATH}?client_id={}&state={}", + url_encode(client_id), + url_encode(&state_id), + ); + + Ok(EarthEngineOAuthStart { + url, + state: state_id, + }) +} + +#[tauri::command] +pub fn poll_earth_engine_oauth( + state_id: String, + state: tauri::State<'_, EarthEngineOAuthState>, +) -> Result, String> { + let mut tokens = state.tokens.lock().map_err(|error| error.to_string())?; + Ok(tokens.remove(&state_id)) +} + +fn ensure_oauth_server(state: &EarthEngineOAuthState) -> Result<(), String> { + if state.server_started.load(Ordering::Acquire) { + return Ok(()); + } + if state + .server_started + .compare_exchange(false, true, Ordering::AcqRel, Ordering::Acquire) + .is_err() + { + return Ok(()); + } + + let listener = match TcpListener::bind((OAUTH_HOST, OAUTH_PORT)) { + Ok(listener) => listener, + Err(error) => { + state.server_started.store(false, Ordering::Release); + if error.kind() == ErrorKind::AddrInUse { + return Err(format!( + "Could not start Earth Engine OAuth helper on http://localhost:{OAUTH_PORT} because the port is already in use. Close any running GeoLibre dev server or other app using port {OAUTH_PORT}, then try again.", + )); + } + return Err(format!( + "Could not start Earth Engine OAuth helper on http://localhost:{OAUTH_PORT}: {error}", + )); + } + }; + let tokens = Arc::clone(&state.tokens); + + thread::spawn(move || { + for stream in listener.incoming().flatten() { + let tokens = Arc::clone(&tokens); + thread::spawn(move || handle_connection(stream, tokens)); + } + }); + + Ok(()) +} + +fn handle_connection( + mut stream: TcpStream, + tokens: Arc>>, +) { + let Ok((method, target, body)) = read_request(&stream) else { + let _ = write_response(&mut stream, 400, "text/plain", "Bad request"); + return; + }; + let (path, query) = split_target(&target); + + match (method.as_str(), path) { + ("GET", AUTH_PATH) => { + let params = query_params(query); + let client_id = params.get("client_id").cloned().unwrap_or_default(); + let state = params.get("state").cloned().unwrap_or_default(); + let _ = write_response( + &mut stream, + 200, + "text/html", + &auth_page(&client_id, &state), + ); + } + ("POST", TOKEN_PATH) => { + if let Ok(token) = serde_json::from_slice::(&body) { + if !token.state.is_empty() { + if let Ok(mut token_store) = tokens.lock() { + token_store.insert(token.state.clone(), token); + } + } + } + let _ = write_response(&mut stream, 204, "text/plain", ""); + } + ("OPTIONS", TOKEN_PATH) => { + let _ = write_response(&mut stream, 204, "text/plain", ""); + } + _ => { + let _ = write_response(&mut stream, 404, "text/plain", "Not found"); + } + } +} + +fn read_request(stream: &TcpStream) -> Result<(String, String, Vec), String> { + let mut reader = BufReader::new(stream.try_clone().map_err(|error| error.to_string())?); + let mut request_line = String::new(); + reader + .read_line(&mut request_line) + .map_err(|error| error.to_string())?; + let mut request_parts = request_line.split_whitespace(); + let method = request_parts.next().unwrap_or_default().to_string(); + let target = request_parts.next().unwrap_or_default().to_string(); + + let mut content_length = 0usize; + loop { + let mut line = String::new(); + reader + .read_line(&mut line) + .map_err(|error| error.to_string())?; + if line == "\r\n" || line.is_empty() { + break; + } + if let Some(value) = line.strip_prefix("Content-Length:") { + content_length = value.trim().parse().unwrap_or(0); + } else if let Some(value) = line.strip_prefix("content-length:") { + content_length = value.trim().parse().unwrap_or(0); + } + } + + let mut body = vec![0; content_length]; + if content_length > 0 { + reader + .read_exact(&mut body) + .map_err(|error| error.to_string())?; + } + + Ok((method, target, body)) +} + +fn split_target(target: &str) -> (&str, &str) { + target.split_once('?').unwrap_or((target, "")) +} + +fn query_params(query: &str) -> HashMap { + let mut params = HashMap::new(); + for pair in query.split('&').filter(|pair| !pair.is_empty()) { + let (key, value) = pair.split_once('=').unwrap_or((pair, "")); + params.insert(url_decode(key), url_decode(value)); + } + params +} + +fn write_response( + stream: &mut TcpStream, + status: u16, + content_type: &str, + body: &str, +) -> std::io::Result<()> { + let reason = match status { + 200 => "OK", + 204 => "No Content", + 400 => "Bad Request", + 404 => "Not Found", + _ => "OK", + }; + write!( + stream, + "HTTP/1.1 {status} {reason}\r\n\ + Content-Type: {content_type}; charset=utf-8\r\n\ + Content-Length: {}\r\n\ + Access-Control-Allow-Origin: http://localhost:{OAUTH_PORT}\r\n\ + Access-Control-Allow-Headers: content-type\r\n\ + Access-Control-Allow-Methods: POST, OPTIONS\r\n\ + Connection: close\r\n\ + \r\n\ + {body}", + body.len() + ) +} + +fn auth_page(client_id: &str, state: &str) -> String { + let client_id_json = serde_json::to_string(client_id).unwrap_or_else(|_| "\"\"".to_string()); + let state_json = serde_json::to_string(state).unwrap_or_else(|_| "\"\"".to_string()); + format!( + r#" + + + + + Earth Engine sign-in + + + +

+

Sign in to Earth Engine

+

Continue with Google to authorize GeoLibre Desktop to request Earth Engine map tiles.

+ +
+
+ + + +"# + ) +} + +fn url_encode(value: &str) -> String { + let mut encoded = String::new(); + for byte in value.bytes() { + match byte { + b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'.' | b'_' | b'~' => { + encoded.push(byte as char); + } + _ => encoded.push_str(&format!("%{byte:02X}")), + } + } + encoded +} + +fn url_decode(value: &str) -> String { + let mut decoded = Vec::new(); + let bytes = value.as_bytes(); + let mut index = 0; + while index < bytes.len() { + if bytes[index] == b'%' && index + 2 < bytes.len() { + if let Ok(hex) = u8::from_str_radix(&value[index + 1..index + 3], 16) { + decoded.push(hex); + index += 3; + continue; + } + } + decoded.push(if bytes[index] == b'+' { + b' ' + } else { + bytes[index] + }); + index += 1; + } + String::from_utf8_lossy(&decoded).into_owned() +} diff --git a/apps/geolibre-desktop/src-tauri/src/lib.rs b/apps/geolibre-desktop/src-tauri/src/lib.rs new file mode 100644 index 0000000..00d12c1 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/src/lib.rs @@ -0,0 +1,3083 @@ +mod earth_engine_oauth; +#[cfg(feature = "native-duckdb")] +mod native_duckdb; +#[cfg(not(feature = "native-duckdb"))] +mod native_duckdb { + #[tauri::command] + pub async fn count_native_vector_file_features( + _path: String, + _layer: Option, + ) -> Result { + Err("Native DuckDB is not enabled in this build.".to_string()) + } + + #[tauri::command] + pub async fn load_native_vector_file( + _path: String, + _layer: Option, + _override_source_crs: Option, + ) -> Result { + Err("Native DuckDB is not enabled in this build.".to_string()) + } +} + +use earth_engine_oauth::{ + poll_earth_engine_oauth, start_earth_engine_oauth, EarthEngineOAuthState, +}; +use flate2::read::{GzDecoder, ZlibDecoder}; +use rusqlite::{params, Connection, OpenFlags, OptionalExtension}; +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use std::collections::HashSet; +use std::env; +use std::fs::{self, File}; +use std::io::{Cursor, Read}; +use std::net::TcpListener; +use std::path::{Path, PathBuf}; +use std::process::{Child, Command, Stdio}; +use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::Mutex; +use std::thread; +use std::time::Duration; +use tauri::Manager; + +// OAuth popups are a desktop-only, multi-window concept; Android/iOS have no +// equivalent, and `WebviewWindowBuilder::{on_new_window, window_features}` do +// not exist on the mobile runtime. +#[cfg(desktop)] +static POPUP_COUNTER: AtomicU64 = AtomicU64::new(0); + +const MARTIN_VERSION: &str = "martin-v1.10.1"; +const MARTIN_RELEASE_BASE_URL: &str = "https://github.com/maplibre/martin/releases/download"; +const MARTIN_START_ATTEMPTS: usize = 3; +const MARTIN_HEALTH_ATTEMPTS: usize = 30; +const SIDECAR_HEALTH_ATTEMPTS: usize = 180; +const SIDECAR_PORT: u16 = 8765; +// The desktop JupyterLab server for the Notebook panel. Loopback-bound and +// token-gated; uses its own uv project environment so it never disturbs the +// FastAPI sidecar's env. First start can be slow while uv syncs JupyterLab. +const JUPYTER_PORT: u16 = 8766; +// Polled once per second, so up to ~4 minutes — generous headroom for the +// first-run `uv sync` of JupyterLab on a cold cache. +const JUPYTER_HEALTH_ATTEMPTS: usize = 240; +const UV_INSTALL_BASE_URL: &str = "https://astral.sh/uv"; +const REMOTE_TILE_TIMEOUT_SECS: u64 = 8; +const REMOTE_TILE_CONNECT_TIMEOUT_SECS: u64 = 4; +const URL_RESOLVE_TIMEOUT_SECS: u64 = 15; + +#[cfg(unix)] +const SIGTERM: i32 = 15; +#[cfg(unix)] +const SIGKILL: i32 = 9; + +#[cfg(unix)] +unsafe extern "C" { + fn kill(pid: i32, sig: i32) -> i32; +} + +struct MartinServerState { + process: Mutex>, +} + +struct SidecarServerState { + process: Mutex>, +} + +struct JupyterServerState { + process: Mutex>, + // Token of the currently running server, so a reuse path can hand the same + // URL back without restarting. + token: Mutex>, + // Held for the whole of start_jupyter_server_blocking so two concurrent + // start calls can't both spawn on the same port (the loser would exit 1). + startup: Mutex<()>, +} + +struct MartinProcess { + child: Child, +} + +struct SidecarProcess { + child: Child, +} + +struct JupyterProcess { + child: Child, +} + +#[derive(Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +struct ExternalPluginManifest { + id: String, + name: String, + version: String, + entry: String, + #[serde(skip_serializing_if = "Option::is_none")] + description: Option, + #[serde(skip_serializing_if = "Option::is_none")] + style: Option, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct ExternalPluginBundle { + archive_name: String, + manifest: ExternalPluginManifest, + entry_source: String, + style_source: Option, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct ExternalPluginBundleError { + archive_name: String, + message: String, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct ExternalPluginBundleLoadResult { + plugins_directories: Vec, + bundles: Vec, + errors: Vec, +} + +impl SidecarProcess { + fn terminate(&mut self) { + terminate_sidecar_child(&mut self.child); + } +} + +impl Drop for MartinProcess { + fn drop(&mut self) { + let _ = self.child.kill(); + let _ = self.child.wait(); + } +} + +impl Drop for SidecarProcess { + fn drop(&mut self) { + self.terminate(); + } +} + +impl JupyterProcess { + fn terminate(&mut self) { + // Same process-group teardown as the sidecar (the child is spawned with + // its own group, so this reaps `uv`/`jupyter`/kernel descendants). + terminate_sidecar_child(&mut self.child); + } +} + +impl Drop for JupyterProcess { + fn drop(&mut self) { + self.terminate(); + } +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + configure_linux_webkit(); + + tauri::Builder::default() + .plugin(tauri_plugin_dialog::init()) + .plugin(tauri_plugin_fs::init()) + // Must init after the fs plugin: it restores previously-granted fs + // scope (e.g. Browser-panel pinned folders) so they survive a restart. + // + // SECURITY / SCOPE NOTE (deliberate, maintainer-approved): this persists + // *every* dialog-granted fs scope for the life of the install, not just + // Browser-panel folder pins — "Open Vector File", "Open Raster", "Save + // Project As", etc. also extend fs scope to the picked path, and all of + // those now survive a restart. There is also no per-path "forget", so + // unpinning a folder in the Browser panel removes the UI pin but does + // not revoke its (persisted) read scope. Accepted for durable pins; + // revisit if a narrower per-source scope or a revoke path is wanted. + .plugin(tauri_plugin_persisted_scope::init()) + .plugin(tauri_plugin_http::init()) + .plugin(tauri_plugin_opener::init()) + .manage(EarthEngineOAuthState::default()) + .manage(MartinServerState { + process: Mutex::new(None), + }) + .manage(SidecarServerState { + process: Mutex::new(None), + }) + .manage(JupyterServerState { + process: Mutex::new(None), + token: Mutex::new(None), + startup: Mutex::new(()), + }) + .invoke_handler(tauri::generate_handler![ + close_oauth_popups, + native_duckdb::count_native_vector_file_features, + ensure_martin_binary, + fetch_url_bytes, + install_external_plugin_archive, + native_duckdb::load_native_vector_file, + load_external_plugin_bundles, + read_admin_profile, + read_env_vars, + read_local_file, + read_project_file, + read_shapefile_siblings, + resolve_url_redirect, + read_mbtiles_metadata, + read_mbtiles_tile, + start_martin_server, + stop_martin_server, + start_geolibre_sidecar, + stop_geolibre_sidecar, + start_jupyter_server, + stop_jupyter_server, + start_earth_engine_oauth, + poll_earth_engine_oauth + ]) + .setup(|app| { + create_main_window(app)?; + Ok(()) + }) + .run(tauri::generate_context!()) + .expect("error while running GeoLibre Desktop"); +} + +/// Whether `read_project_file` may read `path`: an absolute local path (POSIX +/// `/...` or a Windows drive-letter `C:\...`, never a UNC `\\host\share`), free +/// of `..` traversal, ending in a GeoLibre project extension — `.geolibre` or +/// `.geolibre.json`. These are the canonical formats `saveProject` writes and +/// `isGeoLibreProjectPath` recognizes in `tauri-io.ts`. +/// +/// Without this, the command was an arbitrary local-file reader: any webview JS +/// or loaded plugin could `invoke("read_project_file", { path: "~/.ssh/id_rsa" })` +/// and receive the contents. A bare `.json` extension is deliberately NOT +/// accepted: plenty of real secrets are JSON (GCP service-account keys, +/// `application_default_credentials.json`, editor/CLI configs with tokens), so +/// requiring the `.geolibre` marker keeps those out while still reading every +/// real project. Byte-oriented like `is_allowed_local_vector_path` so Windows +/// paths behave the same on any host. +pub(crate) fn is_allowed_project_path(path: &str) -> bool { + let bytes = path.as_bytes(); + let is_separator = |byte: u8| byte == b'/' || byte == b'\\'; + + // Reject UNC paths ("\\server\share" and "//server/share"). + if bytes.len() >= 2 && is_separator(bytes[0]) && is_separator(bytes[1]) { + return false; + } + + let is_posix_absolute = bytes.first() == Some(&b'/'); + let is_windows_drive = bytes.len() >= 3 + && bytes[0].is_ascii_alphabetic() + && bytes[1] == b':' + && is_separator(bytes[2]); + if !is_posix_absolute && !is_windows_drive { + return false; + } + + if path.split(['/', '\\']).any(|segment| segment == "..") { + return false; + } + + let lower = path.to_ascii_lowercase(); + lower.ends_with(".geolibre") || lower.ends_with(".geolibre.json") +} + +#[tauri::command] +fn read_project_file(path: String) -> Result { + if !is_allowed_project_path(&path) { + return Err(format!( + "Refusing to read \"{path}\": not an absolute local project file path" + )); + } + // Resolve symlinks and re-check the extension, so a symlink named + // `*.geolibre`/`*.geolibre.json` can't redirect the read to an arbitrary + // target (e.g. `~/notes.geolibre.json -> ~/.ssh/id_rsa`). Only the resolved + // extension is re-checked (not the full guard): `canonicalize` yields a + // `\\?\C:\…` verbatim path on Windows, which the UNC check would reject. + let canonical = + fs::canonicalize(&path).map_err(|error| format!("Could not read project file: {error}"))?; + let resolved = canonical.to_string_lossy().to_ascii_lowercase(); + if !(resolved.ends_with(".geolibre") || resolved.ends_with(".geolibre.json")) { + return Err(format!( + "Refusing to read \"{path}\": resolves to a non-project file" + )); + } + fs::read_to_string(&canonical).map_err(|error| format!("Could not read project file: {error}")) +} + +/// Local vector file extensions the restore path may re-read (lowercased, no +/// dot). Mirrors `VECTOR_FILE_DIALOG_EXTENSIONS` in `tauri-io.ts`; keep the two +/// in step. +// SYNC: VECTOR_FILE_DIALOG_EXTENSIONS in src/lib/tauri-io.ts — grep "SYNC:" to +// find the partner list and update both together. +const RESTORABLE_VECTOR_EXTENSIONS: [&str; 17] = [ + "geojson", + "json", + "gpkg", + "geoparquet", + "parquet", + "fgb", + "flatgeobuf", + "csv", + "tsv", + "kml", + "kmz", + "gml", + "gpx", + "dxf", + "tab", + "shp", + "zip", +]; + +/// Whether the renderer is permitted to re-read `path` through `read_local_file`: +/// an absolute local path (POSIX `/...` or a Windows drive-letter `C:\...`, never +/// a UNC `\\host\share`), free of `..` traversal segments, ending in a known +/// vector extension. +/// +/// This is a Rust-side backstop mirroring the frontend guard +/// (`isAbsoluteLocalPath` + `hasPathTraversal` + `isRestorableVectorPath` in +/// `tauri-io.ts`). It narrows the attack surface of a compromised webview or +/// rogue plugin: arbitrary system files (`/etc/passwd`, SSH keys, most shell and +/// app configs) are blocked. It does not make the command harmless — the +/// allowlist still includes broad extensions like `json`, so a script that knows +/// the path of a JSON-shaped secret could still read it — but it bounds reads to +/// the vector formats the restore path actually needs. The checks are +/// byte-oriented rather than `std::path` based so they behave identically for the +/// Windows-style paths a project may carry regardless of the host the binary +/// runs on. +pub(crate) fn is_allowed_local_vector_path(path: &str) -> bool { + // Absolute, non-UNC, no `..` traversal — split into `is_safe_absolute_path` + // so the security-relevant byte-parsing lives in one place rather than being + // duplicated. + if !is_safe_absolute_path(path) { + return false; + } + + // Known vector extension, case-insensitive, matching the JS + // `RESTORABLE_VECTOR_PATH` regex (built from `VECTOR_FILE_DIALOG_EXTENSIONS`). + // `rsplit_once` takes the text after the final dot without allocating. + let lower = path.to_ascii_lowercase(); + lower + .rsplit_once('.') + .is_some_and(|(_, extension)| RESTORABLE_VECTOR_EXTENSIONS.contains(&extension)) +} + +/// Read a local file's raw bytes so a project's file-referenced vector layers +/// can be re-read when the project is reopened. +/// +/// On reopen, a layer saved as a file reference carries only its absolute +/// `sourcePath` (stored in the `.geolibre.json`); that path was never picked or +/// dropped this session, so it sits outside the `fs` plugin's runtime scope and +/// the JS `readFile`/`readTextFile` reject it. This reads the file directly, +/// mirroring `read_project_file` (which bypasses the same scope to read the +/// project file itself). The path is validated here by +/// `is_allowed_local_vector_path` (absolute, no `..` traversal, known vector +/// extension) so the command cannot be abused to read arbitrary files even if +/// the frontend guard is bypassed. Bytes are returned as a raw IPC response (an +/// `ArrayBuffer` on the JS side) so a large GeoJSON does not pay the cost of a +/// JSON number array. +#[tauri::command] +fn read_local_file(path: String) -> Result { + if !is_allowed_local_vector_path(&path) { + return Err(format!( + "Refusing to read \"{path}\": not an absolute local vector file path" + )); + } + fs::read(&path) + .map(tauri::ipc::Response::new) + .map_err(|error| format!("Could not read local file: {error}")) +} + +/// Shapefile sidecar extensions read alongside a `.shp` (lowercased, no dot). +const SHAPEFILE_SIDECAR_EXTENSIONS: [&str; 16] = [ + "shx", "dbf", "prj", "cpg", "sbn", "sbx", "qix", "qpj", "cst", "aih", "ain", "atx", "ixs", + "mxs", "fbn", "fbx", +]; + +#[derive(Serialize)] +struct ShapefileSibling { + /// `.`, matching the `.shp` base name + /// so GDAL resolves the sidecar when reading the `.shp` directly. + name: String, + data: Vec, +} + +/// Read a shapefile's sidecar files (`.shx`, `.dbf`, `.prj`, `.cpg`, ...) sitting +/// next to the given `.shp`, so a loose `.shp` can be loaded without the user +/// selecting every component. +/// +/// The JS `fs` plugin can only read paths the user explicitly picked or dropped, +/// so it cannot reach a sidecar that was not selected; this reads them directly. +/// It is scoped to shapefile sidecar extensions, so it cannot read arbitrary +/// files. The directory is matched case-insensitively (handling `.SHX`/`.DBF` and +/// mixed-case base names), and each sidecar is returned under the `.shp`'s base +/// name with a lowercased extension so the registered names line up. Missing +/// siblings are skipped; an unreadable directory yields an empty list. +#[tauri::command] +fn read_shapefile_siblings(path: String) -> Result, String> { + let shp = Path::new(&path); + let Some(parent) = shp.parent() else { + return Ok(Vec::new()); + }; + let Some(stem) = shp.file_stem().and_then(|stem| stem.to_str()) else { + return Ok(Vec::new()); + }; + let entries = match fs::read_dir(parent) { + Ok(entries) => entries, + Err(_) => return Ok(Vec::new()), + }; + let mut siblings = Vec::new(); + for entry in entries.flatten() { + let entry_path = entry.path(); + if !entry_path.is_file() { + continue; + } + let (Some(entry_stem), Some(extension)) = ( + entry_path.file_stem().and_then(|stem| stem.to_str()), + entry_path + .extension() + .and_then(|extension| extension.to_str()), + ) else { + continue; + }; + if !entry_stem.eq_ignore_ascii_case(stem) { + continue; + } + let extension = extension.to_ascii_lowercase(); + if !SHAPEFILE_SIDECAR_EXTENSIONS.contains(&extension.as_str()) { + continue; + } + if let Ok(data) = fs::read(&entry_path) { + siblings.push(ShapefileSibling { + name: format!("{stem}.{extension}"), + data, + }); + } + } + Ok(siblings) +} + +/// Whether `path` is a safe absolute local path: an absolute POSIX (`/...`) or +/// Windows drive-letter (`C:\...`) path, never a UNC (`\\host\share`) share, and +/// free of `..` traversal segments. The shared absolute/non-UNC/no-traversal +/// guard behind [`is_allowed_local_vector_path`], kept separate so that +/// byte-parsing lives in one place rather than being duplicated per caller. +fn is_safe_absolute_path(path: &str) -> bool { + let bytes = path.as_bytes(); + let is_separator = |byte: u8| byte == b'/' || byte == b'\\'; + if bytes.len() >= 2 && is_separator(bytes[0]) && is_separator(bytes[1]) { + return false; + } + let is_posix_absolute = bytes.first() == Some(&b'/'); + let is_windows_drive = bytes.len() >= 3 + && bytes[0].is_ascii_alphabetic() + && bytes[1] == b':' + && is_separator(bytes[2]); + if !is_posix_absolute && !is_windows_drive { + return false; + } + !path.split(['/', '\\']).any(|segment| segment == "..") +} + +/// Read the optional admin UI-profile file (`/admin-profile.json`). +/// +/// Returns `Ok(None)` when the file is absent so a missing file is not an error; +/// administrators drop one in to pre-configure and optionally lock the UI profile +/// for a deployment. See `docs/ui-profiles.md`. +#[tauri::command] +fn read_admin_profile(app: tauri::AppHandle) -> Result, String> { + let config_dir = app + .path() + .app_config_dir() + .map_err(|error| format!("Could not resolve config directory: {error}"))?; + let path = config_dir.join("admin-profile.json"); + match fs::read_to_string(&path) { + Ok(contents) => Ok(Some(contents)), + Err(error) if error.kind() == std::io::ErrorKind::NotFound => Ok(None), + Err(error) => Err(format!("Could not read admin profile: {error}")), + } +} + +/// The only environment variable names `read_env_vars` will ever return. This +/// is a hard, server-side boundary: external plugins and any other JavaScript +/// run in the same (unsandboxed) webview can `invoke("read_env_vars", …)` with +/// arbitrary names, so the allowlist cannot live in the frontend alone or a +/// malicious caller could exfiltrate unrelated shell secrets (SSH_AUTH_SOCK, +/// GITHUB_TOKEN, ambient cloud credentials, …). Kept in sync with +/// `OS_ENV_VAR_NAMES` in `apps/geolibre-desktop/src/lib/assistant/provider.ts` +/// — the `assistant-os-env` test parses this list and asserts the two match. +const ALLOWED_ENV_VARS: &[&str] = &[ + "GEOLIBRE_ASSISTANT_PROVIDER", + "GEOLIBRE_ASSISTANT_MODEL", + "GEMINI_API_KEY", + "GOOGLE_API_KEY", + "GOOGLE_GENAI_API_KEY", + "ANTHROPIC_API_KEY", + "OPENAI_API_KEY", + "OLLAMA_BASE_URL", + "OLLAMA_MODEL", + "OPENAI_COMPATIBLE_BASE_URL", + "OPENAI_COMPATIBLE_API_KEY", + "OPENAI_COMPATIBLE_MODEL", + "TAVILY_API_KEY", +]; + +/// Read the AI Assistant's allowlisted variables from the OS environment. +/// +/// Only names in `ALLOWED_ENV_VARS` that the caller requests are returned, +/// and only when present and non-empty, so the desktop app never leaks the full +/// process environment — nor any variable outside the allowlist — into the +/// webview. This lets the assistant source provider API keys from the user's +/// system/shell environment instead of the project file (issue #1141), keeping +/// secrets out of the saved `.geolibre.json`. +#[tauri::command] +fn read_env_vars(names: Vec) -> std::collections::HashMap { + names + .into_iter() + .filter(|name| ALLOWED_ENV_VARS.contains(&name.as_str())) + .filter_map(|name| { + let value = env::var(&name).ok()?; + let trimmed = value.trim(); + if trimmed.is_empty() { + None + } else { + Some((name, trimmed.to_string())) + } + }) + .collect() +} + +#[tauri::command] +fn close_oauth_popups(app: tauri::AppHandle) { + for window in app.webview_windows().values() { + let is_oauth_popup = window.label().starts_with("oauthPopup") + || window + .title() + .map(|title| { + title.contains("Earth Engine sign-in") + || title.contains("accounts.google.com") + || title.contains("Google") + }) + .unwrap_or(false); + if is_oauth_popup { + let _ = window.close(); + } + } +} + +/// Error surfaced when a fetch would reach a blocked address. +const SSRF_BLOCKED_MESSAGE: &str = + "Refusing to fetch a link-local, unspecified, or multicast address"; + +/// Whether an IP sits in a range a webview- or plugin-triggered fetch must not +/// reach. This is the SSRF guard for [`fetch_url_bytes`] and +/// [`resolve_url_redirect`]: those commands issue requests from the desktop +/// process's network position and hand the body/redirect back to the webview, so +/// without this a rogue plugin could read cloud metadata (169.254.169.254) — the +/// classic SSRF target — that browser `fetch` cannot reach because of CORS. +/// +/// Loopback and private/LAN ranges are deliberately NOT blocked: the app is +/// built to load XYZ tiles, COGs, and PMTiles from a user's own +/// `http://localhost:` or LAN dev server (issue #387), and these commands +/// are the desktop fetch path for that data. Blocking them would break a +/// documented workflow. Sensitive loopback services (the Python sidecar, the +/// Jupyter server) are individually token-gated, so the residual reachability of +/// loopback/LAN is acceptable; link-local/metadata, which has no such guard, is +/// blocked. +fn is_disallowed_ip(ip: std::net::IpAddr) -> bool { + use std::net::IpAddr; + match ip { + IpAddr::V4(v4) => { + v4.is_link_local() // 169.254.0.0/16 (incl. cloud metadata) + || v4.is_unspecified() // 0.0.0.0 + || v4.is_broadcast() + || v4.is_multicast() + } + IpAddr::V6(v6) => { + if let Some(mapped) = v6.to_ipv4_mapped() { + return is_disallowed_ip(IpAddr::V4(mapped)); + } + let segments = v6.segments(); + // Deprecated IPv4-compatible form `::a.b.c.d` (all-zero 96-bit + // prefix, no `ffff` marker, and not `::`/`::1`). `to_ipv4_mapped` + // only covers `::ffff:a.b.c.d`, so classify the embedded IPv4 here + // too — otherwise `::169.254.169.254` would slip past the guard. + if segments[..6].iter().all(|&s| s == 0) && !(segments[6] == 0 && segments[7] <= 1) { + let embedded = std::net::Ipv4Addr::new( + (segments[6] >> 8) as u8, + (segments[6] & 0xff) as u8, + (segments[7] >> 8) as u8, + (segments[7] & 0xff) as u8, + ); + return is_disallowed_ip(IpAddr::V4(embedded)); + } + // Not handled: 6to4 (2002::/16) and Teredo (2001::/32) also embed an + // IPv4 address, so e.g. 2002:a9fe:a9fe:: could reach 169.254.169.254. + // These transition mechanisms are effectively defunct and unrouted on + // modern hosts, so the practical risk is negligible; noted so this + // isn't mistaken for full coverage of every IPv4-embedding form. + v6.is_unspecified() + || v6.is_multicast() + // fe80::/10 link-local + || (segments[0] & 0xffc0) == 0xfe80 + } + } +} + +/// Reject a parsed URL that is non-HTTP(S) or whose host resolves to a +/// private/loopback/link-local address. Hostname hosts are resolved and rejected +/// if *any* resolved address is disallowed, so a name that points at an internal +/// IP cannot slip through. +fn url_is_fetchable(url: &reqwest::Url) -> Result<(), String> { + use std::net::ToSocketAddrs; + match url.scheme() { + "http" | "https" => {} + other => return Err(format!("Unsupported URL scheme: {other}")), + } + let host = url + .host_str() + .ok_or_else(|| "URL has no host".to_string())?; + let bare = host.trim_start_matches('[').trim_end_matches(']'); + if let Ok(ip) = bare.parse::() { + return if is_disallowed_ip(ip) { + Err(SSRF_BLOCKED_MESSAGE.to_string()) + } else { + Ok(()) + }; + } + let port = url.port_or_known_default().unwrap_or(0); + let mut resolved_any = false; + for addr in (bare, port) + .to_socket_addrs() + .map_err(|error| format!("Could not resolve host {bare}: {error}"))? + { + resolved_any = true; + if is_disallowed_ip(addr.ip()) { + return Err(SSRF_BLOCKED_MESSAGE.to_string()); + } + } + if resolved_any { + Ok(()) + } else { + Err(format!("Could not resolve host {bare}")) + } +} + +/// Parse and SSRF-validate a URL string before a request is issued. +fn ensure_fetchable_url(url: &str) -> Result<(), String> { + let parsed = reqwest::Url::parse(url).map_err(|error| format!("Invalid URL: {error}"))?; + url_is_fetchable(&parsed) +} + +/// A redirect policy that re-applies [`url_is_fetchable`] to every hop, so a +/// public URL that 3xx-redirects to an internal address is not followed. +fn guarded_redirect_policy() -> reqwest::redirect::Policy { + reqwest::redirect::Policy::custom(|attempt| { + if attempt.previous().len() >= 10 { + return attempt.stop(); + } + match url_is_fetchable(attempt.url()) { + Ok(()) => attempt.follow(), + Err(_) => attempt.stop(), + } + }) +} + +/// A DNS resolver that drops any address in a blocked range, so reqwest connects +/// only to IPs that passed [`is_disallowed_ip`]. +/// +/// [`url_is_fetchable`] validates the host *before* the request, but reqwest +/// re-resolves the name when it opens the connection, so a check-then-connect +/// gap remains: an attacker controlling DNS (short TTL) could answer the +/// pre-check with a public IP and the actual connection with `169.254.169.254`. +/// Enforcing the filter inside the resolver reqwest actually uses — for the +/// initial request and every redirect hop — closes that rebinding window. +struct GuardedDnsResolver; + +impl reqwest::dns::Resolve for GuardedDnsResolver { + fn resolve(&self, name: reqwest::dns::Name) -> reqwest::dns::Resolving { + use std::net::ToSocketAddrs; + Box::pin(async move { + let host = name.as_str().to_string(); + // std getaddrinfo blocks, but these are low-volume tile/URL fetches. + let resolved = (host.as_str(), 0u16).to_socket_addrs(); + let addrs: Vec = match resolved { + Ok(iter) => iter.filter(|addr| !is_disallowed_ip(addr.ip())).collect(), + Err(error) => { + return Err(Box::new(error) as Box); + } + }; + if addrs.is_empty() { + return Err(SSRF_BLOCKED_MESSAGE.into()); + } + Ok(Box::new(addrs.into_iter()) as reqwest::dns::Addrs) + }) + } +} + +/// Build a blocking HTTP client that enforces the SSRF guard at connect time +/// (via [`GuardedDnsResolver`]) and re-validates redirect hops. +fn guarded_http_client(timeout: Duration) -> Result { + reqwest::blocking::Client::builder() + .timeout(timeout) + .connect_timeout(Duration::from_secs(REMOTE_TILE_CONNECT_TIMEOUT_SECS)) + .redirect(guarded_redirect_policy()) + .dns_resolver(std::sync::Arc::new(GuardedDnsResolver)) + .user_agent("GeoLibre Desktop") + .build() + .map_err(|error| format!("Could not create HTTP client: {error}")) +} + +#[tauri::command] +async fn fetch_url_bytes(url: String) -> Result, String> { + tauri::async_runtime::spawn_blocking(move || fetch_url_bytes_blocking(url)) + .await + .map_err(|error| format!("Tile fetch task failed: {error}"))? +} + +fn fetch_url_bytes_blocking(url: String) -> Result, String> { + ensure_fetchable_url(&url)?; + + let client = guarded_http_client(Duration::from_secs(REMOTE_TILE_TIMEOUT_SECS))?; + + let response = client + .get(&url) + .send() + .map_err(|error| format!("Request failed: {error}"))?; + let status = response.status(); + if !status.is_success() { + return Err(format!("Request failed with status {status}")); + } + + response + .bytes() + .map(|bytes| bytes.to_vec()) + .map_err(|error| format!("Could not read response body: {error}")) +} + +/// Install a packaged plugin from a local `.zip` archive into GeoLibre's +/// app-data `plugins/` directory so it persists across restarts and is picked up +/// by the regular plugin scan. The archive is validated first (parsing +/// `plugin.json`, enforcing the manifest rules, and confirming the entry and +/// optional style are present and within the size limit), so only a loadable +/// plugin lands in the plugins directory. Returns the installed plugin id. +#[tauri::command] +async fn install_external_plugin_archive( + app: tauri::AppHandle, + source_path: String, +) -> Result { + tauri::async_runtime::spawn_blocking(move || { + install_external_plugin_archive_blocking(&app, source_path) + }) + .await + .map_err(|error| format!("Plugin install task failed: {error}"))? +} + +fn install_external_plugin_archive_blocking( + app: &tauri::AppHandle, + source_path: String, +) -> Result { + let source = PathBuf::from(&source_path); + if !is_zip_path(&source) { + return Err("Plugin file must be a .zip archive".to_string()); + } + + // Validate the archive up front by loading it the same way the startup scan + // does; this rejects a malformed manifest, a missing/oversized entry, or an + // unsafe asset path before any file is written. + let bundle = load_external_plugin_archive(&source, &source_path)?; + let plugin_id = bundle.manifest.id; + + let plugins_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("plugins"); + fs::create_dir_all(&plugins_dir) + .map_err(|error| format!("Could not create plugins directory: {error}"))?; + + let destination = plugins_dir.join(plugin_archive_file_name(&plugin_id)); + + // Reinstalling from a file already inside the plugins directory (e.g. the + // user re-selects the installed copy) would otherwise truncate the source + // mid-copy. Treat the no-op copy as a successful install. + let same_file = source + .canonicalize() + .ok() + .zip(destination.canonicalize().ok()) + .map(|(from, to)| from == to) + .unwrap_or(false); + if !same_file { + fs::copy(&source, &destination) + .map_err(|error| format!("Could not install plugin archive: {error}"))?; + } + + Ok(plugin_id) +} + +/// Build a filesystem-safe `.zip` name for an installed plugin archive. +/// +/// The manifest `id` is validated for emptiness and whitespace but not for +/// filesystem safety, so any character outside `[A-Za-z0-9._-]` is replaced with +/// `_` and leading dots are stripped to keep the name from escaping the plugins +/// directory or producing a hidden file. Using the id as the file name gives a +/// reinstall natural overwrite semantics. +fn plugin_archive_file_name(id: &str) -> String { + let sanitized: String = id + .chars() + .map(|character| { + if character.is_ascii_alphanumeric() + || character == '-' + || character == '_' + || character == '.' + { + character + } else { + '_' + } + }) + .collect(); + let trimmed = sanitized.trim_start_matches('.'); + let safe = if trimmed.is_empty() { + "plugin" + } else { + trimmed + }; + format!("{safe}.zip") +} + +#[tauri::command] +async fn load_external_plugin_bundles( + app: tauri::AppHandle, + additional_plugin_directories: Vec, +) -> Result { + tauri::async_runtime::spawn_blocking(move || { + load_external_plugin_bundles_blocking(&app, additional_plugin_directories) + }) + .await + .map_err(|error| format!("External plugin scan task failed: {error}"))? +} + +fn load_external_plugin_bundles_blocking( + app: &tauri::AppHandle, + additional_plugin_directories: Vec, +) -> Result { + let plugins_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("plugins"); + + fs::create_dir_all(&plugins_dir) + .map_err(|error| format!("Could not create plugins directory: {error}"))?; + + let mut plugin_dirs = Vec::new(); + let mut seen_dirs = HashSet::new(); + for directory in additional_plugin_directories { + let directory = directory.trim(); + if directory.is_empty() { + continue; + } + let path = PathBuf::from(directory); + let key = normalize_path_key(&path); + if seen_dirs.insert(key) { + plugin_dirs.push(path); + } + } + if seen_dirs.insert(normalize_path_key(&plugins_dir)) { + plugin_dirs.push(plugins_dir); + } + + let mut bundles = Vec::new(); + let mut errors = Vec::new(); + for plugin_dir in &plugin_dirs { + scan_external_plugin_directory(plugin_dir, &mut bundles, &mut errors); + } + + Ok(ExternalPluginBundleLoadResult { + plugins_directories: plugin_dirs + .iter() + .map(|path| path.to_string_lossy().to_string()) + .collect(), + bundles, + errors, + }) +} + +fn normalize_path_key(path: &Path) -> String { + // Canonicalize so symlinks and case differences on case-insensitive file + // systems (Windows, macOS) dedupe to one key; fall back to the raw path + // when it does not exist yet. + let canonical = path.canonicalize().unwrap_or_else(|_| path.to_path_buf()); + canonical.to_string_lossy().replace('\\', "/") +} + +fn scan_external_plugin_directory( + plugin_dir: &Path, + bundles: &mut Vec, + errors: &mut Vec, +) { + if !plugin_dir.exists() { + // User-configured development directories may not exist yet; the app + // data plugins directory is always created before scanning. Skip + // silently instead of warning on every startup. + return; + } + + if plugin_dir.join("plugin.json").is_file() { + let bundle_name = plugin_dir.to_string_lossy().to_string(); + match load_external_plugin_directory(plugin_dir, &bundle_name) { + Ok(bundle) => bundles.push(bundle), + Err(message) => errors.push(ExternalPluginBundleError { + archive_name: bundle_name, + message, + }), + } + return; + } + + let mut entries = match fs::read_dir(plugin_dir) { + Ok(entries) => entries.filter_map(Result::ok).collect::>(), + Err(error) => { + errors.push(ExternalPluginBundleError { + archive_name: plugin_dir.to_string_lossy().to_string(), + message: format!("Could not read plugins directory: {error}"), + }); + return; + } + }; + entries.sort_by_key(|entry| entry.file_name().to_string_lossy().to_string()); + + for entry in entries { + let path = entry.path(); + // Resolve through path metadata rather than the directory entry so + // symlinked zips and plugin directories are followed, not skipped. + let metadata = match path.metadata() { + Ok(metadata) => metadata, + Err(error) => { + errors.push(ExternalPluginBundleError { + archive_name: path.to_string_lossy().to_string(), + message: format!("Could not inspect plugin entry: {error}"), + }); + continue; + } + }; + + if metadata.is_file() && is_zip_path(&path) { + let bundle_name = path.to_string_lossy().to_string(); + match load_external_plugin_archive(&path, &bundle_name) { + Ok(bundle) => bundles.push(bundle), + Err(message) => errors.push(ExternalPluginBundleError { + archive_name: bundle_name, + message, + }), + } + } else if metadata.is_dir() && path.join("plugin.json").is_file() { + let bundle_name = path.to_string_lossy().to_string(); + match load_external_plugin_directory(&path, &bundle_name) { + Ok(bundle) => bundles.push(bundle), + Err(message) => errors.push(ExternalPluginBundleError { + archive_name: bundle_name, + message, + }), + } + } + } +} + +fn is_zip_path(path: &Path) -> bool { + path.extension() + .and_then(|extension| extension.to_str()) + .is_some_and(|extension| extension.eq_ignore_ascii_case("zip")) +} + +fn load_external_plugin_archive( + path: &Path, + archive_name: &str, +) -> Result { + let file = File::open(path).map_err(|error| format!("Could not open zip: {error}"))?; + let mut archive = + zip::ZipArchive::new(file).map_err(|error| format!("Could not read zip: {error}"))?; + // Tolerate a wrapping folder (`my-plugin/plugin.json`) as produced by zipping + // a plugin directory, not just a root `plugin.json`. The entry/style paths + // then resolve against the manifest's own directory. + let manifest_path = find_zip_manifest_path(&archive) + .ok_or_else(|| "Plugin archive is missing a plugin.json".to_string())?; + let prefix = manifest_path + .strip_suffix("plugin.json") + .unwrap_or("") + .to_string(); + let manifest_text = read_zip_text_entry(&mut archive, &manifest_path, "plugin manifest")?; + let manifest: ExternalPluginManifest = serde_json::from_str(&manifest_text) + .map_err(|error| format!("Could not parse plugin.json: {error}"))?; + validate_external_plugin_manifest(&manifest)?; + + let entry_source = read_zip_text_entry( + &mut archive, + &format!("{prefix}{}", manifest.entry), + "plugin entry", + )?; + let style_source = match manifest.style.as_deref() { + Some(style) => Some(read_zip_text_entry( + &mut archive, + &format!("{prefix}{style}"), + "plugin style", + )?), + None => None, + }; + + Ok(ExternalPluginBundle { + archive_name: archive_name.to_string(), + manifest, + entry_source, + style_source, + }) +} + +/// Find plugin.json inside a zip, tolerating a single wrapping folder. Prefers a +/// root `plugin.json`, otherwise returns the shallowest `*/plugin.json`, ignoring +/// the `__MACOSX/` metadata folder macOS adds to archives. Returns the manifest's +/// full path within the archive, or None when no plugin.json is present. +fn find_zip_manifest_path(archive: &zip::ZipArchive) -> Option { + let names: Vec<&str> = archive.file_names().collect(); + if names.iter().any(|name| *name == "plugin.json") { + return Some("plugin.json".to_string()); + } + let mut best: Option<&str> = None; + let mut best_depth = usize::MAX; + for name in names { + if name.starts_with("__MACOSX/") || !name.ends_with("/plugin.json") { + continue; + } + let depth = name.matches('/').count(); + if depth < best_depth || (depth == best_depth && best.is_none_or(|b| name < b)) { + best = Some(name); + best_depth = depth; + } + } + best.map(str::to_string) +} + +fn load_external_plugin_directory( + path: &Path, + archive_name: &str, +) -> Result { + let manifest_text = read_fs_text_entry(path, "plugin.json", "plugin manifest")?; + let manifest: ExternalPluginManifest = serde_json::from_str(&manifest_text) + .map_err(|error| format!("Could not parse plugin.json: {error}"))?; + validate_external_plugin_manifest(&manifest)?; + + let entry_source = read_fs_text_entry(path, &manifest.entry, "plugin entry")?; + let style_source = match manifest.style.as_deref() { + Some(style) => Some(read_fs_text_entry(path, style, "plugin style")?), + None => None, + }; + + Ok(ExternalPluginBundle { + archive_name: archive_name.to_string(), + manifest, + entry_source, + style_source, + }) +} + +fn read_fs_text_entry(root: &Path, entry_name: &str, label: &str) -> Result { + let entry_path = root.join(entry_name); + if !entry_path.is_file() { + return Err(format!( + "Could not read {label} '{entry_name}': file does not exist" + )); + } + + let file = File::open(&entry_path) + .map_err(|error| format!("Could not read {label} '{entry_name}': {error}"))?; + let mut text = String::new(); + file.take(MAX_PLUGIN_ENTRY_BYTES + 1) + .read_to_string(&mut text) + .map_err(|error| format!("Could not read {label} '{entry_name}' as UTF-8: {error}"))?; + if text.len() as u64 > MAX_PLUGIN_ENTRY_BYTES { + return Err(format!( + "{label} '{entry_name}' exceeds the {}-MB size limit", + MAX_PLUGIN_ENTRY_BYTES / (1024 * 1024) + )); + } + Ok(text) +} + +const MAX_PLUGIN_ENTRY_BYTES: u64 = 50 * 1024 * 1024; + +fn read_zip_text_entry( + archive: &mut zip::ZipArchive, + entry_name: &str, + label: &str, +) -> Result { + let entry = archive + .by_name(entry_name) + .map_err(|error| format!("Could not read {label} '{entry_name}': {error}"))?; + if entry.is_dir() { + return Err(format!("{label} '{entry_name}' must be a file")); + } + + // Cap the actual bytes read instead of trusting the zip header size, + // which a hand-crafted archive can spoof. + let mut text = String::new(); + entry + .take(MAX_PLUGIN_ENTRY_BYTES + 1) + .read_to_string(&mut text) + .map_err(|error| format!("Could not read {label} '{entry_name}' as UTF-8: {error}"))?; + if text.len() as u64 > MAX_PLUGIN_ENTRY_BYTES { + return Err(format!( + "{label} '{entry_name}' exceeds the {}-MB size limit", + MAX_PLUGIN_ENTRY_BYTES / (1024 * 1024) + )); + } + Ok(text) +} + +fn validate_external_plugin_manifest(manifest: &ExternalPluginManifest) -> Result<(), String> { + validate_required_manifest_string("id", &manifest.id)?; + validate_required_manifest_string("name", &manifest.name)?; + validate_required_manifest_string("version", &manifest.version)?; + validate_required_manifest_string("entry", &manifest.entry)?; + validate_external_plugin_path("entry", &manifest.entry)?; + if !manifest.entry.ends_with(".js") && !manifest.entry.ends_with(".mjs") { + return Err("entry must point to a .js or .mjs file".to_string()); + } + + if let Some(description) = manifest.description.as_deref() { + validate_optional_manifest_string("description", description)?; + } + if let Some(style) = manifest.style.as_deref() { + validate_optional_manifest_string("style", style)?; + validate_external_plugin_path("style", style)?; + if !style.ends_with(".css") { + return Err("style must point to a .css file".to_string()); + } + } + + Ok(()) +} + +fn validate_required_manifest_string(field: &str, value: &str) -> Result<(), String> { + if value.trim().is_empty() { + return Err(format!("{field} must not be empty")); + } + if value.trim() != value { + return Err(format!( + "{field} must not have leading or trailing whitespace" + )); + } + Ok(()) +} + +fn validate_optional_manifest_string(field: &str, value: &str) -> Result<(), String> { + if value.trim() != value { + return Err(format!( + "{field} must not have leading or trailing whitespace" + )); + } + Ok(()) +} + +fn validate_external_plugin_path(field: &str, value: &str) -> Result<(), String> { + if value.starts_with('/') { + return Err(format!("{field} must be a relative path")); + } + if value.contains('\\') { + return Err(format!("{field} must use forward slashes")); + } + if value.contains(':') { + return Err(format!( + "{field} must not contain drive letters or ':' characters" + )); + } + if value + .split('/') + .any(|part| part.is_empty() || part == "." || part == "..") + { + return Err(format!( + "{field} must not contain empty, '.', or '..' segments" + )); + } + Ok(()) +} + +#[tauri::command] +async fn resolve_url_redirect(url: String) -> Result { + tauri::async_runtime::spawn_blocking(move || resolve_url_redirect_blocking(url)) + .await + .map_err(|error| format!("URL resolve task failed: {error}"))? +} + +fn resolve_url_redirect_blocking(url: String) -> Result { + ensure_fetchable_url(&url)?; + + let client = guarded_http_client(Duration::from_secs(URL_RESOLVE_TIMEOUT_SECS))?; + + if let Ok(head_response) = client.head(&url).send() { + if has_xyz_placeholders(head_response.url().as_str()) { + return Ok(head_response.url().to_string()); + } + } + + let response = client + .get(&url) + .header("accept", "application/json, text/plain;q=0.9, */*;q=0.8") + .send() + .map_err(|error| format!("Request failed: {error}"))?; + if has_xyz_placeholders(response.url().as_str()) { + return Ok(response.url().to_string()); + } + + let body = response + .text() + .map_err(|error| format!("Could not read response body: {error}"))?; + + resolved_url_from_body(&body).ok_or_else(|| "Could not resolve URL".to_string()) +} + +fn has_xyz_placeholders(url: &str) -> bool { + let normalized = url.to_ascii_lowercase(); + (normalized.contains("{z}") || normalized.contains("%7bz%7d")) + && (normalized.contains("{x}") || normalized.contains("%7bx%7d")) + && (normalized.contains("{y}") || normalized.contains("%7by%7d")) +} + +fn resolved_url_from_body(body: &str) -> Option { + let trimmed = body.trim(); + if trimmed.starts_with("https://") || trimmed.starts_with("http://") { + return Some(trimmed.to_string()); + } + + let value: Value = serde_json::from_str(trimmed).ok()?; + resolved_url_from_json(&value) +} + +fn resolved_url_from_json(value: &Value) -> Option { + if let Some(url) = value.as_str() { + return http_url(url); + } + + let object = value.as_object()?; + for key in ["url", "tileUrl", "tile_url"] { + if let Some(url) = object.get(key).and_then(Value::as_str).and_then(http_url) { + return Some(url); + } + } + + object + .get("tiles") + .and_then(Value::as_array) + .and_then(|tiles| tiles.first()) + .and_then(Value::as_str) + .and_then(http_url) +} + +fn http_url(url: &str) -> Option { + if url.starts_with("https://") || url.starts_with("http://") { + Some(url.to_string()) + } else { + None + } +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct MartinBinaryInfo { + path: String, + downloaded: bool, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct MartinServerInfo { + base_url: String, + binary_path: String, + port: u16, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct SidecarServerInfo { + base_url: String, + port: u16, + /// Per-launch bearer token the frontend must send on every sidecar request + /// (see [`sidecar_token`]). + token: String, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct JupyterServerInfo { + url: String, + port: u16, + token: String, +} + +#[tauri::command] +fn ensure_martin_binary(app: tauri::AppHandle) -> Result { + ensure_martin_binary_path(&app) +} + +#[tauri::command] +async fn start_martin_server( + app: tauri::AppHandle, + connection_string: String, + default_srid: Option, +) -> Result { + tauri::async_runtime::spawn_blocking(move || { + start_martin_server_blocking(app, connection_string, default_srid) + }) + .await + .map_err(|error| format!("Could not join Martin startup task: {error}"))? +} + +fn start_martin_server_blocking( + app: tauri::AppHandle, + connection_string: String, + default_srid: Option, +) -> Result { + if connection_string.trim().is_empty() { + return Err("Enter a PostgreSQL connection string.".to_string()); + } + + let binary = ensure_martin_binary_path(&app)?; + let state = app.state::(); + { + let process = state + .process + .lock() + .map_err(|_| "Could not lock Martin process state.".to_string())?; + if process.is_some() { + return Err( + "A Martin server is already running. Stop it before starting a new one." + .to_string(), + ); + } + } + + let mut last_error = "Could not start Martin.".to_string(); + for _ in 0..MARTIN_START_ATTEMPTS { + match spawn_martin_server( + &binary.path, + connection_string.trim(), + default_srid.as_deref(), + ) { + Ok(info) => { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock Martin process state.".to_string())?; + if process.is_some() { + drop(info.process); + return Err( + "A Martin server is already running. Stop it before starting a new one." + .to_string(), + ); + } + *process = Some(info.process); + return Ok(MartinServerInfo { + base_url: info.base_url, + binary_path: binary.path, + port: info.port, + }); + } + Err(error) => { + last_error = error; + } + } + } + + Err(last_error) +} + +#[tauri::command] +fn stop_martin_server(state: tauri::State) -> Result<(), String> { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock Martin process state.".to_string())?; + *process = None; + Ok(()) +} + +#[tauri::command] +async fn start_geolibre_sidecar(app: tauri::AppHandle) -> Result { + tauri::async_runtime::spawn_blocking(move || start_geolibre_sidecar_blocking(app)) + .await + .map_err(|error| format!("Could not join sidecar startup task: {error}"))? +} + +fn start_geolibre_sidecar_blocking(app: tauri::AppHandle) -> Result { + let base_url = sidecar_base_url(); + let state = app.state::(); + { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock sidecar process state.".to_string())?; + if let Some(sidecar) = process.as_mut() { + if sidecar + .child + .try_wait() + .map_err(|error| format!("Could not inspect sidecar process: {error}"))? + .is_none() + { + return Ok(SidecarServerInfo { + base_url, + port: SIDECAR_PORT, + token: sidecar_token().to_string(), + }); + } + *process = None; + } + } + + if sidecar_health_is_ready(&base_url) { + if sidecar_accepts_token(&base_url, sidecar_token()) { + return Ok(SidecarServerInfo { + base_url, + port: SIDECAR_PORT, + token: sidecar_token().to_string(), + }); + } + // A sidecar is listening but rejects this session's token — an orphan + // from a previous launch still holding the port. We can't reclaim it + // (no child handle here, and /shutdown is token-protected), so fail with + // a clear message rather than handing back a token that 401s every call. + return Err( + "A GeoLibre processing server from a previous session is still \ + running on port 8765 but does not accept this session's token. \ + Quit any stray GeoLibre processes and try again." + .to_string(), + ); + } + + let uv = ensure_managed_uv(&app)?; + let project_dir = sidecar_project_dir(&app)?; + let runtime_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("runtime"); + + let mut command = Command::new(&uv); + command + .arg("run") + .arg("--project") + .arg(&project_dir) + // The AI segmentation `/ml` endpoints proxy to samgeo-api from inside + // this main sidecar process and need `httpx`, which lives in the `ml` + // extra. Unlike whitebox/conversion (separate managed venvs), ml has no + // lazy bootstrap, so the extra must be synced into the sidecar env here. + .arg("--extra") + .arg("ml") + .arg("uvicorn") + .arg("geolibre_server.app.main:app") + .arg("--host") + .arg("127.0.0.1") + .arg("--port") + .arg(SIDECAR_PORT.to_string()) + .current_dir(&project_dir) + .env("GEOLIBRE_UV", &uv) + .env("GEOLIBRE_SIDECAR_TOKEN", sidecar_token()) + .env("GEOLIBRE_RUNTIME_DIR", &runtime_dir) + .env("UV_CACHE_DIR", runtime_dir.join("uv-cache")) + .env("UV_PYTHON_INSTALL_DIR", runtime_dir.join("uv-python")) + .env("UV_PROJECT_ENVIRONMENT", runtime_dir.join("sidecar-server")) + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); + configure_sidecar_process(&mut command); + + let mut child = command + .spawn() + .map_err(|error| format!("Could not start GeoLibre sidecar: {error}"))?; + + if let Err(error) = wait_for_sidecar_health(&base_url, &mut child) { + terminate_sidecar_child(&mut child); + return Err(error); + } + + let _ = child.stdout.take(); + let _ = child.stderr.take(); + + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock sidecar process state.".to_string())?; + if process.is_some() { + let mut duplicate = SidecarProcess { child }; + duplicate.terminate(); + } else { + *process = Some(SidecarProcess { child }); + } + + Ok(SidecarServerInfo { + base_url, + port: SIDECAR_PORT, + token: sidecar_token().to_string(), + }) +} + +#[tauri::command] +async fn stop_geolibre_sidecar(app: tauri::AppHandle) -> Result<(), String> { + tauri::async_runtime::spawn_blocking(move || stop_geolibre_sidecar_blocking(app)) + .await + .map_err(|error| format!("Could not join sidecar stop task: {error}"))? +} + +fn stop_geolibre_sidecar_blocking(app: tauri::AppHandle) -> Result<(), String> { + let state = app.state::(); + { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock sidecar process state.".to_string())?; + // SidecarProcess::Drop calls terminate() automatically, so taking the + // value out is enough to tear down the child. Calling terminate() here + // as well would double-signal the (possibly recycled) process group. + let taken = process.take(); + drop(process); // release the MutexGuard before the 250 ms SIGTERM grace + drop(taken); // terminate() runs here, outside the lock + } + + let base_url = sidecar_base_url(); + if sidecar_health_is_ready(&base_url) { + request_sidecar_shutdown(&base_url); + wait_for_sidecar_stop(&base_url); + } + if sidecar_health_is_ready(&base_url) { + terminate_sidecar_listeners_on_port(SIDECAR_PORT)?; + wait_for_sidecar_stop(&base_url); + } + if sidecar_health_is_ready(&base_url) { + return Err(format!( + "GeoLibre sidecar is still running on port {SIDECAR_PORT}." + )); + } + Ok(()) +} + +#[tauri::command] +async fn start_jupyter_server(app: tauri::AppHandle) -> Result { + tauri::async_runtime::spawn_blocking(move || start_jupyter_server_blocking(app)) + .await + .map_err(|error| format!("Could not join Jupyter startup task: {error}"))? +} + +fn start_jupyter_server_blocking(app: tauri::AppHandle) -> Result { + let state = app.state::(); + // Serialize the whole startup. Concurrent calls (e.g. React StrictMode + // double-invoking the Notebook panel's mount effect in dev) would otherwise + // both pass the reuse check below and both spawn on JUPYTER_PORT; with + // `--port-retries=0` the loser fails to bind and exits 1. The second caller + // blocks here, then finds the live process in the reuse check and returns it. + let _startup = state + .startup + .lock() + .map_err(|_| "Could not lock Jupyter startup.".to_string())?; + // Reuse an already-running server: hand back the same URL + token. + { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock Jupyter process state.".to_string())?; + if let Some(server) = process.as_mut() { + if server + .child + .try_wait() + .map_err(|error| format!("Could not inspect Jupyter process: {error}"))? + .is_none() + { + let token = state + .token + .lock() + .map_err(|_| "Could not lock Jupyter token.".to_string())? + .clone() + .unwrap_or_default(); + return Ok(JupyterServerInfo { + url: jupyter_base_url(), + port: JUPYTER_PORT, + token, + }); + } + *process = None; + } + } + + // A Jupyter server from a previous app session may still hold the port. We + // can't reuse it (its per-launch token is unknown to us), and because we + // spawn with `--ServerApp.port_retries=0`, a new server would fail to bind + // and exit 1 ("exited before it was ready") while the orphan lingers. Clear + // any stale listener and wait for the port to free before spawning. + let _ = terminate_jupyter_listeners_on_port(JUPYTER_PORT); + wait_for_port_free(JUPYTER_PORT); + + let uv = ensure_managed_uv(&app)?; + let project_dir = sidecar_project_dir(&app)?; + let config_path = project_dir.join("jupyter_server_config.py"); + let runtime_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("runtime"); + // Notebooks are saved here (the JupyterLab file browser root). + let notebooks_dir = runtime_dir.join("notebooks"); + let _ = fs::create_dir_all(¬ebooks_dir); + // Seed the starter Welcome notebook (the same one bundled into JupyterLite on + // web) on first run only, so we never clobber a user's edits. + let welcome_dest = notebooks_dir.join("Welcome.ipynb"); + if !welcome_dest.exists() { + let _ = fs::copy( + project_dir.join("notebook_examples").join("Welcome.ipynb"), + &welcome_dest, + ); + } + // Make the kernel-side `geolibre` client importable from any notebook: copy + // it out of the bundled backend resource into a dedicated lib dir placed on + // the kernel's PYTHONPATH (so `import geolibre` works regardless of where the + // notebook lives). + let lib_dir = runtime_dir.join("notebook-lib"); + let _ = fs::create_dir_all(&lib_dir); + let _ = fs::copy( + project_dir.join("notebook_client.py"), + lib_dir.join("geolibre.py"), + ); + let token = generate_jupyter_token(); + + let mut command = Command::new(&uv); + command + .arg("run") + .arg("--project") + .arg(&project_dir) + // The `notebook` extra carries JupyterLab. Synced into a dedicated + // project environment so it never disturbs the FastAPI sidecar's env + // (which syncs the `ml` extra). + .arg("--extra") + .arg("notebook") + .arg("jupyter") + .arg("lab") + .arg("--no-browser") + .arg(format!("--config={}", config_path.display())) + .arg("--ServerApp.ip=127.0.0.1") + .arg(format!("--ServerApp.port={JUPYTER_PORT}")) + // Fail fast instead of hopping to another port we'd never discover. + .arg("--ServerApp.port_retries=0") + .arg(format!("--ServerApp.root_dir={}", notebooks_dir.display())) + .arg(format!("--IdentityProvider.token={token}")) + .current_dir(&project_dir) + .env("GEOLIBRE_UV", &uv) + .env("GEOLIBRE_RUNTIME_DIR", &runtime_dir) + .env("UV_CACHE_DIR", runtime_dir.join("uv-cache")) + .env("UV_PYTHON_INSTALL_DIR", runtime_dir.join("uv-python")) + .env("UV_PROJECT_ENVIRONMENT", runtime_dir.join("jupyter-server")) + // Prepend the bundled `geolibre` client to the kernel import path, + // preserving any inherited PYTHONPATH rather than replacing it. + .env("PYTHONPATH", prepend_pythonpath(&lib_dir)) + .stdin(Stdio::null()) + // Inherit (don't capture) stdout/stderr. Unlike the sidecar's quiet + // uvicorn, `uv sync` of JupyterLab + JupyterLab's own startup write a lot; + // a captured 64 KB pipe we don't drain during the health wait would fill + // and block the child, so it would never become ready. Inheriting also + // surfaces the logs in the dev terminal for debugging. + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()); + configure_sidecar_process(&mut command); + + let mut child = command + .spawn() + .map_err(|error| format!("Could not start Jupyter server: {error}"))?; + + let base_url = jupyter_base_url(); + if let Err(error) = wait_for_jupyter_health(&base_url, &token, &mut child) { + terminate_sidecar_child(&mut child); + return Err(error); + } + + // We hold the startup lock, so no concurrent start could have stored a + // process; record ours as the live server. + *state + .process + .lock() + .map_err(|_| "Could not lock Jupyter process state.".to_string())? = + Some(JupyterProcess { child }); + *state + .token + .lock() + .map_err(|_| "Could not lock Jupyter token.".to_string())? = Some(token.clone()); + + Ok(JupyterServerInfo { + url: base_url, + port: JUPYTER_PORT, + token, + }) +} + +#[tauri::command] +async fn stop_jupyter_server(app: tauri::AppHandle) -> Result<(), String> { + tauri::async_runtime::spawn_blocking(move || stop_jupyter_server_blocking(app)) + .await + .map_err(|error| format!("Could not join Jupyter stop task: {error}"))? +} + +fn stop_jupyter_server_blocking(app: tauri::AppHandle) -> Result<(), String> { + let state = app.state::(); + { + let mut process = state + .process + .lock() + .map_err(|_| "Could not lock Jupyter process state.".to_string())?; + // JupyterProcess::Drop terminates the child's process group; taking the + // value out is enough (see stop_geolibre_sidecar_blocking). + let taken = process.take(); + drop(process); + drop(taken); + } + if let Ok(mut token) = state.token.lock() { + *token = None; + } + // Backstop: reap anything still bound to the port (no-op on non-unix and + // when nothing is listening). + terminate_jupyter_listeners_on_port(JUPYTER_PORT)?; + Ok(()) +} + +fn jupyter_base_url() -> String { + format!("http://127.0.0.1:{JUPYTER_PORT}") +} + +// Wait (briefly) until `port` can be bound, i.e. a just-terminated listener has +// fully released it. Binding then dropping leaves a small race window, but it is +// enough to avoid a `--port-retries=0` bind failure right after killing an orphan. +fn wait_for_port_free(port: u16) { + for _ in 0..20 { + if TcpListener::bind(("127.0.0.1", port)).is_ok() { + return; + } + thread::sleep(Duration::from_millis(100)); + } +} + +// Prepend `dir` to any inherited PYTHONPATH (platform separator), so a user's +// existing value is preserved rather than clobbered. +fn prepend_pythonpath(dir: &Path) -> String { + let dir = dir.display().to_string(); + match env::var("PYTHONPATH") { + Ok(existing) if !existing.is_empty() => { + let sep = if cfg!(windows) { ";" } else { ":" }; + format!("{dir}{sep}{existing}") + } + _ => dir, + } +} + +fn jupyter_health_is_ready( + client: &reqwest::blocking::Client, + base_url: &str, + token: &str, +) -> bool { + client + .get(format!("{base_url}/api/status")) + .header("Authorization", format!("token {token}")) + .send() + .map(|response| response.status().is_success()) + .unwrap_or(false) +} + +fn wait_for_jupyter_health(base_url: &str, token: &str, child: &mut Child) -> Result<(), String> { + // Build the HTTP client once and reuse it across all health polls (this loop + // runs up to JUPYTER_HEALTH_ATTEMPTS = 240 times). + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_millis(500)) + .build() + .map_err(|error| format!("Could not build HTTP client: {error}"))?; + for _ in 0..JUPYTER_HEALTH_ATTEMPTS { + if let Some(status) = child + .try_wait() + .map_err(|error| format!("Could not inspect Jupyter process: {error}"))? + { + // Output is inherited (visible in the terminal), not captured, so we + // surface only the exit status here. + return Err(format!( + "Jupyter server exited before it was ready (exit status: {status}). \ + Check the terminal for the Jupyter/uv startup output." + )); + } + + if jupyter_health_is_ready(&client, base_url, token) { + return Ok(()); + } + + thread::sleep(Duration::from_secs(1)); + } + + Err("Jupyter server did not become ready in time.".to_string()) +} + +// A loopback-bound, per-launch token for the desktop Jupyter server. It is the +// only barrier once the XSRF check is disabled for the embedded iframe (see +// jupyter_server_config.py), so use the OS CSPRNG (128 random bits) rather than +// anything derived from the clock/pid. +fn generate_jupyter_token() -> String { + let mut bytes = [0u8; 16]; + getrandom::fill(&mut bytes).expect("OS CSPRNG (getrandom) unavailable"); + let mut token = String::with_capacity(32); + for byte in bytes { + use std::fmt::Write; + let _ = write!(token, "{byte:02x}"); + } + token +} + +fn sidecar_base_url() -> String { + format!("http://127.0.0.1:{SIDECAR_PORT}") +} + +/// A per-launch shared secret the frontend must present on every sidecar +/// request. The sidecar binds loopback and is CORS-restricted, but neither stops +/// a cross-origin simple POST (CSRF) or a DNS-rebinding read; this token does. +/// +/// Generated once per desktop process (128 CSPRNG bits) and reused for the +/// process lifetime so the early-return paths of `start_geolibre_sidecar` (when +/// the sidecar is already running) hand back the same token that was injected +/// via `GEOLIBRE_SIDECAR_TOKEN` at spawn time. A sidecar started outside this +/// process (e.g. a `python -m` dev run) leaves the env var unset and simply does +/// not enforce the token, so those flows keep working. +fn sidecar_token() -> &'static str { + static TOKEN: std::sync::OnceLock = std::sync::OnceLock::new(); + TOKEN.get_or_init(generate_jupyter_token) +} + +fn sidecar_health_is_ready(base_url: &str) -> bool { + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_millis(500)) + .build(); + let Ok(client) = client else { + return false; + }; + client + .get(format!("{base_url}/health")) + .send() + .map(|response| response.status().is_success()) + .unwrap_or(false) +} + +/// Whether the sidecar already listening at `base_url` accepts `token`. +/// +/// `/health` is token-exempt, so it cannot reveal a token mismatch. This probes +/// `/algorithms` (a cheap authenticated endpoint) *with* the token so an orphan +/// sidecar from a previous launch — started with a different per-launch token, +/// and not killed because `Drop` doesn't run on `SIGKILL` — is detected rather +/// than silently 401ing every later request. A tokenless dev sidecar +/// (`GEOLIBRE_SIDECAR_TOKEN` unset) accepts any header and returns 200, so it is +/// still reused. +fn sidecar_accepts_token(base_url: &str, token: &str) -> bool { + let Ok(client) = reqwest::blocking::Client::builder() + .timeout(Duration::from_millis(500)) + .build() + else { + return false; + }; + client + .get(format!("{base_url}/algorithms")) + .header("x-geolibre-token", token) + .send() + .map(|response| response.status().is_success()) + .unwrap_or(false) +} + +fn request_sidecar_shutdown(base_url: &str) { + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_millis(500)) + .build(); + if let Ok(client) = client { + // /shutdown is token-protected (only /health is exempt), so attach this + // session's token. This shuts down a sidecar we started or adopted (same + // token); a true cross-launch orphan (different token) 401s and falls + // through to the force-kill path, as before. + let _ = client + .post(format!("{base_url}/shutdown")) + .header("x-geolibre-token", sidecar_token()) + .send(); + } +} + +fn wait_for_sidecar_stop(base_url: &str) { + for _ in 0..20 { + if !sidecar_health_is_ready(base_url) { + return; + } + thread::sleep(Duration::from_millis(100)); + } +} + +fn wait_for_sidecar_health(base_url: &str, child: &mut Child) -> Result<(), String> { + for _ in 0..SIDECAR_HEALTH_ATTEMPTS { + if let Some(status) = child + .try_wait() + .map_err(|error| format!("Could not inspect sidecar process: {error}"))? + { + let output = read_child_output(child); + return Err(if output.trim().is_empty() { + format!("GeoLibre sidecar exited before it was ready: {status}") + } else { + format!("GeoLibre sidecar exited before it was ready: {output}") + }); + } + + if sidecar_health_is_ready(base_url) { + return Ok(()); + } + + thread::sleep(Duration::from_secs(1)); + } + + Err("GeoLibre sidecar did not become ready in time.".to_string()) +} + +fn configure_sidecar_process(command: &mut Command) { + configure_sidecar_process_impl(command); +} + +#[cfg(unix)] +fn configure_sidecar_process_impl(command: &mut Command) { + use std::os::unix::process::CommandExt; + + command.process_group(0); +} + +#[cfg(not(unix))] +fn configure_sidecar_process_impl(_command: &mut Command) {} + +fn terminate_sidecar_child(child: &mut Child) { + terminate_sidecar_process_group(child); + let _ = child.kill(); + let _ = child.wait(); +} + +#[cfg(unix)] +fn terminate_sidecar_process_group(child: &mut Child) { + // Guard the negation: a PID that wrapped to a non-positive i32 would make + // `kill` target process group 0 (the caller's own group, including the + // Tauri parent) or overflow on i32::MIN. + let Some(process_group) = i32::try_from(child.id()) + .ok() + .filter(|pid| *pid > 0) + .and_then(|pid| pid.checked_neg()) + else { + return; + }; + let _ = unsafe { kill(process_group, SIGTERM) }; + thread::sleep(Duration::from_millis(250)); + let _ = unsafe { kill(process_group, SIGKILL) }; +} + +#[cfg(not(unix))] +fn terminate_sidecar_process_group(_child: &mut Child) {} + +#[cfg(target_os = "linux")] +fn terminate_sidecar_listeners_on_port(port: u16) -> Result<(), String> { + terminate_listeners_on_port(port, is_geolibre_sidecar_process) +} + +// Reap a stale Jupyter server that still holds the port (e.g. orphaned by a +// non-graceful exit of a previous app session). Recognized by its cmdline so we +// never touch an unrelated jupyter (the user's own JupyterHub, etc.). +#[cfg(target_os = "linux")] +fn terminate_jupyter_listeners_on_port(port: u16) -> Result<(), String> { + terminate_listeners_on_port(port, is_geolibre_jupyter_process) +} + +// Known gap: this is a no-op on macOS/Windows (the /proc-based listener lookup is +// Linux-only). The current session's child is still reaped on exit via +// JupyterProcess::Drop, but an orphan left by a *previous* crashed session can +// keep holding the port there, in which case the next launch fails to bind and +// surfaces "exited before it was ready". A cross-platform port-owner lookup +// (e.g. lsof on macOS) would be needed to close this. +#[cfg(not(target_os = "linux"))] +fn terminate_jupyter_listeners_on_port(_port: u16) -> Result<(), String> { + Ok(()) +} + +// Kill the processes listening on `port` that `is_ours` recognizes (SIGTERM then +// SIGKILL). The `is_ours` guard prevents killing an unrelated process that +// happens to hold the port. +#[cfg(target_os = "linux")] +fn terminate_listeners_on_port(port: u16, is_ours: fn(i32) -> bool) -> Result<(), String> { + let inodes = listening_tcp_inodes(port)?; + if inodes.is_empty() { + return Ok(()); + } + + let mut pids = HashSet::new(); + for entry in fs::read_dir("/proc").map_err(|error| format!("Could not read /proc: {error}"))? { + let entry = entry.map_err(|error| format!("Could not read /proc entry: {error}"))?; + let Some(pid) = entry + .file_name() + .to_str() + .and_then(|value| value.parse::().ok()) + else { + continue; + }; + if process_has_socket(pid, &inodes)? && is_ours(pid) { + pids.insert(pid); + } + } + + for pid in &pids { + terminate_pid(*pid, SIGTERM); + } + thread::sleep(Duration::from_millis(250)); + for pid in &pids { + terminate_pid(*pid, SIGKILL); + } + Ok(()) +} + +#[cfg(not(target_os = "linux"))] +fn terminate_sidecar_listeners_on_port(_port: u16) -> Result<(), String> { + Ok(()) +} + +#[cfg(target_os = "linux")] +fn listening_tcp_inodes(port: u16) -> Result, String> { + let mut inodes = HashSet::new(); + collect_listening_tcp_inodes("/proc/net/tcp", port, &mut inodes)?; + collect_listening_tcp_inodes("/proc/net/tcp6", port, &mut inodes)?; + Ok(inodes) +} + +#[cfg(target_os = "linux")] +fn collect_listening_tcp_inodes( + path: &str, + port: u16, + inodes: &mut HashSet, +) -> Result<(), String> { + let content = + fs::read_to_string(path).map_err(|error| format!("Could not read {path}: {error}"))?; + let expected_port = format!("{port:04X}"); + for line in content.lines().skip(1) { + let fields: Vec<&str> = line.split_whitespace().collect(); + if fields.len() <= 9 || fields[3] != "0A" { + continue; + } + let Some(local_port) = fields[1].rsplit_once(':').map(|(_, value)| value) else { + continue; + }; + if local_port.eq_ignore_ascii_case(&expected_port) { + inodes.insert(fields[9].to_string()); + } + } + Ok(()) +} + +#[cfg(target_os = "linux")] +fn process_has_socket(pid: i32, inodes: &HashSet) -> Result { + let fd_dir = format!("/proc/{pid}/fd"); + let Ok(entries) = fs::read_dir(&fd_dir) else { + return Ok(false); + }; + for entry in entries { + let Ok(entry) = entry else { + continue; // process may have exited between the /proc scan and this read + }; + let Ok(target) = fs::read_link(entry.path()) else { + continue; + }; + let target = target.to_string_lossy(); + if let Some(inode) = target + .strip_prefix("socket:[") + .and_then(|value| value.strip_suffix(']')) + { + if inodes.contains(inode) { + return Ok(true); + } + } + } + Ok(false) +} + +#[cfg(target_os = "linux")] +fn is_geolibre_sidecar_process(pid: i32) -> bool { + let path = format!("/proc/{pid}/cmdline"); + let Ok(command_line) = fs::read(path) else { + return false; + }; + let command_line = String::from_utf8_lossy(&command_line); + command_line.contains("geolibre_server.app.main") + || command_line.contains("geolibre_server/app") +} + +// Recognize OUR Jupyter server (started by start_jupyter_server) by the bundled +// config path on its command line — specific enough not to match the user's own +// jupyter/JupyterHub processes. +#[cfg(target_os = "linux")] +fn is_geolibre_jupyter_process(pid: i32) -> bool { + let path = format!("/proc/{pid}/cmdline"); + let Ok(command_line) = fs::read(path) else { + return false; + }; + let command_line = String::from_utf8_lossy(&command_line); + command_line.contains("jupyter_server_config.py") && command_line.contains("geolibre_server") +} + +#[cfg(unix)] +fn terminate_pid(pid: i32, signal: i32) { + let _ = unsafe { kill(pid, signal) }; +} + +fn sidecar_project_dir(app: &tauri::AppHandle) -> Result { + if let Ok(path) = env::var("GEOLIBRE_SIDECAR_PROJECT_DIR") { + return validate_sidecar_project_dir(PathBuf::from(path)); + } + + if let Ok(resource_dir) = app.path().resource_dir() { + if let Ok(path) = + validate_sidecar_project_dir(resource_dir.join("backend").join("geolibre_server")) + { + return Ok(path); + } + if let Ok(path) = validate_sidecar_project_dir(resource_dir.join("geolibre_server")) { + return Ok(path); + } + } + + validate_sidecar_project_dir( + PathBuf::from(env!("CARGO_MANIFEST_DIR")) + .join("..") + .join("..") + .join("..") + .join("backend") + .join("geolibre_server"), + ) +} + +fn validate_sidecar_project_dir(path: PathBuf) -> Result { + let path = path + .canonicalize() + .map_err(|error| format!("Could not resolve sidecar project path: {error}"))?; + if path.join("pyproject.toml").exists() { + Ok(path) + } else { + Err(format!( + "Could not find GeoLibre sidecar project at {}", + path.display() + )) + } +} + +fn ensure_managed_uv(app: &tauri::AppHandle) -> Result { + if let Ok(path) = env::var("GEOLIBRE_UV") { + let path = PathBuf::from(path); + if path.exists() { + return Ok(path); + } + } + + if let Some(path) = find_executable_on_path(uv_executable_name()) { + return Ok(path); + } + + install_managed_uv(app) +} + +fn install_managed_uv(app: &tauri::AppHandle) -> Result { + let uv_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("runtime") + .join("uv-bin"); + let uv = uv_dir.join(uv_executable_name()); + if uv.exists() { + return Ok(uv); + } + + fs::create_dir_all(&uv_dir) + .map_err(|error| format!("Could not create uv cache directory: {error}"))?; + let script = download_uv_installer(app)?; + let mut command = if cfg!(target_os = "windows") { + let mut command = Command::new("powershell"); + command + .arg("-NoProfile") + .arg("-ExecutionPolicy") + .arg("Bypass") + .arg("-File") + .arg(&script); + command + } else { + let mut command = Command::new("sh"); + command.arg(&script); + command + }; + let output = command + .env("UV_UNMANAGED_INSTALL", &uv_dir) + .output() + .map_err(|error| format!("Could not run uv installer: {error}"))?; + let _ = fs::remove_file(script); + if !output.status.success() { + let detail = String::from_utf8_lossy(if output.stderr.is_empty() { + &output.stdout + } else { + &output.stderr + }); + return Err(format!("uv installer failed: {detail}")); + } + if !uv.exists() { + return Err(format!("uv installer did not create {}", uv.display())); + } + Ok(uv) +} + +fn download_uv_installer(app: &tauri::AppHandle) -> Result { + let url = if cfg!(target_os = "windows") { + format!("{UV_INSTALL_BASE_URL}/install.ps1") + } else { + format!("{UV_INSTALL_BASE_URL}/install.sh") + }; + let response = reqwest::blocking::Client::builder() + .user_agent("GeoLibre Desktop") + .build() + .map_err(|error| format!("Could not create HTTP client: {error}"))? + .get(url) + .send() + .map_err(|error| format!("Could not download uv installer: {error}"))?; + let status = response.status(); + if !status.is_success() { + return Err(format!("uv installer download failed with status {status}")); + } + let extension = if cfg!(target_os = "windows") { + "ps1" + } else { + "sh" + }; + let installer_dir = app + .path() + .app_cache_dir() + .map_err(|error| format!("Could not resolve app cache directory: {error}"))? + .join("installers"); + fs::create_dir_all(&installer_dir) + .map_err(|error| format!("Could not create installer cache directory: {error}"))?; + let script = installer_dir.join(format!("uv-install.{extension}")); + fs::write( + &script, + response + .bytes() + .map_err(|error| format!("Could not read uv installer: {error}"))?, + ) + .map_err(|error| format!("Could not write uv installer: {error}"))?; + Ok(script) +} + +fn uv_executable_name() -> &'static str { + if cfg!(target_os = "windows") { + "uv.exe" + } else { + "uv" + } +} + +fn find_executable_on_path(name: &str) -> Option { + let path = env::var_os("PATH")?; + env::split_paths(&path) + .map(|directory| directory.join(name)) + .find(|candidate| candidate.is_file() && is_executable(candidate)) +} + +#[cfg(unix)] +fn is_executable(path: &std::path::Path) -> bool { + use std::os::unix::fs::PermissionsExt; + path.metadata() + .map(|metadata| metadata.permissions().mode() & 0o111 != 0) + .unwrap_or(false) +} + +#[cfg(not(unix))] +fn is_executable(_path: &std::path::Path) -> bool { + true +} + +fn ensure_martin_binary_path(app: &tauri::AppHandle) -> Result { + let asset_name = martin_asset_name()?; + let executable_name = martin_executable_name(); + let martin_dir = app + .path() + .app_data_dir() + .map_err(|error| format!("Could not resolve app data directory: {error}"))? + .join("martin") + .join(MARTIN_VERSION) + .join( + asset_name + .trim_end_matches(".tar.gz") + .trim_end_matches(".zip"), + ); + let binary_path = martin_dir.join(executable_name); + let temp_binary_path = martin_dir.join(format!("{executable_name}.download")); + + if binary_path.exists() { + return Ok(MartinBinaryInfo { + path: binary_path.to_string_lossy().to_string(), + downloaded: false, + }); + } + + fs::create_dir_all(&martin_dir) + .map_err(|error| format!("Could not create Martin cache directory: {error}"))?; + let _ = fs::remove_file(&temp_binary_path); + let archive = download_martin_asset(asset_name)?; + if let Err(error) = extract_martin_binary(&archive, asset_name, &temp_binary_path) + .and_then(|_| make_executable(&temp_binary_path)) + .and_then(|_| { + fs::rename(&temp_binary_path, &binary_path) + .map_err(|error| format!("Could not install Martin binary: {error}")) + }) + { + let _ = fs::remove_file(&temp_binary_path); + return Err(error); + } + + Ok(MartinBinaryInfo { + path: binary_path.to_string_lossy().to_string(), + downloaded: true, + }) +} + +fn martin_asset_name() -> Result<&'static str, String> { + if cfg!(target_os = "linux") && cfg!(target_arch = "x86_64") { + return Ok("martin-x86_64-unknown-linux-musl.tar.gz"); + } + if cfg!(target_os = "linux") && cfg!(target_arch = "aarch64") { + return Ok("martin-aarch64-unknown-linux-musl.tar.gz"); + } + if cfg!(target_os = "macos") && cfg!(target_arch = "aarch64") { + return Ok("martin-aarch64-apple-darwin.tar.gz"); + } + if cfg!(target_os = "macos") && cfg!(target_arch = "x86_64") { + return Ok("martin-x86_64-apple-darwin.tar.gz"); + } + if cfg!(target_os = "windows") && cfg!(target_arch = "x86_64") { + return Ok("martin-x86_64-pc-windows-msvc.zip"); + } + + Err("No Martin binary release is available for this platform.".to_string()) +} + +fn martin_executable_name() -> &'static str { + if cfg!(target_os = "windows") { + "martin.exe" + } else { + "martin" + } +} + +fn download_martin_asset(asset_name: &str) -> Result, String> { + let url = format!("{MARTIN_RELEASE_BASE_URL}/{MARTIN_VERSION}/{asset_name}"); + let response = reqwest::blocking::Client::builder() + .user_agent("GeoLibre Desktop") + .build() + .map_err(|error| format!("Could not create HTTP client: {error}"))? + .get(url) + .send() + .map_err(|error| format!("Could not download Martin: {error}"))?; + let status = response.status(); + if !status.is_success() { + return Err(format!("Martin download failed with status {status}")); + } + + response + .bytes() + .map(|bytes| bytes.to_vec()) + .map_err(|error| format!("Could not read Martin download: {error}")) +} + +fn extract_martin_binary( + archive: &[u8], + asset_name: &str, + binary_path: &Path, +) -> Result<(), String> { + if asset_name.ends_with(".zip") { + extract_martin_binary_from_zip(archive, binary_path) + } else { + extract_martin_binary_from_tar_gz(archive, binary_path) + } +} + +fn extract_martin_binary_from_tar_gz(archive: &[u8], binary_path: &Path) -> Result<(), String> { + let decoder = GzDecoder::new(Cursor::new(archive)); + let mut archive = tar::Archive::new(decoder); + let executable_name = martin_executable_name(); + let entries = archive + .entries() + .map_err(|error| format!("Could not read Martin archive: {error}"))?; + + for entry in entries { + let mut entry = entry.map_err(|error| format!("Could not read Martin archive: {error}"))?; + let path = entry + .path() + .map_err(|error| format!("Could not read Martin archive path: {error}"))?; + if path.file_name().and_then(|name| name.to_str()) != Some(executable_name) { + continue; + } + + copy_archive_entry_to_path(&mut entry, binary_path)?; + return Ok(()); + } + + Err("Martin archive did not contain the expected executable.".to_string()) +} + +fn extract_martin_binary_from_zip(archive: &[u8], binary_path: &Path) -> Result<(), String> { + let reader = Cursor::new(archive); + let mut archive = zip::ZipArchive::new(reader) + .map_err(|error| format!("Could not read Martin zip: {error}"))?; + let executable_name = martin_executable_name(); + + for index in 0..archive.len() { + let mut file = archive + .by_index(index) + .map_err(|error| format!("Could not read Martin zip entry: {error}"))?; + let path = PathBuf::from(file.name()); + if path.file_name().and_then(|name| name.to_str()) != Some(executable_name) { + continue; + } + + copy_archive_entry_to_path(&mut file, binary_path)?; + return Ok(()); + } + + Err("Martin zip did not contain the expected executable.".to_string()) +} + +fn copy_archive_entry_to_path(reader: &mut R, path: &Path) -> Result<(), String> { + let mut output = + File::create(path).map_err(|error| format!("Could not create Martin binary: {error}"))?; + if let Err(error) = std::io::copy(reader, &mut output) { + let _ = fs::remove_file(path); + return Err(format!("Could not extract Martin binary: {error}")); + } + Ok(()) +} + +#[cfg(unix)] +fn make_executable(path: &Path) -> Result<(), String> { + use std::os::unix::fs::PermissionsExt; + + let mut permissions = fs::metadata(path) + .map_err(|error| format!("Could not read Martin binary permissions: {error}"))? + .permissions(); + permissions.set_mode(0o755); + fs::set_permissions(path, permissions) + .map_err(|error| format!("Could not mark Martin executable: {error}")) +} + +#[cfg(not(unix))] +fn make_executable(_path: &Path) -> Result<(), String> { + Ok(()) +} + +struct SpawnedMartinServer { + base_url: String, + port: u16, + process: MartinProcess, +} + +fn spawn_martin_server( + binary_path: &str, + connection_string: &str, + default_srid: Option<&str>, +) -> Result { + let listener = TcpListener::bind("127.0.0.1:0") + .map_err(|error| format!("Could not reserve a local Martin port: {error}"))?; + let port = listener + .local_addr() + .map(|address| address.port()) + .map_err(|error| format!("Could not read local Martin port: {error}"))?; + let listen_address = format!("127.0.0.1:{port}"); + let base_url = format!("http://127.0.0.1:{port}"); + let mut command = Command::new(binary_path); + command + .arg("-l") + .arg(&listen_address) + .env("DATABASE_URL", connection_string) + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); + + if let Some(default_srid) = default_srid + .map(str::trim) + .filter(|value| !value.is_empty()) + { + command.env("DEFAULT_SRID", default_srid); + } + + drop(listener); + let mut child = command + .spawn() + .map_err(|error| format!("Could not start Martin: {error}"))?; + + if let Err(error) = wait_for_martin_health(&base_url, &mut child) { + let _ = child.kill(); + let _ = child.wait(); + return Err(error); + } + + let _ = child.stdout.take(); + let _ = child.stderr.take(); + + Ok(SpawnedMartinServer { + base_url, + port, + process: MartinProcess { child }, + }) +} + +fn wait_for_martin_health(base_url: &str, child: &mut Child) -> Result<(), String> { + let health_url = format!("{base_url}/health"); + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_millis(500)) + .build() + .map_err(|error| format!("Could not create HTTP client: {error}"))?; + + for _ in 0..MARTIN_HEALTH_ATTEMPTS { + if let Some(status) = child + .try_wait() + .map_err(|error| format!("Could not inspect Martin process: {error}"))? + { + let output = read_child_output(child); + return Err(if output.trim().is_empty() { + format!("Martin exited before it was ready: {status}") + } else { + format!("Martin exited before it was ready: {output}") + }); + } + + if client + .get(&health_url) + .send() + .map(|response| response.status().is_success()) + .unwrap_or(false) + { + return Ok(()); + } + + thread::sleep(Duration::from_millis(100)); + } + + Err("Martin did not become ready in time.".to_string()) +} + +fn read_child_output(child: &mut Child) -> String { + let mut output = String::new(); + if let Some(mut stdout) = child.stdout.take() { + let _ = stdout.read_to_string(&mut output); + } + if let Some(mut stderr) = child.stderr.take() { + let _ = stderr.read_to_string(&mut output); + } + output +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct MbtilesMetadata { + name: String, + format: String, + tile_type: String, + source_layers: Vec, + min_zoom: Option, + max_zoom: Option, + bounds: Option<[f64; 4]>, + center: Option<[f64; 3]>, + scheme: String, +} + +#[tauri::command] +fn read_mbtiles_metadata(path: String) -> Result { + let connection = open_mbtiles(&path)?; + let metadata = read_metadata_rows(&connection)?; + let fallback_name = Path::new(&path) + .file_stem() + .and_then(|name| name.to_str()) + .unwrap_or("MBTiles Layer") + .to_string(); + let format = metadata + .get("format") + .map(|value| value.to_ascii_lowercase()) + .unwrap_or_else(|| "pbf".to_string()); + let tile_type = match format.as_str() { + "pbf" | "mvt" | "protobuf" => "vector", + _ => "raster", + } + .to_string(); + + Ok(MbtilesMetadata { + name: metadata + .get("name") + .filter(|value| !value.trim().is_empty()) + .cloned() + .unwrap_or(fallback_name), + format, + tile_type, + source_layers: read_vector_source_layers(metadata.get("json")), + min_zoom: metadata + .get("minzoom") + .and_then(|value| value.parse::().ok()), + max_zoom: metadata + .get("maxzoom") + .and_then(|value| value.parse::().ok()), + bounds: metadata.get("bounds").and_then(|value| parse_bounds(value)), + center: metadata.get("center").and_then(|value| parse_center(value)), + scheme: metadata + .get("scheme") + .map(|value| value.to_ascii_lowercase()) + .unwrap_or_else(|| "tms".to_string()), + }) +} + +#[tauri::command] +fn read_mbtiles_tile(path: String, z: u32, x: u32, y: u32) -> Result, String> { + let connection = open_mbtiles(&path)?; + let scheme = read_metadata_value(&connection, "scheme")? + .map(|value| value.to_ascii_lowercase()) + .unwrap_or_else(|| "tms".to_string()); + let tile_row = if scheme == "xyz" { + i64::from(y) + } else { + let row_count = 1_i64 + .checked_shl(z) + .ok_or_else(|| "Tile zoom level is too large".to_string())?; + row_count - 1 - i64::from(y) + }; + if tile_row < 0 { + return Ok(Vec::new()); + } + + let tile_data = connection + .query_row( + "SELECT tile_data FROM tiles WHERE zoom_level = ?1 AND tile_column = ?2 AND tile_row = ?3", + params![i64::from(z), i64::from(x), tile_row], + |row| row.get::<_, Vec>(0), + ) + .optional() + .map_err(|error| format!("Could not read MBTiles tile: {error}"))?; + + Ok(tile_data + .map(decompress_tile_data) + .transpose()? + .unwrap_or_default()) +} + +fn open_mbtiles(path: &str) -> Result { + if !Path::new(path).exists() { + return Err("The selected MBTiles file does not exist".to_string()); + } + + Connection::open_with_flags(path, OpenFlags::SQLITE_OPEN_READ_ONLY) + .map_err(|error| format!("Could not open MBTiles file: {error}")) +} + +fn read_metadata_rows( + connection: &Connection, +) -> Result, String> { + let mut statement = connection + .prepare("SELECT name, value FROM metadata") + .map_err(|error| format!("Could not read MBTiles metadata: {error}"))?; + let rows = statement + .query_map([], |row| { + Ok((row.get::<_, String>(0)?, row.get::<_, String>(1)?)) + }) + .map_err(|error| format!("Could not query MBTiles metadata: {error}"))?; + + let mut metadata = std::collections::HashMap::new(); + for row in rows { + let (name, value) = + row.map_err(|error| format!("Could not parse MBTiles metadata: {error}"))?; + metadata.insert(name.to_ascii_lowercase(), value); + } + Ok(metadata) +} + +fn read_metadata_value(connection: &Connection, name: &str) -> Result, String> { + connection + .query_row( + "SELECT value FROM metadata WHERE lower(name) = lower(?1)", + [name], + |row| row.get::<_, String>(0), + ) + .optional() + .map_err(|error| format!("Could not read MBTiles metadata: {error}")) +} + +fn read_vector_source_layers(json: Option<&String>) -> Vec { + let Some(json) = json else { + return Vec::new(); + }; + let Ok(value) = serde_json::from_str::(json) else { + return Vec::new(); + }; + value + .get("vector_layers") + .and_then(Value::as_array) + .map(|layers| { + layers + .iter() + .filter_map(|layer| layer.get("id").and_then(Value::as_str)) + .map(ToString::to_string) + .collect() + }) + .unwrap_or_default() +} + +fn parse_bounds(value: &str) -> Option<[f64; 4]> { + let values = parse_number_list(value); + if values.len() != 4 { + return None; + } + Some([values[0], values[1], values[2], values[3]]) +} + +fn parse_center(value: &str) -> Option<[f64; 3]> { + let values = parse_number_list(value); + if values.len() < 2 { + return None; + } + Some([values[0], values[1], values.get(2).copied().unwrap_or(0.0)]) +} + +fn parse_number_list(value: &str) -> Vec { + value + .split(',') + .filter_map(|part| part.trim().parse::().ok()) + .collect() +} + +fn decompress_tile_data(data: Vec) -> Result, String> { + if data.starts_with(&[0x1f, 0x8b]) { + let mut decoder = GzDecoder::new(data.as_slice()); + let mut decoded = Vec::new(); + decoder + .read_to_end(&mut decoded) + .map_err(|error| format!("Could not decompress gzip tile: {error}"))?; + return Ok(decoded); + } + + if data.len() > 2 && data[0] == 0x78 { + let mut decoder = ZlibDecoder::new(data.as_slice()); + let mut decoded = Vec::new(); + if decoder.read_to_end(&mut decoded).is_ok() { + return Ok(decoded); + } + } + + Ok(data) +} + +fn create_main_window(app: &mut tauri::App) -> tauri::Result<()> { + let window_config = app + .config() + .app + .windows + .first() + .cloned() + .expect("GeoLibre Desktop requires a main window config"); + + let builder = tauri::WebviewWindowBuilder::from_config(app, &window_config)?; + + // Only desktop opens OAuth flows in child windows; on mobile they navigate + // in-page (or via the system browser), so skip the new-window handler. + #[cfg(desktop)] + let builder = { + let app_handle = app.handle().clone(); + builder.on_new_window(move |url, features| { + create_oauth_popup_window(app_handle.clone(), url, features) + }) + }; + + builder.build()?; + + Ok(()) +} + +#[cfg(desktop)] +fn create_oauth_popup_window( + app_handle: tauri::AppHandle, + url: tauri::Url, + features: tauri::webview::NewWindowFeatures, +) -> tauri::webview::NewWindowResponse { + let popup_id = POPUP_COUNTER.fetch_add(1, Ordering::Relaxed); + let child_app_handle = app_handle.clone(); + let blank_url: tauri::Url = match "about:blank".parse() { + Ok(parsed) => parsed, + Err(error) => { + eprintln!("OAuth popup: could not parse blank URL: {error}"); + return tauri::webview::NewWindowResponse::Deny; + } + }; + let window = match tauri::WebviewWindowBuilder::new( + &app_handle, + format!("oauthPopup{popup_id}"), + tauri::WebviewUrl::External(blank_url), + ) + .window_features(features) + .title(url.as_str()) + .on_new_window(move |url, features| { + create_oauth_popup_window(child_app_handle.clone(), url, features) + }) + .on_document_title_changed(|window, title| { + let _ = window.set_title(&title); + }) + .build() + { + Ok(window) => window, + Err(error) => { + eprintln!("OAuth popup: failed to create popup window: {error}"); + return tauri::webview::NewWindowResponse::Deny; + } + }; + + tauri::webview::NewWindowResponse::Create { window } +} + +#[cfg(target_os = "linux")] +fn configure_linux_webkit() { + // WebKitGTK's DMABUF renderer could fail to allocate GBM buffers on older + // graphics stacks, leaving the Tauri window blank, so it used to be + // disabled here unconditionally. Disabling it also forces a slow readback + // compositing path that visibly drops MapLibre pan/zoom FPS, and the + // allocation bugs are fixed in current WebKitGTK, so keep the workaround + // only for versions older than 2.48. An explicit user/distributor value + // always wins (per WebKit semantics, "0" keeps DMABUF on and any other + // value disables it). Only set the default when unset. + if std::env::var_os("WEBKIT_DISABLE_DMABUF_RENDERER").is_none() { + let webkit_version = unsafe { + ( + webkit2gtk_sys::webkit_get_major_version(), + webkit2gtk_sys::webkit_get_minor_version(), + ) + }; + if webkit_version < (2, 48) { + std::env::set_var("WEBKIT_DISABLE_DMABUF_RENDERER", "1"); + } + } + // Prefer portal-backed native dialogs on Linux. This avoids GTK/GIO file + // metadata warnings that can appear around file and folder pickers. + if std::env::var_os("GTK_USE_PORTAL").is_none() { + std::env::set_var("GTK_USE_PORTAL", "1"); + } +} + +#[cfg(not(target_os = "linux"))] +fn configure_linux_webkit() {} + +#[cfg(test)] +mod tests { + use super::{ + ensure_fetchable_url, find_zip_manifest_path, is_allowed_local_vector_path, + is_allowed_project_path, is_disallowed_ip, is_safe_absolute_path, plugin_archive_file_name, + }; + use std::io::{Cursor, Write}; + use std::net::IpAddr; + + #[test] + fn blocks_link_local_and_metadata_ips() { + for ip in [ + "169.254.169.254", // cloud metadata (link-local) + "169.254.0.1", // link-local + "0.0.0.0", // unspecified + "255.255.255.255", // broadcast + "::", // unspecified + "fe80::1", // link-local + "::ffff:169.254.169.254", // IPv4-mapped metadata + "::169.254.169.254", // IPv4-compatible metadata (deprecated) + ] { + assert!( + is_disallowed_ip(ip.parse::().unwrap()), + "expected {ip} to be blocked" + ); + } + } + + #[test] + fn allows_public_loopback_and_lan_ips() { + // Public plus loopback/LAN, which stay reachable for local tile/COG + // data (issue #387). Only link-local/metadata is blocked. + for ip in [ + "8.8.8.8", + "1.1.1.1", + "93.184.216.34", + "2606:4700:4700::1111", + "127.0.0.1", // loopback (local dev tile server) + "192.168.1.10", // LAN + "10.0.0.5", // LAN + "::1", // loopback + ] { + assert!( + !is_disallowed_ip(ip.parse::().unwrap()), + "expected {ip} to be allowed" + ); + } + } + + #[test] + fn ensure_fetchable_url_blocks_metadata_and_bad_schemes() { + assert!(ensure_fetchable_url("http://169.254.169.254/latest/meta-data").is_err()); + assert!(ensure_fetchable_url("file:///etc/passwd").is_err()); + assert!(ensure_fetchable_url("ftp://example.com/x").is_err()); + // Public and loopback/LAN literals are allowed (local data workflow). + assert!(ensure_fetchable_url("https://1.1.1.1/").is_ok()); + assert!(ensure_fetchable_url("http://127.0.0.1:8081/tiles/0/0/0.png").is_ok()); + assert!(ensure_fetchable_url("http://[::1]:8081/data.pmtiles").is_ok()); + } + + #[test] + fn project_path_guard_allows_projects_and_blocks_secrets() { + assert!(is_allowed_project_path("/home/u/map.geolibre.json")); + assert!(is_allowed_project_path("/home/u/map.geolibre")); + assert!(is_allowed_project_path("C:\\Users\\u\\map.geolibre.json")); + // Secrets and traversal are refused. + assert!(!is_allowed_project_path("/home/u/.ssh/id_rsa")); + assert!(!is_allowed_project_path("/home/u/.aws/credentials")); + assert!(!is_allowed_project_path( + "/home/u/../../etc/hosts.geolibre.json" + )); + assert!(!is_allowed_project_path("relative/map.geolibre.json")); + assert!(!is_allowed_project_path( + "\\\\server\\share\\map.geolibre.json" + )); + // A bare .json file (e.g. a JSON credential store) is NOT a project. + assert!(!is_allowed_project_path( + "/home/u/.config/gcloud/application_default_credentials.json" + )); + assert!(!is_allowed_project_path("C:\\Users\\u\\map.json")); + } + + #[test] + fn allows_absolute_vector_paths() { + assert!(is_allowed_local_vector_path("/home/u/cities.geojson")); + assert!(is_allowed_local_vector_path( + "C:\\Users\\smith\\Mile_Markers.geojson" + )); + assert!(is_allowed_local_vector_path("C:/data/roads.gpkg")); + // Case-insensitive extension; a ".." inside the filename is fine. + assert!(is_allowed_local_vector_path("/data/v1..2.SHP")); + } + + #[test] + fn rejects_non_vector_relative_or_traversal_paths() { + // Non-vector extension. + assert!(!is_allowed_local_vector_path("/etc/passwd")); + // Relative path. + assert!(!is_allowed_local_vector_path("cities.geojson")); + // Directory traversal segments. + assert!(!is_allowed_local_vector_path("/data/../etc/secret.geojson")); + assert!(!is_allowed_local_vector_path( + "C:\\data\\..\\secret.geojson" + )); + // UNC network paths, both the backslash and forward-slash forms. + assert!(!is_allowed_local_vector_path( + "\\\\server\\share\\x.geojson" + )); + assert!(!is_allowed_local_vector_path("//server/share/x.geojson")); + // Empty string is not an absolute path. + assert!(!is_allowed_local_vector_path("")); + // No extension, and a trailing dot (empty extension). + assert!(!is_allowed_local_vector_path("/home/user/noextension")); + assert!(!is_allowed_local_vector_path("/home/user/file.")); + } + + fn zip_with_names(names: &[&str]) -> Vec { + let mut writer = zip::ZipWriter::new(Cursor::new(Vec::new())); + let options = zip::write::SimpleFileOptions::default() + .compression_method(zip::CompressionMethod::Stored); + for name in names { + writer.start_file(*name, options).unwrap(); + writer.write_all(b"x").unwrap(); + } + writer.finish().unwrap().into_inner() + } + + fn manifest_path(names: &[&str]) -> Option { + let bytes = zip_with_names(names); + let archive = zip::ZipArchive::new(Cursor::new(bytes)).unwrap(); + find_zip_manifest_path(&archive) + } + + #[test] + fn finds_root_manifest() { + assert_eq!( + manifest_path(&["plugin.json", "dist/plugin.js"]).as_deref(), + Some("plugin.json") + ); + } + + #[test] + fn finds_manifest_inside_a_wrapping_folder() { + assert_eq!( + manifest_path(&["my-plugin/plugin.json", "my-plugin/dist/plugin.js"]).as_deref(), + Some("my-plugin/plugin.json") + ); + } + + #[test] + fn prefers_root_and_ignores_macosx_metadata() { + // A root manifest wins over a deeper one. + assert_eq!( + manifest_path(&["wrap/plugin.json", "plugin.json"]).as_deref(), + Some("plugin.json") + ); + // The __MACOSX folder is skipped, so the real wrapped manifest is found. + assert_eq!( + manifest_path(&["__MACOSX/wrap/._plugin.json", "wrap/plugin.json"]).as_deref(), + Some("wrap/plugin.json") + ); + } + + #[test] + fn returns_none_without_a_manifest() { + assert_eq!(manifest_path(&["dist/plugin.js"]), None); + } + + #[test] + fn keeps_safe_plugin_ids() { + assert_eq!(plugin_archive_file_name("maplibre-foo"), "maplibre-foo.zip"); + assert_eq!(plugin_archive_file_name("foo.bar_2"), "foo.bar_2.zip"); + } + + #[test] + fn sanitizes_unsafe_characters_and_traversal() { + // Path separators and other characters cannot escape the plugins dir; + // leading dots are then stripped, so "../evil" collapses to "_evil". + assert_eq!(plugin_archive_file_name("../evil"), "_evil.zip"); + assert_eq!(plugin_archive_file_name("a/b"), "a_b.zip"); + // Leading dots are stripped so the archive is never hidden. + assert_eq!(plugin_archive_file_name("..hidden"), "hidden.zip"); + // A name that sanitizes away entirely falls back to a fixed stem. + assert_eq!(plugin_archive_file_name("..."), "plugin.zip"); + } + + #[test] + fn is_safe_absolute_path_accepts_absolute_local_dirs() { + assert!(is_safe_absolute_path("/home/user/data")); + assert!(is_safe_absolute_path("/data")); + assert!(is_safe_absolute_path("C:\\Users\\me\\gis")); + assert!(is_safe_absolute_path("C:/Users/me/gis")); + // A ".." inside a name (not a traversal segment) is fine. + assert!(is_safe_absolute_path("/home/user/v1..2")); + } + + #[test] + fn is_safe_absolute_path_rejects_unc_traversal_and_relative() { + // UNC shares (both forms) can auto-authenticate against a remote host. + assert!(!is_safe_absolute_path("\\\\server\\share")); + assert!(!is_safe_absolute_path("//server/share")); + // `..` traversal segments. + assert!(!is_safe_absolute_path("/home/user/../etc")); + assert!(!is_safe_absolute_path("C:\\a\\..\\b")); + // Relative / non-absolute and empty input. + assert!(!is_safe_absolute_path("home/user")); + assert!(!is_safe_absolute_path("./data")); + assert!(!is_safe_absolute_path("")); + assert!(!is_safe_absolute_path("C:")); // drive letter without a separator + } +} diff --git a/apps/geolibre-desktop/src-tauri/src/main.rs b/apps/geolibre-desktop/src-tauri/src/main.rs new file mode 100644 index 0000000..8ee74db --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/src/main.rs @@ -0,0 +1,6 @@ +// Prevents additional console window on Windows in release +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + geolibre_desktop_lib::run() +} diff --git a/apps/geolibre-desktop/src-tauri/src/native_duckdb.rs b/apps/geolibre-desktop/src-tauri/src/native_duckdb.rs new file mode 100644 index 0000000..47cdde9 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/src/native_duckdb.rs @@ -0,0 +1,1076 @@ +use chrono::{Duration, NaiveDate, NaiveTime, SecondsFormat, TimeZone, Utc}; +use duckdb::{ + types::{TimeUnit, Value, ValueRef}, + Connection, Row, +}; +use serde_json::{json, Map}; +use std::path::Path; + +const GEOMETRY_JSON_COLUMN: &str = "__geolibre_geometry_geojson"; +const FEATURE_COUNT_COLUMN: &str = "__geolibre_feature_count"; +const TARGET_CRS: &str = "EPSG:4326"; +const WKB_GEOMETRY_COLUMN_NAMES: [&str; 6] = [ + "geometry", + "geom", + "wkb_geometry", + "geometry_wkb", + "geom_wkb", + "wkb", +]; + +#[derive(Clone, Debug)] +struct NativeVectorOptions { + path: String, + extension: String, + layer: Option, + override_source_crs: Option, +} + +#[derive(Debug)] +struct DetectedGeometry { + column: String, + is_wkb: bool, + is_base64_wkb: bool, + requires_base64_wkb_validation: bool, + base64_wkb_candidates: Vec, +} + +#[derive(Debug)] +struct DescribedColumn { + name: String, + column_type: String, +} + +#[tauri::command] +pub async fn count_native_vector_file_features( + path: String, + layer: Option, +) -> Result { + let options = native_options(path, layer, None)?; + tauri::async_runtime::spawn_blocking(move || { + count_native_vector_file_features_blocking(options) + }) + .await + .map_err(|error| format!("Native DuckDB count task failed: {error}"))? +} + +#[tauri::command] +pub async fn load_native_vector_file( + path: String, + layer: Option, + override_source_crs: Option, +) -> Result { + let options = native_options(path, layer, override_source_crs)?; + tauri::async_runtime::spawn_blocking(move || load_native_vector_file_blocking(options)) + .await + .map_err(|error| format!("Native DuckDB load task failed: {error}"))? +} + +fn native_options( + path: String, + layer: Option, + override_source_crs: Option, +) -> Result { + if !crate::is_allowed_local_vector_path(&path) { + return Err(format!( + "Refusing to read \"{path}\": not an absolute local vector file path" + )); + } + if has_duckdb_glob_metacharacter(&path) { + return Err(format!( + "Refusing to read \"{path}\": glob paths are not allowed" + )); + } + Ok(NativeVectorOptions { + extension: vector_extension(&path), + path, + layer: blank_to_none(layer), + override_source_crs: blank_to_none(override_source_crs), + }) +} + +fn blank_to_none(value: Option) -> Option { + value.and_then(|value| { + let trimmed = value.trim(); + if trimmed.is_empty() { + None + } else { + Some(trimmed.to_string()) + } + }) +} + +fn vector_extension(path: &str) -> String { + let name = Path::new(path) + .file_name() + .and_then(|name| name.to_str()) + .unwrap_or(path) + .to_ascii_lowercase(); + if name.ends_with(".geoparquet") { + "geoparquet".to_string() + } else { + Path::new(&name) + .extension() + .and_then(|extension| extension.to_str()) + .unwrap_or("") + .to_string() + } +} + +fn has_duckdb_glob_metacharacter(path: &str) -> bool { + path.contains('*') + || path.contains('?') + || (has_duckdb_bracket_glob(path) && !Path::new(path).is_file()) +} + +fn has_duckdb_bracket_glob(path: &str) -> bool { + let bytes = path.as_bytes(); + for (index, byte) in bytes.iter().enumerate() { + if *byte != b'[' { + continue; + } + if bytes[index + 1..] + .iter() + .position(|candidate| *candidate == b']') + .is_some_and(|closing_index| closing_index > 0) + { + return true; + } + } + false +} + +fn count_native_vector_file_features_blocking( + options: NativeVectorOptions, +) -> Result { + let conn = open_native_duckdb()?; + let sql = source_sql(&options); + let count_sql = format!( + "SELECT count(*) AS {} FROM ({sql}) AS data", + quote_identifier(FEATURE_COUNT_COLUMN) + ); + conn.query_row(&count_sql, [], |row| row.get::<_, i64>(0)) + .map(|count| count.max(0) as usize) + .map_err(|error| format!("Could not count vector features with native DuckDB: {error}")) +} + +fn load_native_vector_file_blocking( + options: NativeVectorOptions, +) -> Result { + let conn = open_native_duckdb()?; + let sql = source_sql(&options); + let columns = describe_source_columns(&conn, &sql)?; + let detected = detect_geometry_column(&conn, &sql, &columns)?; + let property_columns: Vec = columns + .iter() + .filter(|column| column.name != detected.column) + .map(|column| column.name.clone()) + .collect(); + let source_crs = match options.override_source_crs.clone() { + Some(crs) => Some(crs), + None => read_source_crs(&conn, &options), + }; + let geometry_json_sql = geometry_geojson_sql(&geometry_expr(&detected), source_crs.as_deref()); + let mut select_columns: Vec = property_columns + .iter() + .map(|column| quote_identifier(column)) + .collect(); + select_columns.push(format!( + "{geometry_json_sql} AS {}", + quote_identifier(GEOMETRY_JSON_COLUMN) + )); + let load_sql = format!("SELECT {} FROM ({sql}) AS data", select_columns.join(", ")); + + let mut stmt = conn + .prepare(&load_sql) + .map_err(|error| format!("Could not prepare native DuckDB vector query: {error}"))?; + let mut column_names = property_columns; + column_names.push(GEOMETRY_JSON_COLUMN.to_string()); + let mut rows = stmt + .query([]) + .map_err(|error| format!("Could not read vector rows with native DuckDB: {error}"))?; + let mut features = Vec::new(); + while let Some(row) = rows + .next() + .map_err(|error| format!("Could not read vector row with native DuckDB: {error}"))? + { + features.push(row_to_feature(row, &column_names)?); + } + Ok(json!({ + "type": "FeatureCollection", + "features": features, + })) +} + +fn open_native_duckdb() -> Result { + let conn = Connection::open_in_memory() + .map_err(|error| format!("Could not open native DuckDB: {error}"))?; + ensure_spatial_extension(&conn)?; + Ok(conn) +} + +fn ensure_spatial_extension(conn: &Connection) -> Result<(), String> { + if let Some(path) = trusted_spatial_extension_path()? { + conn.execute_batch(&format!( + "LOAD {}", + quote_sql_string(&path.replace('\\', "/")) + )) + .map_err(|error| { + format!("Could not load DuckDB spatial extension from \"{path}\": {error}") + })?; + return Ok(()); + } + + conn.execute_batch("LOAD spatial;") + .map_err(|error| format!("Could not load DuckDB spatial extension: {error}")) +} + +fn trusted_spatial_extension_path() -> Result, String> { + let Some(path) = blank_to_none(std::env::var("GEOLIBRE_DUCKDB_SPATIAL_EXTENSION_PATH").ok()) + else { + return Ok(None); + }; + let canonical = Path::new(&path) + .canonicalize() + .map_err(|error| format!("Could not resolve DuckDB spatial extension path: {error}"))?; + if !canonical.is_file() { + return Err(format!( + "DuckDB spatial extension path is not a file: {}", + canonical.display() + )); + } + canonical + .to_str() + .map(|path| Some(path.to_string())) + .ok_or_else(|| "DuckDB spatial extension path was not valid UTF-8".to_string()) +} + +fn is_parquet_extension(extension: &str) -> bool { + extension == "parquet" || extension == "geoparquet" +} + +fn source_sql(options: &NativeVectorOptions) -> String { + let quoted_path = quote_sql_string(&options.path.replace('\\', "/")); + if is_parquet_extension(&options.extension) { + return format!("SELECT * FROM read_parquet({quoted_path})"); + } + let layer_arg = options + .layer + .as_ref() + .map(|layer| format!(", layer={}", quote_sql_string(layer))) + .unwrap_or_default(); + format!("SELECT * FROM ST_Read({quoted_path}{layer_arg})") +} + +fn describe_source_columns(conn: &Connection, sql: &str) -> Result, String> { + let describe_sql = format!("DESCRIBE {sql}"); + let mut stmt = conn + .prepare(&describe_sql) + .map_err(|error| format!("Could not describe vector source with native DuckDB: {error}"))?; + let mut rows = stmt + .query([]) + .map_err(|error| format!("Could not inspect vector columns with native DuckDB: {error}"))?; + let mut columns = Vec::new(); + while let Some(row) = rows + .next() + .map_err(|error| format!("Could not read vector column description: {error}"))? + { + let column_name: String = row + .get(0) + .map_err(|error| format!("Could not read described column name: {error}"))?; + let column_type: String = row + .get(1) + .map_err(|error| format!("Could not read described column type: {error}"))?; + columns.push(DescribedColumn { + name: column_name, + column_type, + }); + } + Ok(columns) +} + +fn detect_geometry_column( + conn: &Connection, + source_sql: &str, + columns: &[DescribedColumn], +) -> Result { + let detected = detect_geometry_column_from_schema(columns)?; + if !detected.requires_base64_wkb_validation { + return Ok(detected); + } + for column in &detected.base64_wkb_candidates { + if has_valid_base64_wkb_values(conn, source_sql, column)? { + return Ok(DetectedGeometry { + column: column.clone(), + is_wkb: detected.is_wkb, + is_base64_wkb: detected.is_base64_wkb, + requires_base64_wkb_validation: false, + base64_wkb_candidates: Vec::new(), + }); + } + } + Err("DuckDB did not find a geometry column in this file.".to_string()) +} + +fn detect_geometry_column_from_schema( + columns: &[DescribedColumn], +) -> Result { + let mut wkb_candidate: Option<(usize, String)> = None; + let mut base64_wkb_candidates: Vec<(usize, String)> = Vec::new(); + for column in columns { + if column + .column_type + .to_ascii_uppercase() + .starts_with("GEOMETRY") + { + return Ok(DetectedGeometry { + column: column.name.clone(), + is_wkb: false, + is_base64_wkb: false, + requires_base64_wkb_validation: false, + base64_wkb_candidates: Vec::new(), + }); + } + let lower_name = column.name.to_ascii_lowercase(); + let upper_type = column.column_type.to_ascii_uppercase(); + if !WKB_GEOMETRY_COLUMN_NAMES.contains(&lower_name.as_str()) { + continue; + } + let rank = WKB_GEOMETRY_COLUMN_NAMES + .iter() + .position(|candidate| *candidate == lower_name.as_str()) + .unwrap_or(WKB_GEOMETRY_COLUMN_NAMES.len()); + if upper_type.starts_with("BLOB") + || upper_type.starts_with("BINARY") + || upper_type.starts_with("VARBINARY") + { + if wkb_candidate + .as_ref() + .map(|(current_rank, _)| rank < *current_rank) + .unwrap_or(true) + { + wkb_candidate = Some((rank, column.name.clone())); + } + } else if upper_type.starts_with("VARCHAR") + || upper_type.starts_with("TEXT") + || upper_type.starts_with("STRING") + { + base64_wkb_candidates.push((rank, column.name.clone())); + } + } + + if let Some((_, column)) = wkb_candidate { + return Ok(DetectedGeometry { + column, + is_wkb: true, + is_base64_wkb: false, + requires_base64_wkb_validation: false, + base64_wkb_candidates: Vec::new(), + }); + } + base64_wkb_candidates.sort_by_key(|(rank, _)| *rank); + if let Some((_, column)) = base64_wkb_candidates.first() { + return Ok(DetectedGeometry { + column: column.clone(), + is_wkb: true, + is_base64_wkb: true, + requires_base64_wkb_validation: true, + base64_wkb_candidates: base64_wkb_candidates + .into_iter() + .map(|(_, column)| column) + .collect(), + }); + } + + Err("DuckDB did not find a geometry column in this file.".to_string()) +} + +fn has_valid_base64_wkb_values( + conn: &Connection, + source_sql: &str, + column: &str, +) -> Result { + let column_sql = quote_identifier(column); + let sample_column = quote_identifier("__geolibre_base64_wkb_sample"); + let probe_sql = format!( + "SELECT count(*) AS sample_count, \ + count(TRY(ST_GeomFromWKB(from_base64({sample_column})))) AS valid_count \ + FROM (SELECT {column_sql} AS {sample_column} FROM ({source_sql}) AS data \ + WHERE {column_sql} IS NOT NULL LIMIT 20) AS sample" + ); + let (sample_count, valid_count): (i64, i64) = conn + .query_row(&probe_sql, [], |row| Ok((row.get(0)?, row.get(1)?))) + .map_err(|error| format!("Could not validate base64 WKB geometry values: {error}"))?; + // Require every sampled non-null value to decode as WKB so a user attribute + // named "geometry" or "wkb" is not promoted based on a partial match. + Ok(sample_count > 0 && sample_count == valid_count) +} + +fn read_source_crs(conn: &Connection, options: &NativeVectorOptions) -> Option { + if is_parquet_extension(&options.extension) { + return read_geoparquet_source_crs(conn, options); + } + let meta_sql = format!( + "SELECT layers[1].geometry_fields[1].crs.auth_name AS auth_name, \ + layers[1].geometry_fields[1].crs.auth_code AS auth_code \ + FROM ST_Read_Meta({})", + quote_sql_string(&options.path.replace('\\', "/")) + ); + let auth_crs = conn + .query_row(&meta_sql, [], |row| { + let auth_name: Option = row.get(0)?; + let auth_code: Option = row.get(1)?; + Ok((auth_name, auth_code)) + }) + .ok() + .and_then(|(auth_name, auth_code)| { + let auth_name = auth_name?.trim().to_ascii_uppercase(); + let auth_code = auth_code?.trim().to_string(); + if auth_name.is_empty() || auth_code.is_empty() { + None + } else { + Some(format!("{auth_name}:{auth_code}")) + } + }); + if auth_crs.is_some() { + return auth_crs; + } + // ST_Read_Meta resolved no EPSG authority code (e.g. a custom ESRI `.prj` + // without an AUTHORITY tag). Fall back to the shapefile's `.prj` sidecar + // WKT, which ST_Transform accepts, mirroring the DuckDB-WASM loader so a + // projected shapefile still reprojects instead of loading in source + // coordinates (issue #1148). + if options.extension == "shp" { + return read_prj_sidecar_crs(&options.path); + } + None +} + +/// The WKT text of a shapefile's `.prj` sidecar, or `None` when it is absent or +/// empty. Used as the CRS fallback when `ST_Read_Meta` reports no authority code. +fn read_prj_sidecar_crs(shp_path: &str) -> Option { + let path = Path::new(shp_path); + // Fast path: the sidecar usually shares the `.shp`'s exact base name with a + // `.prj` or `.PRJ` extension. + for extension in ["prj", "PRJ"] { + if let Some(crs) = read_nonempty_trimmed(&path.with_extension(extension)) { + return Some(crs); + } + } + // Fallback for mixed-case naming (e.g. `Foo.Prj`, or a `Foo.shp` whose + // sidecar is `foo.PRJ`) on a case-sensitive filesystem: scan the directory + // for a file whose stem and `prj` extension both match case-insensitively. + let stem = path.file_stem()?.to_str()?; + let dir = path.parent()?; + for entry in std::fs::read_dir(dir).ok()?.flatten() { + let entry_path = entry.path(); + let stem_matches = entry_path + .file_stem() + .and_then(|entry_stem| entry_stem.to_str()) + .is_some_and(|entry_stem| entry_stem.eq_ignore_ascii_case(stem)); + let is_prj = entry_path + .extension() + .and_then(|extension| extension.to_str()) + .is_some_and(|extension| extension.eq_ignore_ascii_case("prj")); + if stem_matches && is_prj { + if let Some(crs) = read_nonempty_trimmed(&entry_path) { + return Some(crs); + } + } + } + None +} + +/// The trimmed contents of a file, or `None` when it cannot be read or is empty. +fn read_nonempty_trimmed(path: &Path) -> Option { + // Decode lossily rather than with `read_to_string` so a `.prj` carrying a + // stray non-UTF-8 byte still yields its WKT instead of silently reverting to + // the pre-fix "no reprojection" behavior. + let bytes = std::fs::read(path).ok()?; + let trimmed = String::from_utf8_lossy(&bytes).trim().to_string(); + if trimmed.is_empty() { + None + } else { + Some(trimmed) + } +} + +fn read_geoparquet_source_crs(conn: &Connection, options: &NativeVectorOptions) -> Option { + let metadata_sql = format!( + "SELECT decode(value) FROM parquet_kv_metadata({}) WHERE decode(key) = 'geo' LIMIT 1", + quote_sql_string(&options.path.replace('\\', "/")) + ); + let metadata: String = conn.query_row(&metadata_sql, [], |row| row.get(0)).ok()?; + geoparquet_crs_from_metadata(&metadata) +} + +fn geoparquet_crs_from_metadata(metadata: &str) -> Option { + let value: serde_json::Value = serde_json::from_str(metadata).ok()?; + let primary_column = value + .get("primary_column") + .and_then(|value| value.as_str()) + .unwrap_or("geometry"); + let crs = value.get("columns")?.get(primary_column)?.get("crs")?; + if crs.is_null() { + return None; + } + crs_auth_code(crs) +} + +fn crs_auth_code(crs: &serde_json::Value) -> Option { + let id = match crs.get("id")? { + serde_json::Value::Array(ids) => ids.last()?, + id => id, + }; + let authority = id + .get("authority") + .or_else(|| id.get("auth_name"))? + .as_str()? + .trim() + .to_ascii_uppercase(); + let code = id.get("code").or_else(|| id.get("auth_code"))?; + let code = match code { + serde_json::Value::String(value) => value.trim().to_string(), + serde_json::Value::Number(value) => value.to_string(), + _ => return None, + }; + if authority.is_empty() || code.is_empty() { + None + } else { + Some(format!("{authority}:{code}")) + } +} + +fn geometry_expr(detected: &DetectedGeometry) -> String { + assert!( + !detected.requires_base64_wkb_validation, + "base64 WKB geometry must be value-validated before SQL generation" + ); + let column = quote_identifier(&detected.column); + if detected.is_wkb { + let wkb = if detected.is_base64_wkb { + format!("from_base64({column})") + } else { + column + }; + format!("ST_GeomFromWKB({wkb})") + } else { + column + } +} + +fn geometry_geojson_sql(geometry_expression: &str, source_crs: Option<&str>) -> String { + match source_crs { + Some(source_crs) => format!( + "ST_AsGeoJSON(ST_Transform({geometry_expression}, {}, {}, true))", + quote_sql_string(source_crs), + quote_sql_string(TARGET_CRS) + ), + None => format!("ST_AsGeoJSON({geometry_expression})"), + } +} + +fn row_to_feature(row: &Row<'_>, column_names: &[String]) -> Result { + let mut properties = Map::new(); + let mut geometry = serde_json::Value::Null; + + for (index, column_name) in column_names.iter().enumerate() { + let value = row.get_ref(index).map_err(|error| { + format!("Could not read native DuckDB column \"{column_name}\": {error}") + })?; + if column_name == GEOMETRY_JSON_COLUMN { + geometry = match value { + ValueRef::Null => serde_json::Value::Null, + ValueRef::Text(bytes) => { + let text = std::str::from_utf8(bytes) + .map_err(|error| format!("Geometry GeoJSON was not UTF-8: {error}"))?; + serde_json::from_str(text) + .map_err(|error| format!("Geometry GeoJSON was invalid: {error}"))? + } + _ => serde_json::Value::Null, + }; + continue; + } + if matches!(value, ValueRef::Blob(_)) { + continue; + } + properties.insert(column_name.clone(), duckdb_value_to_json(&value.to_owned())); + } + + Ok(json!({ + "type": "Feature", + "geometry": geometry, + "properties": properties, + })) +} + +fn duckdb_value_to_json(value: &Value) -> serde_json::Value { + match value { + Value::Null => serde_json::Value::Null, + Value::Boolean(value) => json!(value), + Value::TinyInt(value) => json_number_or_string_i128(*value as i128), + Value::SmallInt(value) => json_number_or_string_i128(*value as i128), + Value::Int(value) => json_number_or_string_i128(*value as i128), + Value::BigInt(value) => json_number_or_string_i128(*value as i128), + Value::HugeInt(value) => json_number_or_string_i128(*value), + Value::UTinyInt(value) => json_number_or_string_u128(*value as u128), + Value::USmallInt(value) => json_number_or_string_u128(*value as u128), + Value::UInt(value) => json_number_or_string_u128(*value as u128), + Value::UBigInt(value) => json_number_or_string_u128(*value as u128), + Value::Float(value) => json!(value), + Value::Double(value) => json!(value), + Value::Decimal(value) => json!(value.to_string()), + Value::Timestamp(unit, value) => json!(format_timestamp(*unit, *value)), + Value::Text(value) => json!(value), + Value::Blob(_) => serde_json::Value::Null, + Value::Date32(value) => json!(format_date32(*value)), + Value::Time64(unit, value) => json!(format_time(*unit, *value)), + Value::Interval { + months, + days, + nanos, + } => json!(format!("{months} months {days} days {nanos} ns")), + Value::List(values) | Value::Array(values) => { + serde_json::Value::Array(values.iter().map(duckdb_value_to_json).collect()) + } + Value::Enum(value) => json!(value), + Value::Struct(values) => { + let mut object = Map::new(); + for (key, value) in values.iter() { + object.insert(key.clone(), duckdb_value_to_json(value)); + } + serde_json::Value::Object(object) + } + Value::Map(values) => { + let mut object = Map::new(); + for (key, value) in values.iter() { + object.insert(value_json_key(key), duckdb_value_to_json(value)); + } + serde_json::Value::Object(object) + } + Value::Union(value) => duckdb_value_to_json(value), + } +} + +fn json_number_or_string_i128(value: i128) -> serde_json::Value { + const MIN_SAFE_INTEGER: i128 = -9_007_199_254_740_991; + const MAX_SAFE_INTEGER: i128 = 9_007_199_254_740_991; + if (MIN_SAFE_INTEGER..=MAX_SAFE_INTEGER).contains(&value) { + json!(value as i64) + } else { + json!(value.to_string()) + } +} + +fn json_number_or_string_u128(value: u128) -> serde_json::Value { + const MAX_SAFE_INTEGER: u128 = 9_007_199_254_740_991; + if value <= MAX_SAFE_INTEGER { + json!(value as u64) + } else { + json!(value.to_string()) + } +} + +fn format_timestamp(unit: TimeUnit, value: i64) -> String { + let micros = match unit { + TimeUnit::Second => value.saturating_mul(1_000_000), + TimeUnit::Millisecond => value.saturating_mul(1_000), + TimeUnit::Microsecond => value, + TimeUnit::Nanosecond => value / 1_000, + }; + let seconds = micros.div_euclid(1_000_000); + let nanos = (micros.rem_euclid(1_000_000) as u32).saturating_mul(1_000); + Utc.timestamp_opt(seconds, nanos) + .single() + .map(|datetime| datetime.to_rfc3339_opts(SecondsFormat::Micros, true)) + .unwrap_or_else(|| format!("{micros}us since 1970-01-01T00:00:00Z")) +} + +fn format_date32(value: i32) -> String { + NaiveDate::from_ymd_opt(1970, 1, 1) + .and_then(|epoch| epoch.checked_add_signed(Duration::days(value as i64))) + .map(|date| date.to_string()) + .unwrap_or_else(|| value.to_string()) +} + +fn format_time(unit: TimeUnit, value: i64) -> String { + let micros = match unit { + TimeUnit::Second => value.saturating_mul(1_000_000), + TimeUnit::Millisecond => value.saturating_mul(1_000), + TimeUnit::Microsecond => value, + TimeUnit::Nanosecond => value / 1_000, + }; + let seconds = micros.div_euclid(1_000_000); + let nanos = (micros.rem_euclid(1_000_000) as u32).saturating_mul(1_000); + NaiveTime::from_num_seconds_from_midnight_opt(u32::try_from(seconds).unwrap_or(u32::MAX), nanos) + .map(|time| time.format("%H:%M:%S%.6f").to_string()) + .unwrap_or_else(|| format!("{micros}us")) +} + +fn value_json_key(value: &Value) -> String { + match duckdb_value_to_json(value) { + serde_json::Value::String(value) => value, + other => other.to_string(), + } +} + +fn quote_sql_string(value: &str) -> String { + format!("'{}'", value.replace('\'', "''")) +} + +fn quote_identifier(value: &str) -> String { + format!("\"{}\"", value.replace('"', "\"\"")) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::time::{SystemTime, UNIX_EPOCH}; + + fn temp_geoparquet_path() -> String { + let suffix = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("system time before Unix epoch") + .as_nanos(); + std::env::temp_dir() + .join(format!( + "geolibre-native-duckdb-{suffix}-{}.geoparquet", + std::process::id() + )) + .to_string_lossy() + .to_string() + } + + fn create_real_geoparquet(path: &str) { + let conn = Connection::open_in_memory().expect("open DuckDB"); + install_spatial_extension_for_tests(&conn).expect("load spatial"); + conn.execute_batch(&format!( + " + CREATE TABLE places AS + SELECT 1 AS id, 'San Francisco' AS name, ST_Point(-122.4194, 37.7749) AS geometry + UNION ALL + SELECT 2 AS id, 'New York' AS name, ST_Point(-73.9857, 40.7484) AS geometry; + COPY places TO {} (FORMAT PARQUET); + ", + quote_sql_string(path) + )) + .expect("write GeoParquet fixture"); + } + + fn create_base64_wkb_parquet(path: &str) { + let conn = Connection::open_in_memory().expect("open DuckDB"); + conn.execute_batch(&format!( + " + CREATE TABLE places AS + SELECT + 1 AS id, + 'Luxembourg' AS name, + 'AQMAAAABAAAABQAAAFCW6nIMPRdA3PVYDQjGSECxTV13Nj0XQHRYwfoLxkhA4MiF5+M8F0BWd0PCEcZIQPjdWB27PBdAIePTAA7GSEBQlupyDD0XQNz1WA0IxkhA' AS geometry; + COPY places TO {} (FORMAT PARQUET); + ", + quote_sql_string(path) + )) + .expect("write base64 WKB Parquet fixture"); + } + + fn create_plain_string_geometry_parquet(path: &str) { + let conn = Connection::open_in_memory().expect("open DuckDB"); + conn.execute_batch(&format!( + " + CREATE TABLE places AS + SELECT 1 AS id, 'not WKB' AS geometry; + COPY places TO {} (FORMAT PARQUET); + ", + quote_sql_string(path) + )) + .expect("write plain string geometry fixture"); + } + + fn create_ranked_base64_wkb_candidates_parquet(path: &str) { + let conn = Connection::open_in_memory().expect("open DuckDB"); + conn.execute_batch(&format!( + " + CREATE TABLE places AS + SELECT + 1 AS id, + 'not WKB' AS geometry, + 'AQMAAAABAAAABQAAAFCW6nIMPRdA3PVYDQjGSECxTV13Nj0XQHRYwfoLxkhA4MiF5+M8F0BWd0PCEcZIQPjdWB27PBdAIePTAA7GSEBQlupyDD0XQNz1WA0IxkhA' AS wkb; + COPY places TO {} (FORMAT PARQUET); + ", + quote_sql_string(path) + )) + .expect("write ranked base64 WKB candidate fixture"); + } + + fn install_spatial_extension_for_tests(conn: &Connection) -> Result<(), String> { + conn.execute_batch("INSTALL spatial; LOAD spatial;") + .map_err(|error| format!("Could not install/load DuckDB spatial extension: {error}")) + } + + #[test] + fn native_loader_reads_real_geoparquet_as_geojson() { + let path = temp_geoparquet_path(); + create_real_geoparquet(&path); + + let options = native_options(path.clone(), None, None).expect("native options"); + let feature_count = + count_native_vector_file_features_blocking(options.clone()).expect("count features"); + assert_eq!(feature_count, 2); + + let collection = load_native_vector_file_blocking(options).expect("load vector file"); + assert_eq!(collection["type"], "FeatureCollection"); + let features = collection["features"].as_array().expect("features array"); + assert_eq!(features.len(), 2); + assert_eq!(features[0]["properties"]["id"], 1); + assert_eq!(features[0]["properties"]["name"], "San Francisco"); + assert_eq!(features[0]["geometry"]["type"], "Point"); + assert_eq!(features[0]["geometry"]["coordinates"][0], -122.4194); + assert_eq!(features[0]["geometry"]["coordinates"][1], 37.7749); + + let _ = std::fs::remove_file(path); + } + + #[test] + fn native_loader_reads_base64_wkb_geometry_column() { + let path = temp_geoparquet_path(); + create_base64_wkb_parquet(&path); + + let options = native_options(path.clone(), None, None).expect("native options"); + let collection = load_native_vector_file_blocking(options).expect("load vector file"); + let features = collection["features"].as_array().expect("features array"); + assert_eq!(features.len(), 1); + assert_eq!(features[0]["properties"]["id"], 1); + assert_eq!(features[0]["properties"]["name"], "Luxembourg"); + assert_eq!(features[0]["geometry"]["type"], "Polygon"); + assert_eq!( + features[0]["geometry"]["coordinates"][0][0][0], + 5.809617801254333 + ); + assert_eq!( + features[0]["geometry"]["coordinates"][0][0][1], + 49.54712073177117 + ); + + let _ = std::fs::remove_file(path); + } + + #[test] + fn native_loader_rejects_plain_string_geometry_column() { + let path = temp_geoparquet_path(); + create_plain_string_geometry_parquet(&path); + + let options = native_options(path.clone(), None, None).expect("native options"); + let error = load_native_vector_file_blocking(options).expect_err("reject plain string"); + assert!(error.contains("DuckDB did not find a geometry column")); + + let _ = std::fs::remove_file(path); + } + + #[test] + fn native_loader_tries_ranked_base64_wkb_candidates() { + let path = temp_geoparquet_path(); + create_ranked_base64_wkb_candidates_parquet(&path); + + let options = native_options(path.clone(), None, None).expect("native options"); + let collection = load_native_vector_file_blocking(options).expect("load vector file"); + let features = collection["features"].as_array().expect("features array"); + assert_eq!(features.len(), 1); + assert_eq!(features[0]["properties"]["id"], 1); + assert_eq!(features[0]["properties"]["geometry"], "not WKB"); + assert_eq!(features[0]["geometry"]["type"], "Polygon"); + assert_eq!( + features[0]["geometry"]["coordinates"][0][0][0], + 5.809617801254333 + ); + + let _ = std::fs::remove_file(path); + } + + #[test] + fn native_options_rejects_duckdb_glob_paths() { + let error = native_options("/tmp/*.parquet".to_string(), None, None) + .expect_err("glob path should be rejected"); + assert!(error.contains("glob paths are not allowed")); + + let bracket_pattern = format!( + "{}/geolibre-native-duckdb-[{}].parquet", + std::env::temp_dir().display(), + std::process::id() + ); + let error = native_options(bracket_pattern, None, None) + .expect_err("bracket glob should be rejected"); + assert!(error.contains("glob paths are not allowed")); + } + + #[test] + fn native_options_allows_literal_brackets_in_existing_paths() { + let path = format!( + "{}/geolibre-native-duckdb-[literal]-{}.parquet", + std::env::temp_dir().display(), + std::process::id() + ); + std::fs::write(&path, []).expect("create literal bracket file"); + let options = native_options(path.clone(), None, None).expect("native options"); + assert_eq!(options.path, path); + let _ = std::fs::remove_file(path); + } + + #[test] + fn read_prj_sidecar_crs_returns_trimmed_wkt() { + let suffix = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("system time before Unix epoch") + .as_nanos(); + let base = std::env::temp_dir().join(format!( + "geolibre-native-prj-{suffix}-{}", + std::process::id() + )); + let shp_path = base.with_extension("shp"); + let prj_path = base.with_extension("prj"); + std::fs::write( + &prj_path, + " PROJCS[\"British_National_Grid\",GEOGCS[\"GCS_OSGB_1936\"]]\n", + ) + .expect("write prj sidecar"); + + let crs = + read_prj_sidecar_crs(&shp_path.to_string_lossy()).expect("prj sidecar resolves a CRS"); + assert_eq!( + crs, + "PROJCS[\"British_National_Grid\",GEOGCS[\"GCS_OSGB_1936\"]]" + ); + + let _ = std::fs::remove_file(&prj_path); + } + + #[test] + fn read_prj_sidecar_crs_is_none_when_absent_or_empty() { + let suffix = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("system time before Unix epoch") + .as_nanos(); + let base = std::env::temp_dir().join(format!( + "geolibre-native-prj-missing-{suffix}-{}", + std::process::id() + )); + let shp_path = base.with_extension("shp"); + + assert!(read_prj_sidecar_crs(&shp_path.to_string_lossy()).is_none()); + + let prj_path = base.with_extension("prj"); + std::fs::write(&prj_path, " \n").expect("write empty prj sidecar"); + assert!(read_prj_sidecar_crs(&shp_path.to_string_lossy()).is_none()); + let _ = std::fs::remove_file(&prj_path); + } + + #[test] + fn read_prj_sidecar_crs_matches_mixed_case_extension() { + let suffix = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("system time before Unix epoch") + .as_nanos(); + // A unique per-test subdirectory so the directory scan only sees this + // file set, independent of other tests sharing the temp dir. + let dir = std::env::temp_dir().join(format!( + "geolibre-native-prj-case-{suffix}-{}", + std::process::id() + )); + std::fs::create_dir_all(&dir).expect("create test dir"); + // A mixed-case sidecar extension AND basename (`hotspots.shp` vs + // `Hotspots.PRJ`) that neither the `prj` nor `PRJ` fast path matches. + let shp_path = dir.join("hotspots.shp"); + let prj_path = dir.join("Hotspots.PRJ"); + std::fs::write(&prj_path, "PROJCS[\"OSGB\"]\n").expect("write prj sidecar"); + + let crs = read_prj_sidecar_crs(&shp_path.to_string_lossy()) + .expect("mixed-case prj sidecar resolves a CRS"); + assert_eq!(crs, "PROJCS[\"OSGB\"]"); + + let _ = std::fs::remove_dir_all(&dir); + } + + #[test] + fn wkb_detection_uses_preferred_column_name() { + let detected = detect_geometry_column_from_schema(&[ + DescribedColumn { + name: "wkb".to_string(), + column_type: "BLOB".to_string(), + }, + DescribedColumn { + name: "geometry".to_string(), + column_type: "BLOB".to_string(), + }, + ]) + .expect("detect WKB geometry"); + assert_eq!(detected.column, "geometry"); + assert!(detected.is_wkb); + assert!(!detected.is_base64_wkb); + assert!(!detected.requires_base64_wkb_validation); + } + + #[test] + fn wkb_detection_marks_base64_string_geometry_candidates() { + let detected = detect_geometry_column_from_schema(&[ + DescribedColumn { + name: "id".to_string(), + column_type: "BIGINT".to_string(), + }, + DescribedColumn { + name: "geometry".to_string(), + column_type: "VARCHAR".to_string(), + }, + ]) + .expect("detect base64 WKB geometry"); + assert_eq!(detected.column, "geometry"); + assert!(detected.is_wkb); + assert!(detected.is_base64_wkb); + assert!(detected.requires_base64_wkb_validation); + assert_eq!(detected.base64_wkb_candidates, vec!["geometry".to_string()]); + } + + #[test] + fn integer_json_uses_javascript_safe_range() { + assert_eq!( + json_number_or_string_i128(9_007_199_254_740_991), + json!(9_007_199_254_740_991_i64) + ); + assert_eq!( + json_number_or_string_i128(9_007_199_254_740_992), + json!("9007199254740992") + ); + assert_eq!( + json_number_or_string_u128(9_007_199_254_740_992), + json!("9007199254740992") + ); + } + + #[test] + fn out_of_range_time_falls_back_to_raw_microseconds() { + let micros = (u32::MAX as i64 + 1) * 1_000_000; + assert_eq!( + format_time(TimeUnit::Microsecond, micros), + format!("{micros}us") + ); + } + + #[test] + fn geoparquet_crs_reads_primary_column_authority_code() { + let metadata = r#"{ + "version": "1.1.0", + "primary_column": "geom", + "columns": { + "geom": { + "encoding": "WKB", + "crs": { + "type": "ProjectedCRS", + "id": { "authority": "EPSG", "code": 3857 } + } + } + } + }"#; + assert_eq!( + geoparquet_crs_from_metadata(metadata), + Some("EPSG:3857".to_string()) + ); + } +} diff --git a/apps/geolibre-desktop/src-tauri/tauri.android.conf.json b/apps/geolibre-desktop/src-tauri/tauri.android.conf.json new file mode 100644 index 0000000..6ddecc4 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/tauri.android.conf.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "GeoLibre", + "bundle": { + "resources": [] + } +} diff --git a/apps/geolibre-desktop/src-tauri/tauri.conf.json b/apps/geolibre-desktop/src-tauri/tauri.conf.json new file mode 100644 index 0000000..c8cf627 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/tauri.conf.json @@ -0,0 +1,41 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "GeoLibre Desktop", + "version": "2.0.0", + "identifier": "org.geolibre.desktop", + "build": { + "beforeDevCommand": "npm run dev", + "devUrl": "http://localhost:5173", + "beforeBuildCommand": "npm run build", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "create": false, + "title": "GeoLibre Desktop", + "width": 1280, + "height": 800, + "resizable": true, + "fullscreen": false + } + ], + "security": { + "csp": "default-src 'self'; connect-src 'self' blob: https: http://127.0.0.1:* http://localhost:* wss://collab.geolibre.app ws://127.0.0.1:* ws://localhost:*; img-src 'self' data: blob: https:; media-src 'self' blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' blob: 'unsafe-eval' 'wasm-unsafe-eval' https://cdn.jsdelivr.net/npm/ https://cdn.jsdelivr.net/pyodide/ https://accounts.google.com; child-src 'self' http://127.0.0.1:* http://localhost:* https://accounts.google.com https://www.google.com; frame-src 'self' http://127.0.0.1:* http://localhost:* https://accounts.google.com https://www.google.com; worker-src blob: 'self'", + "capabilities": ["default"] + } + }, + "bundle": { + "active": true, + "targets": "all", + "resources": ["../../../backend/geolibre_server"], + "icon": [ + "icons/icon.png", + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} diff --git a/apps/geolibre-desktop/src/App.tsx b/apps/geolibre-desktop/src/App.tsx new file mode 100644 index 0000000..d174101 --- /dev/null +++ b/apps/geolibre-desktop/src/App.tsx @@ -0,0 +1,49 @@ +import { DesktopShell } from "./components/layout/DesktopShell"; +import { OnboardingDialog } from "./components/layout/OnboardingDialog"; +import { UpdateNotificationModal } from "./components/layout/UpdateNotificationModal"; +import { useDesktopSettingsPersistence } from "./hooks/useDesktopSettings"; +import { useLayoutOptions } from "./hooks/useLayoutOptions"; +import { useProjectUrlLoader } from "./hooks/useProjectUrlLoader"; +import { useBeforeUnloadGuard } from "./hooks/useBeforeUnloadGuard"; +import { useRecentProjectsPersistence } from "./hooks/useRecentProjectsPersistence"; +import { useRuntimeEnvironmentVariables } from "./hooks/useRuntimeEnvironmentVariables"; +import { useStartupUpdateCheck } from "./hooks/useStartupUpdateCheck"; +import { useThemeMode } from "./hooks/useThemeMode"; +import { useThemeScheme } from "./hooks/useThemeScheme"; +import { useUiProfileBootstrap } from "./hooks/useUiProfileBootstrap"; +import { useUndoRedoShortcuts } from "./hooks/useUndoRedoShortcuts"; + +export default function App() { + const layoutOptions = useLayoutOptions(); + const { themeMode, toggleThemeMode } = useThemeMode(); + const projectUrlLoadState = useProjectUrlLoader(); + const { showOnboarding, dismissOnboarding } = useUiProfileBootstrap(); + const { + pending: pendingUpdate, + remindLater, + skipVersion, + } = useStartupUpdateCheck(); + + useDesktopSettingsPersistence(); + useThemeScheme(); + useRecentProjectsPersistence(); + useRuntimeEnvironmentVariables(); + useUndoRedoShortcuts(); + useBeforeUnloadGuard(); + return ( + <> + + + + + ); +} diff --git a/apps/geolibre-desktop/src/components/CollapsibleSection.tsx b/apps/geolibre-desktop/src/components/CollapsibleSection.tsx new file mode 100644 index 0000000..b937627 --- /dev/null +++ b/apps/geolibre-desktop/src/components/CollapsibleSection.tsx @@ -0,0 +1,49 @@ +import { cn } from "@geolibre/ui"; +import { ChevronRight } from "lucide-react"; +import { useId, useState, type ReactNode } from "react"; + +interface CollapsibleSectionProps { + /** Heading text shown on the toggle row. */ + title: string; + /** Whether the body starts expanded (default: collapsed). */ + defaultOpen?: boolean; + children: ReactNode; +} + +/** + * A picker section whose body collapses behind its heading, to keep a long list + * from stretching the panel. The heading acts as the toggle and rotates a + * chevron; the body is unmounted while collapsed. Styled to match the plain + * section headings it sits alongside. + */ +export function CollapsibleSection({ + title, + defaultOpen = false, + children, +}: CollapsibleSectionProps) { + const [open, setOpen] = useState(defaultOpen); + const contentId = useId(); + return ( +
+ + {/* Wrapper is always present so aria-controls resolves; children mount + only when expanded. */} +
{open ? children : null}
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/command/CommandPalette.tsx b/apps/geolibre-desktop/src/components/command/CommandPalette.tsx new file mode 100644 index 0000000..ba88ccf --- /dev/null +++ b/apps/geolibre-desktop/src/components/command/CommandPalette.tsx @@ -0,0 +1,187 @@ +import { Dialog, DialogContent, DialogTitle } from "@geolibre/ui"; +import { Search } from "lucide-react"; +import { + type KeyboardEvent as ReactKeyboardEvent, + useEffect, + useMemo, + useRef, + useState, +} from "react"; +import { + type Command, + filterCommands, + formatShortcut, + isMacPlatform, +} from "../../lib/commands"; + +interface CommandPaletteProps { + open: boolean; + commands: Command[]; + onOpenChange: (open: boolean) => void; +} + +/** + * A searchable command palette (Cmd/Ctrl-K) built from the shared command + * registry. Type to filter, navigate with arrow keys, and press Enter to run + * the highlighted command. + */ +export function CommandPalette({ + open, + commands, + onOpenChange, +}: CommandPaletteProps) { + const [query, setQuery] = useState(""); + const [activeIndex, setActiveIndex] = useState(0); + const listRef = useRef(null); + const isMac = useMemo(() => isMacPlatform(), []); + const listboxId = "command-palette-listbox"; + const optionId = (command: Command) => `command-option-${command.id}`; + + const filtered = useMemo( + () => filterCommands(commands, query), + [commands, query], + ); + const activeCommand = filtered[activeIndex]; + + // Reset the query each time the palette opens so it always starts fresh. + useEffect(() => { + if (open) { + setQuery(""); + setActiveIndex(0); + } + }, [open]); + + // Keep the highlight within bounds as the filtered list shrinks/grows. + useEffect(() => { + setActiveIndex((index) => + filtered.length === 0 ? 0 : Math.min(index, filtered.length - 1), + ); + }, [filtered.length]); + + // Scroll the highlighted row into view as the user navigates. + useEffect(() => { + const list = listRef.current; + if (!list) return; + const active = list.querySelector('[data-active="true"]'); + active?.scrollIntoView({ block: "nearest" }); + }, [activeIndex, filtered]); + + const runCommand = (command: Command) => { + onOpenChange(false); + command.run(); + }; + + const handleInputKeyDown = (event: ReactKeyboardEvent) => { + if (event.key === "ArrowDown") { + event.preventDefault(); + setActiveIndex((index) => + filtered.length === 0 ? 0 : (index + 1) % filtered.length, + ); + } else if (event.key === "ArrowUp") { + event.preventDefault(); + setActiveIndex((index) => + filtered.length === 0 + ? 0 + : (index - 1 + filtered.length) % filtered.length, + ); + } else if (event.key === "Home") { + event.preventDefault(); + setActiveIndex(0); + } else if (event.key === "End") { + event.preventDefault(); + setActiveIndex(Math.max(0, filtered.length - 1)); + } else if (event.key === "Enter") { + event.preventDefault(); + const command = filtered[activeIndex]; + if (command) runCommand(command); + } + }; + + return ( + + + Command palette +
+ + { + setQuery(event.target.value); + setActiveIndex(0); + }} + onKeyDown={handleInputKeyDown} + /> +
+
+ {filtered.length === 0 ? ( +

+ No matching commands +

+ ) : ( + filtered.map((command, index) => { + const Icon = command.icon; + const previousGroup = filtered[index - 1]?.group; + const showGroup = command.group !== previousGroup; + const isActive = index === activeIndex; + return ( +
+ {showGroup ? ( +
+ {command.group} +
+ ) : null} + +
+ ); + }) + )} +
+
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/command/KeyboardShortcutsDialog.tsx b/apps/geolibre-desktop/src/components/command/KeyboardShortcutsDialog.tsx new file mode 100644 index 0000000..ba5c786 --- /dev/null +++ b/apps/geolibre-desktop/src/components/command/KeyboardShortcutsDialog.tsx @@ -0,0 +1,137 @@ +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@geolibre/ui"; +import { useMemo } from "react"; +import { + type Command, + type Shortcut, + PALETTE_SHORTCUT, + SHORTCUTS_HELP_SHORTCUT, + formatShortcut, + isMacPlatform, +} from "../../lib/commands"; + +interface KeyboardShortcutsDialogProps { + open: boolean; + commands: Command[]; + onOpenChange: (open: boolean) => void; +} + +interface ShortcutRow { + id: string; + label: string; + /** A command-style shortcut, formatted per platform. */ + shortcut?: Shortcut; + /** A pre-rendered key label, for keys handled natively by MapLibre. */ + display?: string; +} + +/** + * Map navigation keys handled by MapLibre's own keyboard interaction (not the + * command registry), listed for discoverability. These mirror Google Earth's + * navigation keys and only work while the map canvas has focus. + */ +const MAP_NAVIGATION_ROWS: ShortcutRow[] = [ + { id: "nav.zoom-in", label: "Zoom in", display: "+" }, + { id: "nav.zoom-out", label: "Zoom out", display: "−" }, + { id: "nav.pan", label: "Pan", display: "← ↑ ↓ →" }, + { id: "nav.rotate", label: "Rotate", display: "⇧ ← / →" }, + { id: "nav.tilt", label: "Tilt", display: "⇧ ↑ / ↓" }, +]; + +/** + * A cheat sheet (opened with `?`) listing every global keyboard shortcut, + * grouped the same way as the command palette. + */ +export function KeyboardShortcutsDialog({ + open, + commands, + onOpenChange, +}: KeyboardShortcutsDialogProps) { + const isMac = useMemo(() => isMacPlatform(), []); + + const groups = useMemo(() => { + const ordered: Array<{ group: string; rows: ShortcutRow[] }> = []; + const indexByGroup = new Map(); + const pushRow = (group: string, row: ShortcutRow) => { + let position = indexByGroup.get(group); + if (position === undefined) { + position = ordered.length; + indexByGroup.set(group, position); + ordered.push({ group, rows: [] }); + } + ordered[position].rows.push(row); + }; + + // The palette and cheat-sheet shortcuts are not commands, so list them + // first under a "General" group. + pushRow("General", { + id: "general.open-command-palette", + label: "Open command palette", + shortcut: PALETTE_SHORTCUT, + }); + pushRow("General", { + id: "general.show-keyboard-shortcuts", + label: "Show keyboard shortcuts", + shortcut: SHORTCUTS_HELP_SHORTCUT, + }); + + for (const command of commands) { + if (command.shortcut) { + pushRow(command.group, { + id: command.id, + label: command.title, + shortcut: command.shortcut, + }); + } + } + + // Append the MapLibre-native navigation keys as a final, display-only group. + for (const row of MAP_NAVIGATION_ROWS) { + pushRow("Map navigation", row); + } + return ordered; + }, [commands]); + + return ( + + + + Keyboard shortcuts + + Press {formatShortcut(PALETTE_SHORTCUT, isMac)} to search every + action in the command palette. + + +
+ {groups.map(({ group, rows }) => ( +
+

+ {group} +

+
    + {rows.map((row) => ( +
  • + {row.label} + + {row.shortcut + ? formatShortcut(row.shortcut, isMac) + : row.display} + +
  • + ))} +
+
+ ))} +
+
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/common/error-boundaries.tsx b/apps/geolibre-desktop/src/components/common/error-boundaries.tsx new file mode 100644 index 0000000..f11dea6 --- /dev/null +++ b/apps/geolibre-desktop/src/components/common/error-boundaries.tsx @@ -0,0 +1,189 @@ +import { + Button, + ErrorBoundary, + type ErrorBoundaryFallbackProps, +} from "@geolibre/ui"; +import { AlertTriangle, RefreshCw, X } from "lucide-react"; +import type { ErrorInfo, ReactNode } from "react"; +import { useTranslation } from "react-i18next"; + +import { appendDiagnostic } from "../../lib/diagnostics"; + +/** + * Records a boundary-caught error in the diagnostics panel so it is visible to + * the user (and copyable for bug reports) instead of only landing in the + * console. + * + * Note: in development React re-throws boundary-caught errors as a synthetic + * `window.error` event, which `installDiagnosticsCapture` also records — so + * each error shows up twice in the Diagnostics panel in dev mode. Production + * builds (where React does not re-throw) record it once. + */ +function reportBoundaryError( + label: string, + error: Error, + info?: ErrorInfo, +): void { + appendDiagnostic({ + category: "runtime", + level: "error", + message: `${label} crashed: ${error.message}`, + detail: [error.stack, info?.componentStack] + .filter((part): part is string => Boolean(part)) + .join("\n\n"), + source: label, + }); +} + +export { reportBoundaryError }; + +/** + * Top-level boundary. A render error anywhere not caught by a more specific + * boundary lands here and shows a full-screen recovery panel rather than a + * blank page. Reloading is the surest recovery for an error this high in the + * tree, so the primary action reloads the app; "Try again" attempts an in-place + * recovery without losing unsaved work. + */ +export function AppErrorBoundary({ children }: { children: ReactNode }) { + return ( + reportBoundaryError("Application", error, info)} + fallback={({ error, reset }) => ( +
+ +
+

Something went wrong

+

+ GeoLibre hit an unexpected error and could not continue. Your work + may be unsaved — try recovering before reloading. +

+

+ {/* Non-Error throws (common from plugin code) have no .message. */} + {error.message || String(error)} +

+
+
+ + +
+
+ )} + > + {children} +
+ ); +} + +/** + * Boundary for an individual region of the shell (a panel, the toolbar, the map + * surface, etc.). A crash in one region shows a compact inline notice and a + * retry button while the rest of the app keeps working. `resetKeys` lets the + * region recover automatically when its driving inputs change. + */ +export function SectionErrorBoundary({ + label, + children, + fallbackClassName, + resetKeys, + onClose, +}: { + label: string; + children: ReactNode; + /** + * Class applied to the error fallback container. It has no effect during + * normal rendering — the boundary injects no wrapper around its children. + */ + fallbackClassName?: string; + resetKeys?: readonly unknown[]; + /** + * When the crashed section owns its own close control (a dockable panel whose + * header is replaced by this fallback), pass a closer so the user is not + * stranded when Retry keeps re-throwing — the fallback then offers a "Close" + * action that dismisses the section entirely. + */ + onClose?: () => void; +}) { + return ( + reportBoundaryError(label, error, info)} + fallback={({ reset }) => ( + + )} + > + {children} + + ); +} + +/** + * Boundary for a non-essential overlay (e.g. a badge floating over the map): on + * error it renders nothing rather than a visible fallback, but still reports to + * diagnostics. Use it so a faulty overlay can never take down the surrounding + * UI it shares a subtree with. + */ +export function SilentErrorBoundary({ + label, + children, +}: { + label: string; + children: ReactNode; +}) { + return ( + reportBoundaryError(label, error, info)} + fallback={() => null} + > + {children} + + ); +} + +function SectionErrorFallback({ + label, + reset, + className, + onClose, +}: Pick & { + label: string; + className?: string; + onClose?: () => void; +}) { + const { t } = useTranslation(); + return ( +
+ +

+ {label} failed to render. The rest of GeoLibre is still available. +

+
+ + {onClose ? ( + + ) : null} +
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/layout/AboutDialog.tsx b/apps/geolibre-desktop/src/components/layout/AboutDialog.tsx new file mode 100644 index 0000000..de7c548 --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/AboutDialog.tsx @@ -0,0 +1,327 @@ +import { + Button, + type ButtonProps, + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@geolibre/ui"; +import { CheckCircle2, ExternalLink, Info, Map, RefreshCw } from "lucide-react"; +import { useCallback, useEffect, useRef, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { openExternalLink } from "../../lib/open-external"; +import { + APP_VERSION, + compareVersions, + fetchLatestRelease, + IS_STORE_BUILD, + UPDATE_URL, + UpdateCheckError, +} from "../../lib/updates"; +import { ReleaseNotes } from "./ReleaseNotes"; +import { UpdateInstructions } from "./UpdateInstructions"; + +const LINKS = [ + { + labelKey: "about.homePage", + href: "https://geolibre.app", + }, + { + labelKey: "about.githubRepository", + href: "https://github.com/opengeos/GeoLibre", + }, +] as const; + +type UpdateStatus = "idle" | "checking" | "current" | "available" | "error"; + +interface AboutDialogProps { + checkForUpdatesRequest?: number; + open?: boolean; + onOpenChange?: (open: boolean) => void; + renderTrigger?: boolean; + buttonClassName?: string; + buttonSize?: ButtonProps["size"]; + iconClassName?: string; + showLabels?: boolean; +} + +export function AboutDialog({ + checkForUpdatesRequest = 0, + open, + onOpenChange, + renderTrigger = true, + buttonClassName, + buttonSize = "sm", + iconClassName, + showLabels = true, +}: AboutDialogProps) { + const { t } = useTranslation(); + const [internalOpen, setInternalOpen] = useState(false); + const [updateStatus, setUpdateStatus] = useState("idle"); + const [latestVersion, setLatestVersion] = useState(null); + const [latestNotes, setLatestNotes] = useState(""); + const [latestUrl, setLatestUrl] = useState(UPDATE_URL); + const [updateError, setUpdateError] = useState(null); + const abortRef = useRef(null); + const handledCheckForUpdatesRequestRef = useRef(0); + const wasOpenRef = useRef(false); + const dialogOpen = open ?? internalOpen; + + useEffect(() => () => abortRef.current?.abort(), []); + + const resetUpdateState = useCallback(() => { + setUpdateStatus("idle"); + setLatestVersion(null); + setLatestNotes(""); + setLatestUrl(UPDATE_URL); + setUpdateError(null); + }, []); + + const describeUpdateError = useCallback( + (error: unknown): string => { + if (error instanceof UpdateCheckError) { + switch (error.code) { + case "rateLimit": + return t("updates.error.rateLimit"); + case "http": + return t("updates.error.http", { status: error.status }); + case "noTag": + return t("updates.error.noTag"); + case "network": + default: + return t("updates.error.network"); + } + } + // Non-UpdateCheckError (an unexpected failure): reuse the network message + // rather than duplicating the generic header string shown above it. + return t("updates.error.network"); + }, + [t], + ); + + const handleCheckForUpdates = async () => { + // Belt-and-braces: the Store build hides every trigger for this flow; this + // guard ensures it never reaches out to GitHub even if one slips through + // (policy 10.2.5). + if (IS_STORE_BUILD) return; + abortRef.current?.abort(); + const controller = new AbortController(); + abortRef.current = controller; + setUpdateStatus("checking"); + setLatestVersion(null); + setLatestNotes(""); + setLatestUrl(UPDATE_URL); + setUpdateError(null); + + try { + const release = await fetchLatestRelease(controller.signal); + setLatestVersion(release.version); + setLatestNotes(release.notes); + setLatestUrl(release.url); + setUpdateStatus( + compareVersions(APP_VERSION, release.version) < 0 + ? "available" + : "current", + ); + } catch (error) { + if (error instanceof Error && error.name === "AbortError") return; + console.error("Failed to check for updates", error); + setUpdateStatus("error"); + setUpdateError(describeUpdateError(error)); + } + }; + + useEffect(() => { + if (dialogOpen && !wasOpenRef.current) resetUpdateState(); + wasOpenRef.current = dialogOpen; + }, [dialogOpen, resetUpdateState]); + + // Read the latest handler through a ref so the effect can depend only on + // the command counter; the update check should run exactly once for each + // increment. Invariant: call sites must increment checkForUpdatesRequest + // only while also opening the dialog; an increment made while the dialog + // stays closed would fire the check on the next open instead. + const handleCheckForUpdatesRef = useRef(handleCheckForUpdates); + handleCheckForUpdatesRef.current = handleCheckForUpdates; + + useEffect(() => { + if ( + !dialogOpen || + checkForUpdatesRequest === 0 || + checkForUpdatesRequest === handledCheckForUpdatesRequestRef.current + ) { + return; + } + handledCheckForUpdatesRequestRef.current = checkForUpdatesRequest; + void handleCheckForUpdatesRef.current(); + }, [checkForUpdatesRequest, dialogOpen]); + + const handleOpenChange = (nextOpen: boolean) => { + setInternalOpen(nextOpen); + onOpenChange?.(nextOpen); + }; + + return ( + + {renderTrigger ? ( + + + + ) : null} + + + + + {t("about.title")} + + {t("about.description")} + +
+ + + ); +} diff --git a/apps/geolibre-desktop/src/components/layout/AddDataDialog.tsx b/apps/geolibre-desktop/src/components/layout/AddDataDialog.tsx new file mode 100644 index 0000000..ad23bb0 --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/AddDataDialog.tsx @@ -0,0 +1,171 @@ +import { useAppStore } from "@geolibre/core"; +import type { MapController } from "@geolibre/map"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@geolibre/ui"; +import { Database } from "lucide-react"; +import { useCallback, useMemo, useState, type RefObject } from "react"; +import { useTranslation } from "react-i18next"; +import { AddDataShellProvider } from "./add-data/context"; +import { KIND_I18N_KEY } from "./add-data/constants"; +import { ArcGISSource } from "./add-data/sources/ArcGISSource"; +import { CadSource } from "./add-data/sources/CadSource"; +import { DeckVizSource } from "./add-data/sources/DeckVizSource"; +import { DelimitedTextSource } from "./add-data/sources/DelimitedTextSource"; +import { GeoRssSource } from "./add-data/sources/GeoRssSource"; +import { GpxSource } from "./add-data/sources/GpxSource"; +import { MbtilesSource } from "./add-data/sources/MbtilesSource"; +import { OgcVectorTilesSource } from "./add-data/sources/OgcVectorTilesSource"; +import { PhotosSource } from "./add-data/sources/PhotosSource"; +import { PostgresSource } from "./add-data/sources/PostgresSource"; +import { VideoSource } from "./add-data/sources/VideoSource"; +import { WfsSource } from "./add-data/sources/WfsSource"; +import { WmsSource } from "./add-data/sources/WmsSource"; +import { WmtsSource } from "./add-data/sources/WmtsSource"; +import { XyzSource } from "./add-data/sources/XyzSource"; +import type { AddDataKind } from "./add-data/types"; +import type { OpenAddDataPostgres } from "./add-data/open-add-data"; +import { useMartinConnection } from "./add-data/useMartinConnection"; + +export type { AddDataKind } from "./add-data/types"; + +interface AddDataDialogProps { + kind: AddDataKind | null; + mapControllerRef: RefObject; + onOpenChange: (open: boolean) => void; + /** + * Deck.gl Layer kind to pre-select when the dialog opens as `deckgl-viz` + * (e.g. a "3D model" menu entry opens it on the scenegraph layer type). + */ + initialDeckVizKind?: string; + /** + * Connection (and optional table) to pre-select when the dialog opens as + * `postgres` — set when the Browser panel opens a saved connection or a + * clicked PostGIS table. + */ + initialPostgres?: OpenAddDataPostgres; +} + +/** + * Renders the active data-source subcomponent for the given kind. Each source + * is self-contained: it owns its own form state and submit logic and reads the + * shared services from the dialog shell via context. + */ +function renderSource( + kind: AddDataKind, + initialDeckVizKind: string | undefined, + initialPostgres: OpenAddDataPostgres | undefined, +) { + switch (kind) { + case "xyz": + return ; + case "wms": + return ; + case "wfs": + return ; + case "wmts": + return ; + case "ogc-vector-tiles": + return ; + case "gpx": + return ; + case "georss": + return ; + case "delimited-text": + return ; + case "cad": + return ; + case "photos": + return ; + case "mbtiles": + return ; + case "arcgis": + return ; + case "postgres": + return ; + case "video": + return ; + case "deckgl-viz": + return ; + default: + return null; + } +} + +/** + * Shell for the Add Data dialog. Owns the cross-cutting state (submit-in-progress, + * the Martin connection that must survive source remounts) and exposes shared + * services to the per-source subcomponents through context. + */ +export function AddDataDialog({ + kind, + mapControllerRef, + onOpenChange, + initialDeckVizKind, + initialPostgres, +}: AddDataDialogProps) { + const { t } = useTranslation(); + const open = kind !== null; + const addLayer = useAppStore((s) => s.addLayer); + const existingLayers = useAppStore((s) => s.layers); + const [isSubmitting, setIsSubmitting] = useState(false); + const martin = useMartinConnection(); + + const title = kind + ? t(`addData.kind.${KIND_I18N_KEY[kind]}.label`) + : t("addData.title"); + const description = kind + ? t(`addData.kind.${KIND_I18N_KEY[kind]}.description`) + : ""; + + const closeDialog = useCallback(() => { + martin.stopTransient(); + onOpenChange(false); + }, [martin, onOpenChange]); + + const handleOpenChange = (next: boolean) => { + if (!next && isSubmitting) return; + if (!next) martin.stopTransient(); + onOpenChange(next); + }; + + // Memoized so context consumers (the source forms) only re-render when shell + // state actually changes, not on every shell render. Effective because + // `martin` and `closeDialog` are stable across renders (see their hooks). + const contextValue = useMemo( + () => ({ + mapControllerRef, + addLayer, + existingLayers, + isSubmitting, + setIsSubmitting, + closeDialog, + martin, + }), + [mapControllerRef, addLayer, existingLayers, isSubmitting, closeDialog, martin], + ); + + return ( + + + + + + {title} + + {description} + + + {kind ? ( + + {renderSource(kind, initialDeckVizKind, initialPostgres)} + + ) : null} + + + ); +} diff --git a/apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx b/apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx new file mode 100644 index 0000000..2ce9fe1 --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx @@ -0,0 +1,476 @@ +import { useRef, useState, type FormEvent } from "react"; +import { useTranslation } from "react-i18next"; +import { + addCloudNetcdfLayer, + listKerchunkVariables, + loadKerchunkReference, + openLocalNetcdf, + type GeoLibreAppAPI, + type KerchunkRefs, + type KerchunkVariable, + type LocalNetcdfFile, +} from "@geolibre/plugins"; +import { + Button, + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + Input, + Label, + Select, +} from "@geolibre/ui"; +import { Boxes, FileUp } from "lucide-react"; +import { openLocalDataFileWithFallback } from "../../lib/tauri-io"; +import { SampleDataSelect } from "./add-data/shared"; + +// A real sample: NOAA NCEP/NCAR Reanalysis surface air temperature, stored as a +// Cloud-Optimized NetCDF and served from Source Cooperative (CORS-enabled, +// range-request capable). The reference uses a relative chunk URL, so it +// resolves against the manifest's own location. +const SAMPLE_URL = + "https://data.source.coop/giswqs/opengeos/netcdf/air-temperature.kerchunk.json"; + +// Extensions accepted for a local file: classic NetCDF-3 (.nc/.cdf, via +// netcdfjs) and HDF5-backed NetCDF-4/HDF5 (.nc/.nc4/.h5/.hdf5, via h5wasm). +// `.hdf` (usually HDF4) is omitted since neither backend reads it. +const LOCAL_EXTENSIONS = ["nc", "nc4", "cdf", "h5", "hdf5"]; + +/** A renderable variable, shared shape across the cloud and local readers. */ +type RenderableVariable = KerchunkVariable; + +interface AddNetcdfDialogProps { + open: boolean; + appApi: GeoLibreAppAPI; + onOpenChange: (open: boolean) => void; +} + +/** + * Dialog for adding a NetCDF/HDF5 layer. Two sources are supported: a remote + * Cloud-Optimized NetCDF via a kerchunk reference URL (read over HTTP range + * requests), or a local HDF5/NetCDF-4 file decoded in-browser with h5wasm. In + * both cases the user picks a renderable variable (and any leading dimension + * index), and the layer renders through the shared Zarr control. + */ +export function AddNetcdfDialog({ + open, + appApi, + onOpenChange, +}: AddNetcdfDialogProps) { + const { t } = useTranslation(); + const [source, setSource] = useState<"url" | "file">("url"); + const [url, setUrl] = useState(""); + // The local file opened in the WASM filesystem, kept between "Load variables" + // and submit so the (potentially large) decode happens once. Closed on reset. + const [localFile, setLocalFile] = useState(null); + const [fileName, setFileName] = useState(""); + const [variables, setVariables] = useState([]); + const [variable, setVariable] = useState(""); + // The normalized reference from the last successful URL load, reused on submit + // so the (potentially large) manifest is not fetched a second time. + const [loadedRefs, setLoadedRefs] = useState(null); + const [dimIndex, setDimIndex] = useState>({}); + const [climMin, setClimMin] = useState(""); + const [climMax, setClimMax] = useState(""); + const [loadingVars, setLoadingVars] = useState(false); + const [adding, setAdding] = useState(false); + const [error, setError] = useState(null); + const [status, setStatus] = useState(null); + // Incremented on every reset; lets in-flight async handlers detect that the + // dialog was closed/reopened and bail out before stomping fresh state. + const opGen = useRef(0); + // Holds the currently-open local file so it can be closed synchronously on + // reset even if the latest setLocalFile has not flushed to state yet. + const openFileRef = useRef(null); + + const selectedVar = variables.find((v) => v.name === variable); + // Dimensions other than the trailing two (lat/lon) need a fixed index. + const leadingDims = selectedVar + ? selectedVar.dims.slice(0, Math.max(0, selectedVar.dims.length - 2)) + : []; + + const closeOpenFile = () => { + openFileRef.current?.close(); + openFileRef.current = null; + }; + + const reset = () => { + opGen.current += 1; + closeOpenFile(); + setSource("url"); + setUrl(""); + setLocalFile(null); + setFileName(""); + setVariables([]); + setVariable(""); + setLoadedRefs(null); + setDimIndex({}); + setClimMin(""); + setClimMax(""); + setError(null); + setStatus(null); + setLoadingVars(false); + setAdding(false); + }; + + // Invalidate everything tied to the previously loaded source (URL manifest or + // local file) when the input changes, and bump opGen so an in-flight load for + // the old source cannot write back into state. Bumping opGen makes that load's + // finally skip its own setLoadingVars(false), so the flags are cleared here + // too (otherwise Load variables stays disabled). + const invalidateLoadedSource = () => { + opGen.current += 1; + closeOpenFile(); + setLocalFile(null); + setFileName(""); + setVariables([]); + setVariable(""); + setLoadedRefs(null); + setDimIndex({}); + setClimMin(""); + setClimMax(""); + setStatus(null); + setError(null); + setLoadingVars(false); + setAdding(false); + }; + + const applyLoadedVariables = (vars: RenderableVariable[]) => { + setVariables(vars); + setVariable(vars[0].name); + setStatus(`Found ${vars.length} variable${vars.length > 1 ? "s" : ""}.`); + }; + + const handleLoadVariables = async () => { + const gen = opGen.current; + setError(null); + setStatus(null); + // Clear any prior result so the picker hides and "Add layer" disables while + // a new source loads (avoids submitting a variable from the old dataset). + setVariables([]); + setVariable(""); + setLoadedRefs(null); + setLoadingVars(true); + try { + const refs = await loadKerchunkReference(url.trim()); + const vars = listKerchunkVariables(refs); + if (gen !== opGen.current) return; // dialog was closed/reopened + if (vars.length === 0) { + throw new Error( + "No renderable (2-D or higher) variables found in the reference." + ); + } + setLoadedRefs(refs); + applyLoadedVariables(vars); + } catch (err) { + if (gen !== opGen.current) return; + setVariables([]); + setVariable(""); + setError(err instanceof Error ? err.message : String(err)); + } finally { + if (gen === opGen.current) setLoadingVars(false); + } + }; + + const handleChooseLocalFile = async () => { + setError(null); + setStatus(null); + let selected: { data?: ArrayBuffer; path: string } | null; + try { + selected = await openLocalDataFileWithFallback({ + filters: [{ name: "NetCDF / HDF5", extensions: LOCAL_EXTENSIONS }], + accept: LOCAL_EXTENSIONS.map((ext) => `.${ext}`).join(","), + readBinary: true, + }); + } catch (err) { + setError(err instanceof Error ? err.message : String(err)); + return; + } + if (!selected?.data) return; // dialog dismissed + + // Any prior open file (or URL result) is now stale; bump opGen and close it. + invalidateLoadedSource(); + const gen = opGen.current; + setFileName(selected.path); + setLoadingVars(true); + // Held outside the try so a throw after open (e.g. listVariables on a + // corrupt dataset) still closes the WASM file handle in the catch. + let file: LocalNetcdfFile | null = null; + try { + file = await openLocalNetcdf(selected.data); + const vars = file.listVariables(); + if (gen !== opGen.current) { + file.close(); // dialog was closed/reopened while decoding + return; + } + if (vars.length === 0) { + throw new Error(t("addData.netcdf.errorNoVariables")); + } + openFileRef.current = file; + setLocalFile(file); + applyLoadedVariables(vars); + } catch (err) { + // Close the just-opened handle unless it was stored for later use. + if (file && openFileRef.current !== file) file.close(); + if (gen !== opGen.current) return; + setError(err instanceof Error ? err.message : String(err)); + } finally { + if (gen === opGen.current) setLoadingVars(false); + } + }; + + const handleSubmit = async (event: FormEvent) => { + event.preventDefault(); + if (!variable) return; + const gen = opGen.current; + setError(null); + setAdding(true); + try { + const selector: Record = {}; + for (const dim of leadingDims) { + // Zarr indices are non-negative integers; clamp/truncate user input. + const parsed = Number(dimIndex[dim] ?? "0"); + selector[dim] = Number.isFinite(parsed) ? Math.max(0, Math.trunc(parsed)) : 0; + } + const min = climMin.trim() === "" ? undefined : Number(climMin); + const max = climMax.trim() === "" ? undefined : Number(climMax); + const clim = + min !== undefined && + max !== undefined && + Number.isFinite(min) && + Number.isFinite(max) && + min < max + ? ([min, max] as [number, number]) + : undefined; + + if (source === "file") { + const file = localFile; + if (!file) throw new Error(t("addData.netcdf.errorNoFile")); + // Yield once so the "Adding..." state paints before the synchronous, + // CPU-heavy decode/base64-encode of a potentially large local grid. + await new Promise((resolve) => setTimeout(resolve, 0)); + const { refs } = file.buildLayerRefs(variable, selector); + // Use just the file's base name (fileName is a full path on desktop) so + // the derived layer name is clean on every platform. Encode it so a name + // with URL-special chars (#, ?, %) survives layerNameFromUrl's new + // URL(...) parse; that helper decodes it again for the display name. + const baseName = fileName.split(/[\\/]/).pop() || "netcdf"; + await addCloudNetcdfLayer(appApi, { + url: `local:${encodeURIComponent(baseName)}`, + refs, + variable, + clim, + }); + } else { + await addCloudNetcdfLayer(appApi, { + url: url.trim(), + refs: loadedRefs ?? undefined, + variable, + selector: leadingDims.length > 0 ? selector : undefined, + clim, + }); + } + if (gen !== opGen.current) return; // dialog was closed/reopened + onOpenChange(false); + reset(); + } catch (err) { + if (gen !== opGen.current) return; + setError(err instanceof Error ? err.message : String(err)); + } finally { + if (gen === opGen.current) setAdding(false); + } + }; + + return ( + { + if (!next) reset(); + onOpenChange(next); + }} + > + + + + + {t("addData.netcdf.title")} + + + {t("addData.netcdf.description")} + + + +
+ {/* The title/description and the local-file cohort of strings added + here are routed through t(). The older Cloud-URL prose (kerchunk + URL label, variable/color inputs, buttons) predates the Add Data + i18n catalog and remains English pre-existing debt, out of scope + for this change. */} +
+ + +
+ + {source === "url" ? ( + <> + { + invalidateLoadedSource(); + setUrl(sampleUrl); + }} + /> +
+ +
+ { + invalidateLoadedSource(); + setUrl(event.target.value); + }} + /> + +
+

+ Choose a sample dataset above, or paste your own kerchunk + reference URL, then click Load variables. +

+
+ + ) : ( +
+ + + {fileName && ( +

{fileName}

+ )} +

+ {t("addData.netcdf.localFileHelp")} +

+
+ )} + + {variables.length > 0 && ( +
+ + +
+ )} + + {leadingDims.map((dim) => ( +
+ + + setDimIndex((prev) => ({ + ...prev, + [dim]: event.target.value, + })) + } + /> +
+ ))} + + {variables.length > 0 && ( +
+
+ + setClimMin(event.target.value)} + /> +
+
+ + setClimMax(event.target.value)} + /> +
+
+ )} + + {error &&

{error}

} + {status && !error && ( +

{status}

+ )} + +
+ + +
+ +
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/layout/BoundsRestrictionIndicator.tsx b/apps/geolibre-desktop/src/components/layout/BoundsRestrictionIndicator.tsx new file mode 100644 index 0000000..1a86bea --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/BoundsRestrictionIndicator.tsx @@ -0,0 +1,50 @@ +import { useAppStore } from "@geolibre/core"; +import { Lock } from "lucide-react"; +import { useTranslation } from "react-i18next"; + +/** + * Subtle corner badge that appears on the map only while the project's + * "Restrict map bounds" preference is enabled. It gives users a visible cue + * that panning/zooming is intentionally constrained (rather than the app being + * frozen), with a tooltip pointing them back to Settings to change it. + * + * Anchored to the bottom-left corner: the top-left corner is where most map + * control plugins (GeoEditor, Basemaps, NASA Earthdata, ...) cluster, so a + * top-left badge overlapped and hid the first plugin button. The small + * bottom offset keeps it clear of the bottom-left scale control when that is + * enabled. The other bottom-left occupant, the collaboration status badge + * (CollaborationStatusBadge), already accounts for this badge: it lifts itself + * to `bottom-20` (above this `bottom-12`) when a session is active and bounds + * are restricted. If yet another bottom-left control is added, revisit both. + * (The KnowledgeCardPanel also opens bottom-left at `bottom-12`, but as a large + * transient `z-20` panel it overlays these small `z-10` badges while open rather + * than stacking with them.) + */ +export function BoundsRestrictionIndicator() { + const { t } = useTranslation(); + const restrictBounds = useAppStore((s) => s.preferences.map.restrictBounds); + + if (!restrictBounds) { + return null; + } + + const tooltip = t("map.boundsRestrictedTooltip"); + + return ( +
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/layout/CollaborateDialog.tsx b/apps/geolibre-desktop/src/components/layout/CollaborateDialog.tsx new file mode 100644 index 0000000..725c2d0 --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/CollaborateDialog.tsx @@ -0,0 +1,545 @@ +import { useAppStore, type CollaborationMode } from "@geolibre/core"; +import { + Button, + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + Input, + Label, + Select, +} from "@geolibre/ui"; +import { ArrowRight, Check, Copy, Loader2, LogOut, Users } from "lucide-react"; +import { QRCodeSVG } from "qrcode.react"; +import { useEffect, useMemo, useRef, useState } from "react"; +import { useTranslation } from "react-i18next"; +import type { CollaborationApi } from "../../hooks/useCollaboration"; +import { CollaborationParticipantRow } from "./CollaborationParticipantRow"; + +// A small fixed palette so participant colors stay distinct and legible. Each +// entry pairs a hex value with a human-readable name for the swatch aria-label. +const COLOR_PALETTE = [ + { hex: "#2563eb", name: "blue" }, + { hex: "#dc2626", name: "red" }, + { hex: "#16a34a", name: "green" }, + { hex: "#d97706", name: "amber" }, + { hex: "#9333ea", name: "purple" }, + { hex: "#0891b2", name: "cyan" }, + { hex: "#db2777", name: "pink" }, + { hex: "#65a30d", name: "lime" }, +]; +const DEFAULT_COLOR = COLOR_PALETTE[0]?.hex ?? "#2563eb"; + +interface CollaborateDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + api: CollaborationApi; +} + +/** + * Dialog for starting, joining, and managing a live collaboration session. + * Reads live session state from the store and drives it through the + * {@link CollaborationApi} provided by `useCollaboration`. + */ +export function CollaborateDialog({ + open, + onOpenChange, + api, +}: CollaborateDialogProps) { + const { t } = useTranslation(); + const collaboration = useAppStore((s) => s.collaboration); + const isActive = collaboration.isActive; + + const [name, setName] = useState(""); + const [color, setColor] = useState(DEFAULT_COLOR); + const [mode, setMode] = useState("co-edit"); + const [code, setCode] = useState(""); + // True when the dialog was opened from a `?collab=` invite link, which + // streamlines the layout to a single Join action (the "Start a session" + // controls are irrelevant to an invited participant). Cleared if the user + // explicitly chooses to host instead, or after a failed join, so they can + // still fall back to the full layout. + const [invited, setInvited] = useState(false); + const [busy, setBusy] = useState(false); + const [error, setError] = useState(null); + const [copied, setCopied] = useState<"code" | "link" | null>(null); + const copyTimer = useRef(null); + + // Seed from a prior session (or a ?collab= deep link) when the dialog opens. + useEffect(() => { + if (!open) { + // Forget any prior invite context on close. The `?collab=` code is + // stripped from the URL on first read, so a later manual reopen has no + // invite link and should show the full layout, not the invited view. + setInvited(false); + return; + } + setError(null); + setBusy(false); + setName((prev) => prev || collaboration.selfName); + setColor((prev) => collaboration.selfColor || prev); + const url = new URL(window.location.href); + const fromUrl = url.searchParams.get("collab"); + if (fromUrl) { + setCode(fromUrl); + setInvited(true); + // Strip the code from the address bar (and thus history/referrer) once + // read, so the session code doesn't linger after joining. + url.searchParams.delete("collab"); + window.history.replaceState({}, "", url.toString()); + } + }, [open, collaboration.selfName, collaboration.selfColor]); + + useEffect( + () => () => { + if (copyTimer.current !== null) window.clearTimeout(copyTimer.current); + }, + [], + ); + + const shareLink = useMemo(() => { + if (!collaboration.sessionId) return ""; + const url = new URL(window.location.href); + url.searchParams.set("collab", collaboration.sessionId); + return url.toString(); + }, [collaboration.sessionId]); + + const handleCopy = (kind: "code" | "link", value: string) => { + navigator.clipboard + .writeText(value) + .then(() => { + if (copyTimer.current !== null) window.clearTimeout(copyTimer.current); + setCopied(kind); + copyTimer.current = window.setTimeout(() => setCopied(null), 2000); + }) + .catch(() => { + setError(t("collaborate.copyFailed")); + }); + }; + + const handleStart = async () => { + if (!name.trim()) { + setError(t("collaborate.nameRequired")); + return; + } + setBusy(true); + setError(null); + try { + await api.start(name.trim(), color, mode); + } catch (err) { + // Show a localized message; keep the raw error in the console for + // diagnostics (collab-client throws human-readable English strings). + console.error("[GeoLibre] Collaboration error", err); + setError(t("collaborate.connectFailed")); + } finally { + setBusy(false); + } + }; + + const handleJoin = async () => { + if (!name.trim()) { + setError(t("collaborate.nameRequired")); + return; + } + if (!code.trim()) { + setError(t("collaborate.codeRequired")); + return; + } + setBusy(true); + setError(null); + try { + await api.join(code.trim(), name.trim(), color); + } catch (err) { + // Show a localized message; keep the raw error in the console for + // diagnostics (collab-client throws human-readable English strings). + console.error("[GeoLibre] Collaboration error", err); + setError(t("collaborate.connectFailed")); + // The invite link could not connect (e.g. an expired or invalid code), so + // reveal the full layout and let the user fix the code or host instead. + setInvited(false); + } finally { + setBusy(false); + } + }; + + const handleLeave = () => { + api.leave(); + onOpenChange(false); + }; + + return ( + + + + + + {t("collaborate.title")} + + {t("collaborate.description")} + + + {isActive ? ( + onOpenChange(false)} + onSetMode={api.setMode} + onSetParticipantMode={api.setParticipantMode} + onSetFollowHost={api.setFollowHost} + /> + ) : ( +
+ {/* Name and color feed both actions below, so group them in a + shaded panel above the cards to read as shared profile inputs + rather than belonging to either Start or Join (#706). */} +
+
+ + setName(e.target.value)} + placeholder={t("collaborate.displayNamePlaceholder")} + maxLength={40} + disabled={busy} + autoFocus + /> +
+
+ + {/* Full panel width keeps every swatch on one row instead of + wrapping a lone dot to a second line (#706). */} +
+ {COLOR_PALETTE.map((c) => ( +
+
+
+ + {/* An invited participant (arrived via a `?collab=` link) only needs + to join, so collapse the layout to a single Join action and hide + the "Start a session" controls that are irrelevant to them + (#753). They can still fall back to hosting via the link below. */} + {invited ? ( +
+
+

+ {t("collaborate.invitedHeading")} +

+

+ {t("collaborate.invitedDescription")} +

+
+
+ + setCode(e.target.value)} + placeholder={t("collaborate.sessionCodePlaceholder")} + disabled={busy} + className="font-mono uppercase" + /> +
+ + +
+ ) : ( + <> +
+

+ {t("collaborate.startHeading")} +

+
+ + +
+ +
+ +
+

+ {t("collaborate.joinHeading")} +

+
+ setCode(e.target.value)} + placeholder={t("collaborate.sessionCodePlaceholder")} + disabled={busy} + className="font-mono uppercase" + /> + +
+
+ + )} + + {/* Show local validation errors and connect failures, the latter + arriving asynchronously in the store (the WebSocket handshake + fails after this dialog's call already resolved). */} + {(error || collaboration.error) && ( +

+ {error || collaboration.error} +

+ )} +
+ )} +
+
+ ); +} + +function ActiveSession({ + shareLink, + copied, + onCopy, + onLeave, + onDismiss, + onSetMode, + onSetParticipantMode, + onSetFollowHost, +}: { + shareLink: string; + copied: "code" | "link" | null; + onCopy: (kind: "code" | "link", value: string) => void; + onLeave: () => void; + onDismiss: () => void; + onSetMode: (mode: CollaborationMode) => void; + onSetParticipantMode: (clientId: string, canEdit: boolean) => void; + onSetFollowHost: (enabled: boolean) => void; +}) { + const { t } = useTranslation(); + const collaboration = useAppStore((s) => s.collaboration); + const isHost = collaboration.role === "host"; + + return ( +
+
+ {collaboration.connecting ? ( + <> + + + {t("collaborate.reconnecting")} + + + ) : ( + <> + + + {t("collaborate.connected")} + + + )} +
+ + {/* Cameras are independent by default; a non-host can opt to follow the + host's viewport (presenter mode). */} + {!isHost && ( + + )} + +
+ +
+ + +
+
+ +
+ +
+ + +
+ {/* Only the host invites others, so the scan-to-join QR is host-only. */} + {isHost && ( +
+
+ +
+

+ {t("collaborate.scanToJoin")} +

+
+ )} +
+ +
+ +
    + {collaboration.participants.map((p) => ( + + ))} +
+
+ + {collaboration.error && ( +

+ {collaboration.error} +

+ )} + + {/* Primary way out of the dialog: dismiss it while keeping the session + live, so the host isn't tempted to use the "X" (which they fear ends + the session) to get back to the map (#754). */} + + +
+ {isHost ? ( + + ) : ( + + )} + +
+
+ ); +} diff --git a/apps/geolibre-desktop/src/components/layout/CollaborationParticipantRow.tsx b/apps/geolibre-desktop/src/components/layout/CollaborationParticipantRow.tsx new file mode 100644 index 0000000..d8cf627 --- /dev/null +++ b/apps/geolibre-desktop/src/components/layout/CollaborationParticipantRow.tsx @@ -0,0 +1,100 @@ +import type { CollaborationMode, CollaborationParticipant } from "@geolibre/core"; +import { Eye, Pencil } from "lucide-react"; +import { useTranslation } from "react-i18next"; +import { participantCanEdit } from "../../lib/collab-protocol"; + +interface CollaborationParticipantRowProps { + participant: CollaborationParticipant; + /** Current session mode, used to derive effective edit permission. */ + mode: CollaborationMode; + /** True when this row is the local user (adds a "(you)" tag). */ + isSelf: boolean; + /** True when the viewer is the host and may change this participant's + * permission. A toggle button replaces the read-only indicator. The host's + * own row never shows a control. */ + canManage: boolean; + onSetParticipantMode: (clientId: string, canEdit: boolean) => void; + /** Render the smaller variant used in the on-canvas badge roster. */ + compact?: boolean; +} + +/** + * One participant row shared by the Collaborate dialog roster and the on-canvas + * status-badge roster (#754): color swatch, name, "you" / host tags, and either + * a host-only per-participant permission toggle or a read-only permission + * indicator. `compact` selects the badge's tighter sizing. + */ +export function CollaborationParticipantRow({ + participant: p, + mode, + isSelf, + canManage, + onSetParticipantMode, + compact = false, +}: CollaborationParticipantRowProps) { + const { t } = useTranslation(); + const editable = participantCanEdit(p, mode); + const isHostRow = p.role === "host"; + // The host can pin any guest (never themselves) to view-only / edit. + const showToggle = canManage && !isHostRow; + const permIcon = editable ? ( +
+
+ {t("about.version")} + v{APP_VERSION} +
+ {/* The Microsoft Store build omits the entire in-app update flow + so the app updates only through the Store (policy 10.2.5). */} + {!IS_STORE_BUILD && ( + <> + + {updateStatus !== "idle" && updateStatus !== "checking" ? ( +
+ {updateStatus === "current" ? ( +
+ + + {latestVersion + ? t("about.upToDate", { version: latestVersion }) + : t("about.upToDateNoVersion")} + +
+ ) : null} + {updateStatus === "available" ? ( +
+
+ {t("updates.available.title", { + version: latestVersion ?? t("updates.available.fallback"), + })} +
+
+ {t("updates.available.summary", { + current: `v${APP_VERSION}`, + })} +
+
+
+ {t("updates.changelogTitle")} +
+ +
+
+
+ {t("updates.stepsTitle")} +
+ +
+ +
+ ) : null} + {updateStatus === "error" ? ( +
+
+ {t("updates.error.message")} +
+ {updateError ? ( +
+ {updateError} +
+ ) : null} + {/* Group the hint with its button and divide it from the error + message above so the two muted lines do not read as one. */} +
+
+ {t("updates.error.viewDownloadsHint")} +
+ +
+
+ ) : null} +
+ ) : null} + + )} +
+

?3TK9>WQkrL^BykdU6}#hFn%Q8N&E;um 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 literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/apps/geolibre-desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..48e94f51691072ab97de3dfb4944b11871acb9b7 GIT binary patch literal 31530 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 B`!xUn literal 0 HcmV?d00001 diff --git a/apps/geolibre-desktop/src-tauri/icons/android/values/ic_launcher_background.xml b/apps/geolibre-desktop/src-tauri/icons/android/values/ic_launcher_background.xml new file mode 100644 index 0000000..3024847 --- /dev/null +++ b/apps/geolibre-desktop/src-tauri/icons/android/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #fff + diff --git a/apps/geolibre-desktop/src-tauri/icons/icon.icns b/apps/geolibre-desktop/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..2ca3b2e45e04439501b842c8d9ea75813f9909d0 GIT binary patch literal 891622 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⪚YZme6qLjtdSrvNg5og^fn@g_L(r+0YPe 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