@arcgis/core 4.33.0-next.20250524 → 4.34.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AggregateGraphic.js +1 -1
- package/AttributeBinsGraphic.js +1 -1
- package/Basemap.js +1 -1
- package/Camera.js +1 -1
- package/CameraLayout.js +1 -1
- package/Color.js +1 -1
- package/Graphic.js +1 -1
- package/Ground.js +1 -1
- package/Map.js +2 -2
- package/PopupTemplate.js +1 -1
- package/TimeExtent.js +1 -1
- package/TimeInterval.js +1 -1
- package/TrackGraphic.js +1 -1
- package/UndoRedo.js +1 -1
- package/Viewpoint.js +1 -1
- package/WebDocument2D.js +1 -1
- package/WebLinkChart.js +1 -1
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/Analysis.js +1 -1
- package/analysis/AreaMeasurementAnalysis.js +1 -1
- package/analysis/DimensionAnalysis.js +1 -1
- package/analysis/DimensionSimpleStyle.js +1 -1
- package/analysis/DirectLineMeasurementAnalysis.js +1 -1
- package/analysis/LengthDimension.js +1 -1
- package/analysis/LineOfSightAnalysis.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/analysis/SliceAnalysis.js +1 -1
- package/analysis/SlicePlane.js +1 -1
- package/analysis/Viewshed.js +1 -1
- package/analysis/ViewshedAnalysis.js +1 -1
- package/analysis/dimensionUtils.js +1 -1
- package/analysis/featureReferenceUtils.js +1 -1
- package/analysis/support/AnalysisOriginWebScene.js +1 -1
- package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
- package/applications/Components/QuantityFormatter.js +1 -1
- package/applications/Components/SelectionOperation.js +1 -1
- package/applications/Components/SketchTooltipControls.js +1 -1
- package/applications/Components/analysisUtils.js +1 -1
- package/applications/Components/baUtils.js +1 -1
- package/applications/Components/basemapUtils.js +1 -1
- package/applications/Components/drawUtils.js +1 -1
- package/applications/Components/fontUtils.js +1 -1
- package/applications/Components/getDefaultUnits.js +1 -1
- package/applications/Components/gfxUtils.js +1 -1
- package/applications/Components/layerOriginUtils.js +1 -1
- package/applications/Components/layersEffectsJsonUtils.js +1 -1
- package/applications/Components/previewSymbol2D.js +1 -1
- package/applications/Components/reactiveUtils.js +1 -1
- package/applications/Components/styleUtils.js +1 -1
- package/applications/Components/svgUtils.js +1 -1
- package/applications/Components/viewUtils.js +1 -1
- package/applications/Components/webStyleSymbolUtils.js +1 -1
- package/applications/Excalibur/videoViewUtils.js +1 -1
- package/applications/ExperienceBuilder/sketchUtils.js +1 -1
- package/applications/KnowledgeStudio/generalSharedKgUtils.js +1 -1
- package/applications/KnowledgeStudio/layerInternalAccessUtils.js +1 -1
- package/applications/KnowledgeStudio/resourceSerializationUtils.js +1 -1
- package/applications/MapViewer/mediaUtils.js +1 -1
- package/applications/MapViewer/templateUtils.js +1 -1
- package/applications/SceneViewer/colorUtils.js +1 -1
- package/applications/SceneViewer/devEnvironmentUtils.js +1 -1
- package/applications/SceneViewer/layerUtils.js +1 -1
- package/applications/SceneViewer/sceneViewerUtils.js +1 -1
- package/applications/SceneViewer/symbolUtils.js +1 -1
- package/applications/Urban/meshUtils.js +1 -1
- package/applications/WebEditor/sketchUtils.js +1 -1
- package/arcade/ArcadeDate.js +1 -1
- package/arcade/ArcadeModule.js +1 -1
- package/arcade/ArcadeModuleLoader.js +1 -1
- package/arcade/ArcadeModuleResolver.js +1 -1
- package/arcade/ArcadePortal.js +1 -1
- package/arcade/Attachment.js +1 -1
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/FunctionWrapper.js +1 -1
- package/arcade/ImmutableArray.js +1 -1
- package/arcade/ImmutablePathArray.js +1 -1
- package/arcade/ImmutablePointArray.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcade.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeEnvironment.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/batchExec.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/credentials.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/enum.js +1 -1
- package/arcade/executionError.js +1 -1
- package/arcade/featureSetCollection.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/AttributeFilter.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/actions/Top.js +1 -1
- package/arcade/featureset/sources/Empty.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/featureset/support/FeatureSetQueryInterceptor.js +1 -1
- package/arcade/featureset/support/Guid.js +1 -1
- package/arcade/featureset/support/IdSet.js +1 -1
- package/arcade/featureset/support/OrderbyClause.js +1 -1
- package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
- package/arcade/featureset/support/StatsField.js +1 -1
- package/arcade/featureset/support/cache.js +1 -1
- package/arcade/featureset/support/errorsupport.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/featureset/support/sqlUtils.js +1 -1
- package/arcade/featureset/support/stats.js +1 -1
- package/arcade/functions/aiServices.js +1 -1
- package/arcade/functions/array.js +1 -1
- package/arcade/functions/centroid.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/hash.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/measures.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/extendedUnitData.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/geometry/operatorsWorker.js +1 -1
- package/arcade/geometry/operatorsWorkerConnection.js +1 -1
- package/arcade/geometry/unitConversion.js +1 -1
- package/arcade/geometry/wkt.js +1 -1
- package/arcade/kernel.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/parser.js +1 -1
- package/arcade/portalUtils.js +1 -1
- package/arcade/request.js +1 -1
- package/arcade/serviceAreaMetaData.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/arcade/validation/arcadeValidator.js +1 -1
- package/arcade/validation/diagnosticMessages.js +1 -1
- package/arcade/validation/languageKeywords.js +1 -1
- package/arcade/validation/types.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{562800b0af52a38a311b.js → 07e58dff44fcbb3b3539.js} +1 -1
- package/assets/esri/core/workers/chunks/094e8aae6dada24c8115.js +1 -0
- package/assets/esri/core/workers/chunks/24327d01cb2c5c55a4b7.js +1 -0
- package/assets/esri/core/workers/chunks/{7174150bf7595c22f976.js → 32ee2708edd307954125.js} +1 -1
- package/assets/esri/core/workers/chunks/{0d78fc2c2bc1152f84db.js → 397b15d46f22718c9f38.js} +1 -1
- package/assets/esri/core/workers/chunks/{a32dcd5bc4680374d30c.js → 40f54c4f8ae63c6f3df9.js} +1 -1
- package/assets/esri/core/workers/chunks/417293f00b2c21cc3175.js +1 -0
- package/assets/esri/core/workers/chunks/{d33a5d79f2163ad62b1d.js → 54f4a1131f99468db076.js} +1 -1
- package/assets/esri/core/workers/chunks/62b2d3720693c93a60f2.js +1 -0
- package/assets/esri/core/workers/chunks/{c6cd8784a3e222eb2d4a.js → 677af0281e4fc9f3bd98.js} +1 -1
- package/assets/esri/core/workers/chunks/{bcadcb709e622f2aaaf9.js → 9ca480eb8b2312381ccf.js} +1 -1
- package/assets/esri/core/workers/chunks/a0f2df8ca7cd14bfa013.js +1 -0
- package/assets/esri/core/workers/chunks/{8008f5479f4d16964088.js → aba19485b6cdcb70dac6.js} +1 -1
- package/assets/esri/core/workers/chunks/{b70f65ccee01d48a610e.js → ac2607f1e8cd2e99907c.js} +2 -2
- package/assets/esri/core/workers/chunks/b06cb23048c32940f5de.js +1 -0
- package/assets/esri/core/workers/chunks/{feaf79b69d2e2a1f2aa2.js → b160dcbea6256e0cf689.js} +1 -1
- package/assets/esri/core/workers/chunks/{09f76ca9b47b465c934f.js → bf3555f91492a1a3b613.js} +1 -1
- package/assets/esri/core/workers/chunks/d3d98ea5b5e56fc60a31.js +1 -0
- package/assets/esri/core/workers/chunks/{bac5e1d50b69f0d94694.js → d7b640f7a181bd26c7c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{e9aa1d9ded8a52a40c57.js → e3c1aea34ece8336dae1.js} +1 -1
- package/assets/esri/core/workers/chunks/{74c0db9e3a62e9839b23.js → e77371ddbaf4b2d9be8d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1415d4e2f5f3193be004.js → ead5d4e271effc04def3.js} +1 -1
- package/assets/esri/core/workers/chunks/{342f61e784c9364a493b.js → ece68a25651ef03fc95d.js} +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets.js +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +1 -1
- package/chunks/BlendLayers.glsl.js +1 -1
- package/chunks/BlendWeights.glsl.js +1 -1
- package/chunks/BloomBlur.glsl.js +1 -1
- package/chunks/BloomComposition.glsl.js +1 -1
- package/chunks/Blur.glsl.js +1 -1
- package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
- package/chunks/Button.js +1 -1
- package/chunks/Centroid-DZi-eb9F.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +1 -1
- package/chunks/CheckerBoard.glsl.js +1 -1
- package/chunks/Clouds.glsl.js +1 -1
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ColorMaterial.glsl.js +1 -1
- package/chunks/ColorSet.js +1 -1
- package/chunks/ComponentShader.glsl.js +1 -1
- package/chunks/Compositing.glsl.js +1 -1
- package/chunks/CypherLexer.js +1 -1
- package/chunks/CypherListener.js +1 -1
- package/chunks/CypherParser.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/DefaultTheme.js +1 -1
- package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
- package/chunks/EdgeDetect.glsl.js +1 -1
- package/chunks/EdgeShader.glsl.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/Envelope2D.js +1 -1
- package/chunks/FocusAreaColor.glsl.js +1 -1
- package/chunks/FocusAreaMask.glsl.js +1 -1
- package/chunks/Fog.glsl.js +1 -1
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
- package/chunks/HUDCompositing.glsl.js +1 -1
- package/chunks/HUDMaterial.glsl.js +1 -1
- package/chunks/Haze.glsl.js +1 -1
- package/chunks/HazeCompositing.glsl.js +1 -1
- package/chunks/Heatmap.glsl.js +1 -1
- package/chunks/HeatmapDensity.glsl.js +1 -1
- package/chunks/HighlightApply.glsl.js +1 -1
- package/chunks/HighlightBlur.glsl.js +1 -1
- package/chunks/HighlightDownsample.glsl.js +1 -1
- package/chunks/HighlightToSingle.glsl.js +1 -1
- package/chunks/ImageMaterial.glsl.js +1 -1
- package/chunks/Jpg.js +1 -1
- package/chunks/LaserlinePath.glsl.js +1 -1
- package/chunks/Laserlines.glsl.js +3 -3
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +1 -1
- package/chunks/LineSeries.js +1 -1
- package/chunks/Magnifier.glsl.js +1 -1
- package/chunks/MeasurementArrow.glsl.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/NoiseTextureAtlas.glsl.js +1 -1
- package/chunks/OITBlend.glsl.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDefinitions.js +1 -1
- package/chunks/OperatorDensify.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingDensify.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/OverlayCompositing.glsl.js +1 -1
- package/chunks/Path.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/Precipitation.glsl.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/RasterColorizer.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +1 -1
- package/chunks/ResponsiveTheme.js +1 -1
- package/chunks/RibbonLine.glsl.js +1 -1
- package/chunks/SSAO.glsl.js +1 -1
- package/chunks/SSAOBlur.glsl.js +1 -1
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowCastClear.glsl.js +1 -1
- package/chunks/ShadowCastVisualize.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +1 -1
- package/chunks/SimpleGeometryCursor.js +1 -1
- package/chunks/SlicePlaneMaterial.glsl.js +1 -1
- package/chunks/Stars.glsl.js +1 -1
- package/chunks/SunCalc.js +1 -1
- package/chunks/Terrain.glsl.js +1 -1
- package/chunks/TextureOnly.glsl.js +1 -1
- package/chunks/Theme.js +1 -1
- package/chunks/Tick.js +1 -1
- package/chunks/TimeExtent.js +1 -1
- package/chunks/TimeInterval.js +1 -1
- package/chunks/Tooltip.js +1 -1
- package/chunks/Transformation2D.js +1 -1
- package/chunks/Viewshed.glsl.js +1 -1
- package/chunks/WaterSurface.glsl.js +1 -1
- package/chunks/Zlib.js +1 -1
- package/chunks/_commonjsHelpers.js +1 -1
- package/chunks/aiServices.js +2 -2
- package/chunks/ajv.bundle.js +1 -1
- package/chunks/antlr4.web.js +1 -1
- package/chunks/ar.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
- package/chunks/arcgis-knowledge-client-core.js +1 -1
- package/chunks/areaOperator.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/basis_encoder.js +1 -1
- package/chunks/basis_transcoder.js +1 -1
- package/chunks/bg_BG.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/bs_BA.js +1 -1
- package/chunks/bufferOperator.js +1 -1
- package/chunks/bundle.js +1 -1
- package/chunks/ca_ES.js +1 -1
- package/chunks/cameraUtilsPlanar.js +1 -1
- package/chunks/cameraUtilsSpherical.js +2 -2
- package/chunks/centroidOperator.js +1 -1
- package/chunks/chartUtilsAm5.js +1 -1
- package/chunks/clipOperator.js +1 -1
- package/chunks/constants.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/convexHullOperator.js +1 -1
- package/chunks/crossesOperator.js +1 -1
- package/chunks/cs_CZ.js +1 -1
- package/chunks/cutOperator.js +1 -1
- package/chunks/da_DK.js +1 -1
- package/chunks/de_CH.js +1 -1
- package/chunks/de_DE.js +1 -1
- package/chunks/densifyOperator.js +1 -1
- package/chunks/differenceOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/distanceOperator.js +1 -1
- package/chunks/dxt_encoder.js +1 -1
- package/chunks/earcut.js +1 -1
- package/chunks/el_GR.js +1 -1
- package/chunks/en_CA.js +1 -1
- package/chunks/en_US.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/es_ES.js +1 -1
- package/chunks/et_EE.js +1 -1
- package/chunks/fi_FI.js +1 -1
- package/chunks/fr_FR.js +1 -1
- package/chunks/generalizeOperator.js +1 -1
- package/chunks/geodesicBufferOperator.js +1 -1
- package/chunks/geodeticAreaOperator.js +1 -1
- package/chunks/geodeticDensifyOperator.js +1 -1
- package/chunks/geodeticLengthOperator.js +1 -1
- package/chunks/geometryEngineBase.js +1 -1
- package/chunks/geometryEngineJSON.js +1 -1
- package/chunks/he_IL.js +1 -1
- package/chunks/hr_HR.js +1 -1
- package/chunks/hu_HU.js +1 -1
- package/chunks/i3s.js +1 -1
- package/chunks/id_ID.js +1 -1
- package/chunks/index.js +1 -1
- package/chunks/intersectionOperator.js +1 -1
- package/chunks/intersectsOperator.js +1 -1
- package/chunks/it_IT.js +1 -1
- package/chunks/ja_JP.js +1 -1
- package/chunks/ko_KR.js +1 -1
- package/chunks/labelPointOperator.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/lclayout.js +1 -1
- package/chunks/lengthOperator.js +1 -1
- package/chunks/lerc-wasm.js +1 -1
- package/chunks/libtess-asm.js +1 -1
- package/chunks/libtess.js +1 -1
- package/chunks/lt_LT.js +1 -1
- package/chunks/lv_LV.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/mat4.js +1 -1
- package/chunks/nb_NO.js +1 -1
- package/chunks/nl_NL.js +1 -1
- package/chunks/offsetOperator.js +1 -1
- package/chunks/overlapsOperator.js +1 -1
- package/chunks/pe-wasm.js +1 -1
- package/chunks/pe.js +1 -1
- package/chunks/persistableUrlUtils.js +1 -1
- package/chunks/pl_PL.js +1 -1
- package/chunks/proximityOperator.js +1 -1
- package/chunks/pt_BR.js +1 -1
- package/chunks/pt_PT.js +1 -1
- package/chunks/quickselect.js +1 -1
- package/chunks/rbush.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/chunks/ro_RO.js +1 -1
- package/chunks/ru_RU.js +1 -1
- package/chunks/scalar.js +1 -1
- package/chunks/simplifyOperator.js +1 -1
- package/chunks/sk_SK.js +1 -1
- package/chunks/sl_SL.js +1 -1
- package/chunks/sphere.js +2 -2
- package/chunks/sr_RS.js +1 -1
- package/chunks/sv_SE.js +1 -1
- package/chunks/symmetricDifferenceOperator.js +1 -1
- package/chunks/terrainUtilsPlanar.js +1 -1
- package/chunks/terrainUtilsSpherical.js +1 -1
- package/chunks/th_TH.js +1 -1
- package/chunks/touchesOperator.js +1 -1
- package/chunks/tr_TR.js +1 -1
- package/chunks/tslib.es6.js +1 -1
- package/chunks/uk_UA.js +1 -1
- package/chunks/unionOperator.js +1 -1
- package/chunks/vec2.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec32.js +1 -1
- package/chunks/vec33.js +1 -1
- package/chunks/vec4.js +1 -1
- package/chunks/vec42.js +2 -2
- package/chunks/vec43.js +1 -1
- package/chunks/vi_VN.js +1 -1
- package/chunks/vxlLayer.js +1 -1
- package/chunks/withinOperator.js +1 -1
- package/chunks/zh_Hans.js +1 -1
- package/chunks/zh_Hant.js +1 -1
- package/colorUtils.js +1 -1
- package/config.js +2 -2
- package/core/Accessor.js +1 -1
- package/core/ArrayPool.js +1 -1
- package/core/AsyncUpdate.js +1 -1
- package/core/BidiEngine.js +1 -1
- package/core/BidiText.js +1 -1
- package/core/ByteSizeUnit.js +1 -1
- package/core/CircularArray.js +1 -1
- package/core/Clonable.js +1 -1
- package/core/Collection.js +1 -1
- package/core/CollectionFlattener.js +1 -1
- package/core/Cyclical.js +1 -1
- package/core/Error.js +1 -1
- package/core/Evented.js +1 -1
- package/core/Handles.js +1 -1
- package/core/HeapSort.js +1 -1
- package/core/Identifiable.js +1 -1
- package/core/JSONSupport.js +1 -1
- package/core/LRUCache.js +1 -1
- package/core/Loadable.js +1 -1
- package/core/Logger.js +1 -1
- package/core/MD5.js +1 -1
- package/core/MapUtils.js +1 -1
- package/core/MemCache.js +1 -1
- package/core/MemCachePool.js +1 -1
- package/core/Message.js +1 -1
- package/core/MultiOriginJSONSupport.js +1 -1
- package/core/NestedMap.js +1 -1
- package/core/ObjectPool.js +1 -1
- package/core/ObjectStack.js +1 -1
- package/core/ObservableChangesType.js +1 -1
- package/core/PLRUCache.js +1 -1
- package/core/PerformanceSampler.js +1 -1
- package/core/PooledArray.js +1 -1
- package/core/PriorityQueue.js +1 -1
- package/core/Promise.js +1 -1
- package/core/Queue.js +1 -1
- package/core/QueueProcessor.js +1 -1
- package/core/RandomLCG.js +1 -1
- package/core/ReactiveMap.js +1 -1
- package/core/ReactiveSet.js +1 -1
- package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
- package/core/ReentrantObjectPool.js +1 -1
- package/core/SetUtils.js +1 -1
- package/core/VectorStack.js +1 -1
- package/core/Version.js +1 -1
- package/core/Warning.js +1 -1
- package/core/XHRAdapter.js +1 -1
- package/core/a11yUtils.js +1 -1
- package/core/accessorSupport/DefaultsStore.js +1 -1
- package/core/accessorSupport/Lifecycle.js +1 -1
- package/core/accessorSupport/MultiOriginStore.js +1 -1
- package/core/accessorSupport/ObservableBase.js +1 -1
- package/core/accessorSupport/Properties.js +1 -1
- package/core/accessorSupport/Property.js +1 -1
- package/core/accessorSupport/PropertyOrigin.js +1 -1
- package/core/accessorSupport/Store.js +1 -1
- package/core/accessorSupport/beforeDestroy.js +1 -1
- package/core/accessorSupport/decorators/aliasOf.js +1 -1
- package/core/accessorSupport/decorators/cast.js +1 -1
- package/core/accessorSupport/decorators/enumeration.js +1 -1
- package/core/accessorSupport/decorators/persistable.js +1 -1
- package/core/accessorSupport/decorators/property.js +1 -1
- package/core/accessorSupport/decorators/reader.js +1 -1
- package/core/accessorSupport/decorators/shared.js +1 -1
- package/core/accessorSupport/decorators/subclass.js +1 -1
- package/core/accessorSupport/decorators/writer.js +1 -1
- package/core/accessorSupport/decorators.js +1 -1
- package/core/accessorSupport/defaultsStoreUtils.js +1 -1
- package/core/accessorSupport/diffUtils.js +1 -1
- package/core/accessorSupport/ensureType.js +2 -2
- package/core/accessorSupport/extensions/serializableProperty/originAliases.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/shorthands.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/type.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/writePolicyUtils.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/writer.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/layerContainerType.js +1 -1
- package/core/accessorSupport/metadata.js +1 -1
- package/core/accessorSupport/originUtils.js +1 -1
- package/core/accessorSupport/overrideDefaultsFrom.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/set.js +1 -1
- package/core/accessorSupport/testSupport.js +1 -1
- package/core/accessorSupport/tracking/Flags.js +1 -1
- package/core/accessorSupport/tracking/ObservationHandle.js +1 -1
- package/core/accessorSupport/tracking/SimpleObservable.js +1 -1
- package/core/accessorSupport/tracking/SimpleTrackingTarget.js +1 -1
- package/core/accessorSupport/tracking/TrackingTarget.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/accessorSupport/trackingUtils.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/accessorSupport/write.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/asyncUtils.js +1 -1
- package/core/bidiEngineTables.js +1 -1
- package/core/clock.js +1 -1
- package/core/collectionUtils.js +1 -1
- package/core/colorUtils.js +1 -1
- package/core/compilerUtils.js +1 -1
- package/core/date.js +1 -1
- package/core/deprecate.js +1 -1
- package/core/devEnvironmentUtils.js +1 -1
- package/core/domUtils.js +1 -1
- package/core/events.js +1 -1
- package/core/floatRGBA.js +1 -1
- package/core/fontUtils.js +1 -1
- package/core/handleUtils.js +1 -1
- package/core/has.js +1 -1
- package/core/image/apng.js +1 -1
- package/core/image/gif.js +1 -1
- package/core/imageUtils.js +1 -1
- package/core/iteratorUtils.js +1 -1
- package/core/jsonMap.js +1 -1
- package/core/lang.js +1 -1
- package/core/libs/gl-matrix-2/common.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat2df32.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat2df64.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat2f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat2f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat3f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat3f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat4f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/mat4f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/quat2f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec2f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f64.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec4f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
- package/core/libs/gl-matrix-2/mat2.js +1 -1
- package/core/libs/gl-matrix-2/mat2d.js +1 -1
- package/core/libs/gl-matrix-2/mat2df32.js +1 -1
- package/core/libs/gl-matrix-2/mat2df64.js +1 -1
- package/core/libs/gl-matrix-2/mat2f32.js +1 -1
- package/core/libs/gl-matrix-2/mat2f64.js +1 -1
- package/core/libs/gl-matrix-2/mat3.js +1 -1
- package/core/libs/gl-matrix-2/mat3f32.js +1 -1
- package/core/libs/gl-matrix-2/mat3f64.js +1 -1
- package/core/libs/gl-matrix-2/mat4.js +1 -1
- package/core/libs/gl-matrix-2/mat4f32.js +1 -1
- package/core/libs/gl-matrix-2/mat4f64.js +1 -1
- package/core/libs/gl-matrix-2/math/common.js +1 -1
- package/core/libs/gl-matrix-2/math/mat2.js +1 -1
- package/core/libs/gl-matrix-2/math/mat2d.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/mat4.js +1 -1
- package/core/libs/gl-matrix-2/math/quat.js +2 -2
- package/core/libs/gl-matrix-2/math/quat2.js +1 -1
- package/core/libs/gl-matrix-2/math/vec2.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3Inline.js +1 -1
- package/core/libs/gl-matrix-2/math/vec4.js +2 -2
- package/core/libs/gl-matrix-2/quat.js +1 -1
- package/core/libs/gl-matrix-2/quat2.js +1 -1
- package/core/libs/gl-matrix-2/quat2f64.js +1 -1
- package/core/libs/gl-matrix-2/quatf64.js +1 -1
- package/core/libs/gl-matrix-2/types/mat2.js +1 -1
- package/core/libs/gl-matrix-2/types/mat2d.js +1 -1
- package/core/libs/gl-matrix-2/types/mat3.js +1 -1
- package/core/libs/gl-matrix-2/types/mat4.js +1 -1
- package/core/libs/gl-matrix-2/types/quat.js +1 -1
- package/core/libs/gl-matrix-2/types/quat2.js +1 -1
- package/core/libs/gl-matrix-2/types/vec2.js +1 -1
- package/core/libs/gl-matrix-2/types/vec3.js +1 -1
- package/core/libs/gl-matrix-2/types/vec4.js +1 -1
- package/core/libs/gl-matrix-2/vec2.js +1 -1
- package/core/libs/gl-matrix-2/vec2f32.js +1 -1
- package/core/libs/gl-matrix-2/vec2f64.js +1 -1
- package/core/libs/gl-matrix-2/vec3.js +1 -1
- package/core/libs/gl-matrix-2/vec3Inline.js +1 -1
- package/core/libs/gl-matrix-2/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/vec3f64.js +1 -1
- package/core/libs/gl-matrix-2/vec4.js +1 -1
- package/core/libs/gl-matrix-2/vec4f32.js +1 -1
- package/core/libs/gl-matrix-2/vec4f64.js +1 -1
- package/core/libs/rbush/PooledRBush.js +1 -1
- package/core/loadAll.js +1 -1
- package/core/mapCollectionUtils.js +1 -1
- package/core/mathUtils.js +1 -1
- package/core/maybe.js +1 -1
- package/core/maybeUpdating.js +1 -1
- package/core/memoize.js +1 -1
- package/core/memoryEstimations.js +1 -1
- package/core/multiOriginJSONSupportUtils.js +1 -1
- package/core/nextTick.js +1 -1
- package/core/number.js +1 -1
- package/core/object.js +1 -1
- package/core/pbf.js +1 -1
- package/core/perspectiveUtils.js +1 -1
- package/core/promiseUtils.js +1 -1
- package/core/proxy.js +1 -1
- package/core/quantity.js +1 -1
- package/core/quantityFormatUtils.js +1 -1
- package/core/quantityUtils.js +1 -1
- package/core/reactiveUtils.js +1 -1
- package/core/sanitizerUtils.js +1 -1
- package/core/scheduling.js +1 -1
- package/core/screenUtils.js +1 -1
- package/core/signal.js +1 -1
- package/core/sql/AggregateFunctions.js +1 -1
- package/core/sql/DateOnly.js +1 -1
- package/core/sql/SqlInterval.js +1 -1
- package/core/sql/SqlTimestampOffset.js +1 -1
- package/core/sql/StandardizedFunctions.js +1 -1
- package/core/sql/TimeOnly.js +1 -1
- package/core/sql/UnknownTimeZone.js +1 -1
- package/core/sql/WhereClause.js +1 -1
- package/core/sql/WhereClauseCache.js +1 -1
- package/core/sql/WhereGrammar.js +1 -1
- package/core/sql/errorSupport.js +1 -1
- package/core/sql/sqlArithmeticUtils.js +1 -1
- package/core/sql/sqlCompareUtils.js +1 -1
- package/core/sql/sqlDateParsingUtils.js +1 -1
- package/core/sql.js +1 -1
- package/core/string.js +1 -1
- package/core/support/OwningCollection.js +1 -1
- package/core/support/UpdatingHandles.js +1 -1
- package/core/support/jsonUtils.js +1 -1
- package/core/throttle.js +1 -1
- package/core/time.js +1 -1
- package/core/timeUtils.js +1 -1
- package/core/typedArrayUtil.js +1 -1
- package/core/uid.js +1 -1
- package/core/unitFormatUtils.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/units.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/uuid.js +1 -1
- package/core/workers/Connection.js +1 -1
- package/core/workers/InvokeHandler.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/WorkerFallback.js +1 -1
- package/core/workers/WorkerHandle.js +1 -1
- package/core/workers/WorkerOwner.js +1 -1
- package/core/workers/connectionRegistry.js +1 -1
- package/core/workers/loaderConfig.js +1 -1
- package/core/workers/registry.js +1 -1
- package/core/workers/request.js +1 -1
- package/core/workers/staticWorkerMessages.js +1 -1
- package/core/workers/utils.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers/workers.js +1 -1
- package/core/workers.js +1 -1
- package/editing/sharedTemplates/SharedTemplate.js +1 -1
- package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
- package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/connectionPoint.js +1 -1
- package/editing/sharedTemplates/executor/builders/equallySpaced.js +1 -1
- package/editing/sharedTemplates/executor/builders/offsetLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/offsetPrimaryLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtAllVerticesOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtBeginningOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtBeginningOfRadial.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtEndOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtInteriorVertices.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtNotBeginningOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtNotEndOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtPolygonCentroid.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtPolygonNotStart.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtPolygonStart.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointIdentity.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointPrimaryIdentity.js +1 -1
- package/editing/sharedTemplates/executor/builders/polygonBoundary.js +1 -1
- package/editing/sharedTemplates/executor/builders/polygonBoundaryTwoPoint.js +1 -1
- package/editing/sharedTemplates/executor/builders/polygonIdentity.js +1 -1
- package/editing/sharedTemplates/executor/builders/polygonPrimaryIdentity.js +1 -1
- package/editing/sharedTemplates/executor/builders/polygonVertices.js +1 -1
- package/editing/sharedTemplates/executor/builders/radialLines.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/builderUtils.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/shapeUtils.js +1 -1
- package/editing/sharedTemplates/executor/builders/twoPointLines.js +1 -1
- package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
- package/editing/sharedTemplates/executor/support/createFeatureServiceEdit.js +1 -1
- package/editing/sharedTemplates/executor/support/createPresetServiceEdit.js +1 -1
- package/editing/sharedTemplates/executor/support/executorUtils.js +1 -1
- package/editing/sharedTemplates/executor/support/getBuilder.js +1 -1
- package/editing/sharedTemplates/support/sharedTemplateErrors.js +1 -1
- package/editing/sharedTemplates/support/toolNames.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/FeatureTemplateRelationshipPart.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/GroupTemplatePart.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/PresetTemplatePart.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/builders/builderUtils.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/templateDefinitionUtils.js +1 -1
- package/editing/templateUtils.js +1 -1
- package/exports/csv.js +1 -1
- package/form/ExpressionInfo.js +1 -1
- package/form/FormTemplate.js +1 -1
- package/form/elements/AttachmentElement.js +1 -1
- package/form/elements/Element.js +1 -1
- package/form/elements/FieldElement.js +1 -1
- package/form/elements/GroupElement.js +1 -1
- package/form/elements/RelationshipElement.js +1 -1
- package/form/elements/TextElement.js +1 -1
- package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
- package/form/elements/inputs/BarcodeScannerInput.js +1 -1
- package/form/elements/inputs/ComboBoxInput.js +1 -1
- package/form/elements/inputs/DatePickerInput.js +1 -1
- package/form/elements/inputs/DateTimeOffsetPickerInput.js +1 -1
- package/form/elements/inputs/DateTimePickerInput.js +1 -1
- package/form/elements/inputs/Input.js +1 -1
- package/form/elements/inputs/RadioButtonsInput.js +1 -1
- package/form/elements/inputs/SwitchInput.js +1 -1
- package/form/elements/inputs/TextAreaInput.js +1 -1
- package/form/elements/inputs/TextBoxInput.js +1 -1
- package/form/elements/inputs/TextInput.js +1 -1
- package/form/elements/inputs/TimePickerInput.js +1 -1
- package/form/elements/inputs/attachments/AttachmentInput.js +1 -1
- package/form/elements/inputs/attachments/AudioInput.js +1 -1
- package/form/elements/inputs/attachments/DocumentInput.js +1 -1
- package/form/elements/inputs/attachments/ImageInput.js +1 -1
- package/form/elements/inputs/attachments/Input.js +1 -1
- package/form/elements/inputs/attachments/SignatureInput.js +1 -1
- package/form/elements/inputs/attachments/VideoInput.js +1 -1
- package/form/elements/inputs/attachments/support/inputs.js +1 -1
- package/form/elements/inputs/attachments/support/utils.js +1 -1
- package/form/elements/inputs/inputUtils.js +1 -1
- package/form/elements/inputs.js +1 -1
- package/form/elements.js +1 -1
- package/form/support/formUtils.js +1 -1
- package/geohash/GeohashCell.js +1 -1
- package/geohash/GeohashTree.js +1 -1
- package/geohash/geohashUtils.js +1 -1
- package/geometry/Circle.js +1 -1
- package/geometry/Extent.js +1 -1
- package/geometry/Geometry.js +1 -1
- package/geometry/GeometryCursor.js +1 -1
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/Multipoint.js +1 -1
- package/geometry/Point.js +1 -1
- package/geometry/Polygon.js +1 -1
- package/geometry/Polyline.js +1 -1
- package/geometry/SpatialReference.js +1 -1
- package/geometry/asserts.js +1 -1
- package/geometry/coordinateFormatter.js +1 -1
- package/geometry/ellipsoidUtils.js +1 -1
- package/geometry/geometryAdapters/hydrated.js +1 -1
- package/geometry/geometryAdapters/json.js +1 -1
- package/geometry/geometryCursorCollectUtils.js +1 -1
- package/geometry/geometryEngine.js +1 -1
- package/geometry/geometryEngineAsync.js +1 -1
- package/geometry/geometryEngineJSON.js +1 -1
- package/geometry/geometryEngineWorker.js +1 -1
- package/geometry/libtess.js +1 -1
- package/geometry/operators/affineTransformOperator.js +1 -1
- package/geometry/operators/alphaShapeOperator.js +1 -1
- package/geometry/operators/areaOperator.js +1 -1
- package/geometry/operators/autoCompleteOperator.js +1 -1
- package/geometry/operators/boundaryOperator.js +1 -1
- package/geometry/operators/bufferOperator.js +1 -1
- package/geometry/operators/centroidOperator.js +1 -1
- package/geometry/operators/clipOperator.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/convexHullOperator.js +1 -1
- package/geometry/operators/crossesOperator.js +1 -1
- package/geometry/operators/cutOperator.js +1 -1
- package/geometry/operators/densifyOperator.js +1 -1
- package/geometry/operators/differenceOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/distanceOperator.js +1 -1
- package/geometry/operators/equalsOperator.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/generalizeOperator.js +1 -1
- package/geometry/operators/geodesicBufferOperator.js +1 -1
- package/geometry/operators/geodesicProximityOperator.js +1 -1
- package/geometry/operators/geodeticAreaOperator.js +1 -1
- package/geometry/operators/geodeticDensifyOperator.js +1 -1
- package/geometry/operators/geodeticDistanceOperator.js +1 -1
- package/geometry/operators/geodeticLengthOperator.js +1 -1
- package/geometry/operators/graphicBufferOperator.js +1 -1
- package/geometry/operators/gx/operatorAffineTransform.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBoundary.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorClip.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorCut.js +1 -1
- package/geometry/operators/gx/operatorDensify.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorGeneralize.js +1 -1
- package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
- package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
- package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
- package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
- package/geometry/operators/gx/operatorIntegrate.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorMultiPartToSinglePart.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/gx/operatorProject.js +1 -1
- package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
- package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSimplifyOGC.js +1 -1
- package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/integrateOperator.js +1 -1
- package/geometry/operators/intersectionOperator.js +1 -1
- package/geometry/operators/intersectsOperator.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/json/bufferOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/convexHullOperator.js +1 -1
- package/geometry/operators/json/crossesOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/json/geodesicBufferOperator.js +1 -1
- package/geometry/operators/json/intersectionOperator.js +1 -1
- package/geometry/operators/json/intersectsOperator.js +1 -1
- package/geometry/operators/json/lengthOperator.js +1 -1
- package/geometry/operators/json/offsetOperator.js +1 -1
- package/geometry/operators/json/overlapsOperator.js +1 -1
- package/geometry/operators/json/simplifyOperator.js +1 -1
- package/geometry/operators/json/touchesOperator.js +1 -1
- package/geometry/operators/json/unionOperator.js +1 -1
- package/geometry/operators/json/withinOperator.js +1 -1
- package/geometry/operators/labelPointOperator.js +1 -1
- package/geometry/operators/lengthOperator.js +1 -1
- package/geometry/operators/linesToPolygonsOperator.js +1 -1
- package/geometry/operators/locateBetweenOperator.js +1 -1
- package/geometry/operators/minimumBoundingCircleOperator.js +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/operators/overlapsOperator.js +1 -1
- package/geometry/operators/polygonOverlayOperator.js +1 -1
- package/geometry/operators/polygonSlicerOperator.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/proximityOperator.js +1 -1
- package/geometry/operators/relateOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/shapePreservingProjectOperator.js +1 -1
- package/geometry/operators/simplifyOGCOperator.js +1 -1
- package/geometry/operators/simplifyOperator.js +1 -1
- package/geometry/operators/singlePartToMultiPartOperator.js +1 -1
- package/geometry/operators/support/GeographicTransformation.js +1 -1
- package/geometry/operators/support/GeographicTransformationStep.js +1 -1
- package/geometry/operators/support/Transformation.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/geodeticCurveType.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.js +1 -1
- package/geometry/operators/support/initNoPeFactory.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/proximityResult.js +1 -1
- package/geometry/operators/symmetricDifferenceOperator.js +1 -1
- package/geometry/operators/touchesOperator.js +1 -1
- package/geometry/operators/unionOperator.js +1 -1
- package/geometry/operators/withinOperator.js +1 -1
- package/geometry/pe.js +1 -1
- package/geometry/projection/computeTranslationToOriginAndRotation.js +1 -1
- package/geometry/projection/localLinearScaleFactors.js +1 -1
- package/geometry/projection/localRotationUtils.js +1 -1
- package/geometry/projection/lonLatToSphericalPCPF.js +1 -1
- package/geometry/projection/projectBoundingRect.js +1 -1
- package/geometry/projection/projectBoundingSphere.js +1 -1
- package/geometry/projection/projectBuffer.js +1 -1
- package/geometry/projection/projectDirection.js +1 -1
- package/geometry/projection/projectPointToVector.js +1 -1
- package/geometry/projection/projectVec3Array.js +1 -1
- package/geometry/projection/projectVectorToPoint.js +1 -1
- package/geometry/projection/projectVectorToVector.js +1 -1
- package/geometry/projection/projectXYZToVector.js +1 -1
- package/geometry/projection/projectors.js +1 -1
- package/geometry/projection.js +1 -1
- package/geometry/projectionUtils.js +1 -1
- package/geometry/spatialReferenceEllipsoidUtils.js +1 -1
- package/geometry/support/Axis.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/Ellipsoid.js +1 -1
- package/geometry/support/FloatArray.js +1 -1
- package/geometry/support/GeographicTransformation.js +1 -1
- package/geometry/support/GeographicTransformationStep.js +1 -1
- package/geometry/support/HalfFloatArray.js +1 -1
- package/geometry/support/Indices.js +1 -1
- package/geometry/support/MeshComponent.js +1 -1
- package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
- package/geometry/support/MeshLocalVertexSpace.js +1 -1
- package/geometry/support/MeshMaterial.js +1 -1
- package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/MeshTextureTransform.js +1 -1
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/MeshVertexAttributes.js +1 -1
- package/geometry/support/PolylineBuilder.js +1 -1
- package/geometry/support/ShortArray.js +1 -1
- package/geometry/support/SupportedGCSWkids.js +1 -1
- package/geometry/support/TileClipper.js +1 -1
- package/geometry/support/UByteArray.js +1 -1
- package/geometry/support/UCharArray.js +1 -1
- package/geometry/support/UShortArray.js +1 -1
- package/geometry/support/UintArray.js +1 -1
- package/geometry/support/WKIDUnitConversion.js +1 -1
- package/geometry/support/aaBoundingBox.js +1 -1
- package/geometry/support/aaBoundingRect.js +1 -1
- package/geometry/support/axisAngle.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/boundedPlane.js +1 -1
- package/geometry/support/boundsUtils.js +1 -1
- package/geometry/support/buffer/BufferPool.js +1 -1
- package/geometry/support/buffer/BufferView.js +1 -1
- package/geometry/support/buffer/internals/Mat3.js +1 -1
- package/geometry/support/buffer/internals/Mat4.js +1 -1
- package/geometry/support/buffer/internals/Scalar.js +1 -1
- package/geometry/support/buffer/internals/Vec2.js +1 -1
- package/geometry/support/buffer/internals/Vec3.js +1 -1
- package/geometry/support/buffer/internals/Vec4.js +1 -1
- package/geometry/support/buffer/math/common.js +1 -1
- package/geometry/support/buffer/math/vec3.js +1 -1
- package/geometry/support/buffer/math/vec4.js +1 -1
- package/geometry/support/buffer/math.js +1 -1
- package/geometry/support/buffer/types.js +1 -1
- package/geometry/support/buffer/utils/mat3.js +1 -1
- package/geometry/support/buffer/utils/mat4.js +1 -1
- package/geometry/support/buffer/utils/scalar.js +1 -1
- package/geometry/support/buffer/utils/vec2.js +1 -1
- package/geometry/support/buffer/utils/vec3.js +1 -1
- package/geometry/support/buffer/utils/vec4.js +1 -1
- package/geometry/support/buffer/utils.js +1 -1
- package/geometry/support/centroid.js +1 -1
- package/geometry/support/clipRay.js +1 -1
- package/geometry/support/contains.js +1 -1
- package/geometry/support/coordinateSystem.js +1 -1
- package/geometry/support/coordsUtils.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/circularArcUtils.js +1 -1
- package/geometry/support/curves/closestPointOnCurve.js +1 -1
- package/geometry/support/curves/curveExtent.js +1 -1
- package/geometry/support/curves/curveLength.js +1 -1
- package/geometry/support/curves/curveUtils.js +1 -1
- package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
- package/geometry/support/curves/ellipticArc4Utils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/curves/mathUtils.js +1 -1
- package/geometry/support/curves/splitCurveAtPoint.js +1 -1
- package/geometry/support/extentUtils.js +1 -1
- package/geometry/support/float16.js +1 -1
- package/geometry/support/frustum.js +2 -2
- package/geometry/support/geodesicConstants.js +1 -1
- package/geometry/support/geodesicUtils.js +1 -1
- package/geometry/support/geometryUtils.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/intersects.js +1 -1
- package/geometry/support/intersectsBase.js +1 -1
- package/geometry/support/jsonUtils.js +1 -1
- package/geometry/support/labelPoint.js +1 -1
- package/geometry/support/lineSegment.js +1 -1
- package/geometry/support/meshErrors.js +1 -1
- package/geometry/support/meshProperties.js +1 -1
- package/geometry/support/meshUtils/ElevationSamplerWorker.js +1 -1
- package/geometry/support/meshUtils/External.js +1 -1
- package/geometry/support/meshUtils/Metadata.js +1 -1
- package/geometry/support/meshUtils/centerAt.js +1 -1
- package/geometry/support/meshUtils/convertMeshVertexSpace.js +1 -1
- package/geometry/support/meshUtils/deduplicate.js +1 -1
- package/geometry/support/meshUtils/elevation.js +1 -1
- package/geometry/support/meshUtils/elevationSampler.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/asset.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/buffer.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/bufferview.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/glb.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltfexport.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltftypes.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/imageutils.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/index.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/scene.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/types.js +1 -1
- package/geometry/support/meshUtils/extent.js +1 -1
- package/geometry/support/meshUtils/geographicUtils.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadExternal.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/primitives.js +1 -1
- package/geometry/support/meshUtils/projectMeshVertexPositions.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils/scale.js +1 -1
- package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
- package/geometry/support/meshUtils.js +1 -1
- package/geometry/support/meshVertexSpaceUtils.js +1 -1
- package/geometry/support/near.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/geometry/support/normalizeUtilsCommon.js +1 -1
- package/geometry/support/normalizeUtilsSync.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/geometry/support/planetGCSUtils.js +1 -1
- package/geometry/support/pointUtils.js +1 -1
- package/geometry/support/polygonExtentClipping.js +1 -1
- package/geometry/support/polygonUtils.js +1 -1
- package/geometry/support/quantizationUtils.js +1 -1
- package/geometry/support/ray.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/geometry/support/scaleUtils.js +1 -1
- package/geometry/support/spatialReferenceUtils.js +1 -1
- package/geometry/support/sphere.js +2 -2
- package/geometry/support/sphereUtils.js +1 -1
- package/geometry/support/triangle.js +1 -1
- package/geometry/support/triangulationUtils.js +1 -1
- package/geometry/support/typeUtils.js +1 -1
- package/geometry/support/vector.js +1 -1
- package/geometry/support/vectorStacks.js +1 -1
- package/geometry/support/webMercatorUtils.js +1 -1
- package/geometry/support/zmUtils.js +1 -1
- package/geometry/support/zscale.js +1 -1
- package/geometry.js +1 -1
- package/grids/MeasuredGrid.js +1 -1
- package/ground/NavigationConstraint.js +1 -1
- package/identity/Credential.js +1 -1
- package/identity/IdentityManager.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/identity/IdentityModal.js +1 -1
- package/identity/OAuthCredential.js +1 -1
- package/identity/OAuthInfo.js +1 -1
- package/identity/ServerInfo.js +1 -1
- package/interfaces.d.ts +66 -137
- package/intl/date.js +1 -1
- package/intl/duration.js +1 -1
- package/intl/locale.js +1 -1
- package/intl/messages.js +1 -1
- package/intl/number.js +1 -1
- package/intl/substitute.js +1 -1
- package/intl/t9n.js +1 -1
- package/intl.js +1 -1
- package/kernel.js +2 -2
- package/layers/BaseDynamicLayer.js +1 -1
- package/layers/BaseElevationLayer.js +1 -1
- package/layers/BaseTileLayer.js +1 -1
- package/layers/BingMapsLayer.js +1 -1
- package/layers/BuildingSceneLayer.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/DimensionLayer.js +1 -1
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GeoRSSLayer.js +1 -1
- package/layers/GraphicsLayer.js +1 -1
- package/layers/GroupLayer.js +1 -1
- package/layers/ILyr3DWasmPerSceneView.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/KMLLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/LayerConstants.js +1 -1
- package/layers/LineOfSightLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/Lyr3DWorkerHandle.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/MediaLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/OpenStreetMapLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/PointCloudLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/UnknownLayer.js +1 -1
- package/layers/UnsupportedLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/VideoLayer.js +2 -2
- package/layers/ViewshedLayer.js +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
- package/layers/buildingSublayers/BuildingSublayer.js +1 -1
- package/layers/catalog/CatalogDynamicGroupLayer.js +1 -1
- package/layers/catalog/CatalogFootprintLayer.js +1 -1
- package/layers/catalog/catalogUtils.js +1 -1
- package/layers/effects/EffectView.js +1 -1
- package/layers/effects/FeatureEffectView.js +1 -1
- package/layers/effects/colorMatrixFunctions.js +1 -1
- package/layers/effects/effects.js +1 -1
- package/layers/effects/jsonUtils.js +1 -1
- package/layers/effects/parser.js +1 -1
- package/layers/effects/utils.js +1 -1
- package/layers/graphics/OptimizedFeature.js +1 -1
- package/layers/graphics/OptimizedFeatureSet.js +1 -1
- package/layers/graphics/OptimizedGeometry.js +1 -1
- package/layers/graphics/applyEditsUtils.js +1 -1
- package/layers/graphics/centroid.js +1 -1
- package/layers/graphics/contains.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/AttributesBuilder.js +1 -1
- package/layers/graphics/data/BoundsStore.js +1 -1
- package/layers/graphics/data/FeatureIdInfo.js +1 -1
- package/layers/graphics/data/FeatureStore.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/QueryEngineCache.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/data/SnappingCandidate.js +1 -1
- package/layers/graphics/data/StreamFeatureManager.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/data/createFeatureId.js +1 -1
- package/layers/graphics/data/executeQueryForSnapping.js +1 -1
- package/layers/graphics/data/geometryUtils.js +1 -1
- package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
- package/layers/graphics/data/projectionSupport.js +1 -1
- package/layers/graphics/data/queryUtils.js +1 -1
- package/layers/graphics/data/queryValidationUtils.js +1 -1
- package/layers/graphics/data/spatialQuerySupport.js +1 -1
- package/layers/graphics/data/timeSupport.js +1 -1
- package/layers/graphics/dehydratedFeatureComparison.js +1 -1
- package/layers/graphics/dehydratedFeatureUtils.js +1 -1
- package/layers/graphics/dehydratedFeatures.js +1 -1
- package/layers/graphics/dehydratedPoint.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/layers/graphics/objectIdUtils.js +1 -1
- package/layers/graphics/sources/CSVSource.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/GeoJSONSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/WFSSourceWorker.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
- package/layers/graphics/sources/connections/createConnection.js +1 -1
- package/layers/graphics/sources/csv/csv.js +1 -1
- package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
- package/layers/graphics/sources/geojson/geojson.js +1 -1
- package/layers/graphics/sources/interfaces.js +1 -1
- package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
- package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
- package/layers/graphics/sources/support/QueryTask.js +1 -1
- package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
- package/layers/graphics/sources/support/sourceUtils.js +1 -1
- package/layers/graphics/sources/support/uploadAssetErrors.js +1 -1
- package/layers/graphics/sources/support/uploadAssets.js +1 -1
- package/layers/graphics/sources/support/uploadProgressWeights.js +1 -1
- package/layers/graphics/sources/support/uploads.js +1 -1
- package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayerBase.js +1 -1
- package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
- package/layers/knowledgeGraph/antlr/BindParamsListener.js +1 -1
- package/layers/knowledgeGraph/antlr/SimpleErrorListener.js +1 -1
- package/layers/knowledgeGraph/constants.js +1 -1
- package/layers/knowledgeGraph/cypherUtils.js +1 -1
- package/layers/knowledgeGraph/layerUtils.js +1 -1
- package/layers/knowledgeGraph/supportUtils.js +1 -1
- package/layers/mixins/APIKeyMixin.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ArcGISMapService.js +1 -1
- package/layers/mixins/ArcGISService.js +1 -1
- package/layers/mixins/BlendLayer.js +1 -1
- package/layers/mixins/CustomParametersMixin.js +1 -1
- package/layers/mixins/DisplayFilteredLayer.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/mixins/FeatureEffectLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/FeatureReductionLayer.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/mixins/OrderedLayer.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/PublishableLayer.js +1 -1
- package/layers/mixins/RasterJobHandlerMixin.js +1 -1
- package/layers/mixins/RasterPresetRendererMixin.js +1 -1
- package/layers/mixins/RefreshableLayer.js +1 -1
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SceneService.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/mixins/TemporalLayer.js +1 -1
- package/layers/mixins/TemporalSceneLayer.js +1 -1
- package/layers/mixins/TrackableLayer.js +1 -1
- package/layers/mixins/operationalLayerModuleMap.js +1 -1
- package/layers/mixins/operationalLayers.js +1 -1
- package/layers/mixins/refresh.js +1 -1
- package/layers/ogc/crsUtils.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/ogc/wcsUtils.js +1 -1
- package/layers/ogc/wfsUtils.js +1 -1
- package/layers/ogc/xmlUtils.js +1 -1
- package/layers/orientedImagery/core/CameraOrientation.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
- package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/bestImageUtils.js +1 -1
- package/layers/orientedImagery/core/cameraOrientationFactory.js +1 -1
- package/layers/orientedImagery/core/cameraOrientationRegistry.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/core/utils.js +1 -1
- package/layers/orientedImagery/enums/CameraOrientationType.js +1 -1
- package/layers/orientedImagery/queries.js +1 -1
- package/layers/orientedImagery/transformations/imageToWorld.js +2 -2
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/orientedImagery/transformations/updateElevation.js +1 -1
- package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/orientedImagery/transformations/worldToImage.js +1 -1
- package/layers/pointCloudFilters/PointCloudBitfieldFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudReturnFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudValueFilter.js +1 -1
- package/layers/pointCloudFilters/typeUtils.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/save/groupLayerUtils.js +1 -1
- package/layers/save/imageryUtils.js +1 -1
- package/layers/save/mapImageLayerUtils.js +1 -1
- package/layers/save/mediaLayerUtils.js +1 -1
- package/layers/save/streamLayerUtils.js +1 -1
- package/layers/save/utils.js +1 -1
- package/layers/support/AggregateField.js +1 -1
- package/layers/support/BuildingFilter.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoCheckbox.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
- package/layers/support/BuildingFilterBlock.js +1 -1
- package/layers/support/BuildingFilterMode.js +1 -1
- package/layers/support/BuildingFilterModeSolid.js +1 -1
- package/layers/support/BuildingFilterModeWireFrame.js +1 -1
- package/layers/support/BuildingFilterModeXRay.js +1 -1
- package/layers/support/BuildingSummaryStatistics.js +1 -1
- package/layers/support/ClientSideConnection.js +1 -1
- package/layers/support/CodedValue.js +1 -1
- package/layers/support/CodedValueDomain.js +1 -1
- package/layers/support/Contingency.js +1 -1
- package/layers/support/ContingencyConstraintViolation.js +1 -1
- package/layers/support/ContingentValue.js +1 -1
- package/layers/support/ContingentValuesResult.js +1 -1
- package/layers/support/ControlPointsGeoreference.js +1 -1
- package/layers/support/CornersGeoreference.js +1 -1
- package/layers/support/DimensionalDefinition.js +1 -1
- package/layers/support/DisplayFilter.js +1 -1
- package/layers/support/DisplayFilterInfo.js +1 -1
- package/layers/support/Domain.js +1 -1
- package/layers/support/EditFieldsInfo.js +1 -1
- package/layers/support/EditingCapabilities.js +1 -1
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationQueryTileCache.js +1 -1
- package/layers/support/ElevationSampler.js +1 -1
- package/layers/support/ElevationSamplerData.js +1 -1
- package/layers/support/ElevationTile.js +1 -1
- package/layers/support/ElevationTileData.js +1 -1
- package/layers/support/ExportImageParameters.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/ExportWMSImageParameters.js +1 -1
- package/layers/support/ExpressionInfo.js +1 -1
- package/layers/support/ExtentAndRotationGeoreference.js +1 -1
- package/layers/support/FacilityLayerInfo.js +1 -1
- package/layers/support/FeatureEffect.js +1 -1
- package/layers/support/FeatureFilter.js +1 -1
- package/layers/support/FeatureIndex.js +1 -1
- package/layers/support/FeatureReduction.js +1 -1
- package/layers/support/FeatureReductionBinning.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/FeatureReductionSelection.js +1 -1
- package/layers/support/FeatureTemplate.js +1 -1
- package/layers/support/FeatureType.js +1 -1
- package/layers/support/Field.js +1 -1
- package/layers/support/FieldGroup.js +1 -1
- package/layers/support/FieldsIndex.js +1 -1
- package/layers/support/GeometryFieldsInfo.js +1 -1
- package/layers/support/GeoreferenceBase.js +1 -1
- package/layers/support/I3SIndexInfo.js +1 -1
- package/layers/support/I3SLayerDefinitions.js +1 -1
- package/layers/support/ImageElement.js +1 -1
- package/layers/support/InheritedDomain.js +1 -1
- package/layers/support/KMLMapImage.js +1 -1
- package/layers/support/KMLSublayer.js +1 -1
- package/layers/support/LOD.js +1 -1
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/LabelExpressionInfo.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/LayerFloorInfo.js +1 -1
- package/layers/support/LayerLoadContext.js +1 -1
- package/layers/support/LayerTimeOptions.js +1 -1
- package/layers/support/LercDecoder.js +1 -1
- package/layers/support/LercWorker.js +1 -1
- package/layers/support/LevelLayerInfo.js +1 -1
- package/layers/support/LocalMediaElementSource.js +1 -1
- package/layers/support/MapImage.js +1 -1
- package/layers/support/MediaElementBase.js +1 -1
- package/layers/support/MediaElementView.js +1 -1
- package/layers/support/MosaicRule.js +1 -1
- package/layers/support/MultidimensionalSubset.js +1 -1
- package/layers/support/OrderByInfo.js +1 -1
- package/layers/support/ParquetEncodingBase.js +1 -1
- package/layers/support/ParquetEncodingLocation.js +1 -1
- package/layers/support/ParquetEncodingWkb.js +1 -1
- package/layers/support/PixelBlock.js +1 -1
- package/layers/support/PlaybackInfo.js +1 -1
- package/layers/support/PolygonCollection.js +1 -1
- package/layers/support/PromiseQueue.js +1 -1
- package/layers/support/PublishingInfo.js +1 -1
- package/layers/support/PurgeOptions.js +1 -1
- package/layers/support/RangeDomain.js +1 -1
- package/layers/support/RangeInfo.js +1 -1
- package/layers/support/RasterBandInfo.js +1 -1
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterFunctionInfo.js +1 -1
- package/layers/support/RasterFunctionProperties.js +1 -1
- package/layers/support/RasterFunctionTemplate.js +1 -1
- package/layers/support/RasterFunctionVariable.js +1 -1
- package/layers/support/RasterInfo.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterSensorInfo.js +1 -1
- package/layers/support/RasterStorageInfo.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/Relationship.js +1 -1
- package/layers/support/RouteStopSymbols.js +1 -1
- package/layers/support/RouteSymbols.js +1 -1
- package/layers/support/SceneFilter.js +1 -1
- package/layers/support/SceneModification.js +1 -1
- package/layers/support/SceneModifications.js +1 -1
- package/layers/support/SimpleBandStatistics.js +1 -1
- package/layers/support/SiteLayerInfo.js +1 -1
- package/layers/support/SpriteSource.js +1 -1
- package/layers/support/StreamConnection.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/Subtype.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TelemetryData.js +1 -1
- package/layers/support/TelemetryDisplay.js +1 -1
- package/layers/support/TileInfo.js +1 -1
- package/layers/support/TileInfoTilemapCache.js +1 -1
- package/layers/support/TileKey.js +1 -1
- package/layers/support/TileMatrixSet.js +1 -1
- package/layers/support/Tilemap.js +1 -1
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/TimeInfo.js +1 -1
- package/layers/support/TitleCreator.js +1 -1
- package/layers/support/TrackInfo.js +1 -1
- package/layers/support/TrackPartInfo.js +1 -1
- package/layers/support/VideoElement.js +1 -1
- package/layers/support/VideoFrame.js +1 -1
- package/layers/support/VideoTimeExtent.js +1 -1
- package/layers/support/WMSSublayer.js +1 -1
- package/layers/support/WMTSLayerInfo.js +1 -1
- package/layers/support/WMTSStyle.js +1 -1
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/arcadeUtils.js +1 -1
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/associatedFeatureServiceUtils.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/commonProperties.js +1 -1
- package/layers/support/csvUtils.js +1 -1
- package/layers/support/displayFilterUtils.js +1 -1
- package/layers/support/domainUtils.js +1 -1
- package/layers/support/domains.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/exifUtils.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/featureQueryAll.js +1 -1
- package/layers/support/featureReductionUtils.js +1 -1
- package/layers/support/fetchService.js +1 -1
- package/layers/support/fieldProperties.js +1 -1
- package/layers/support/fieldType.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/floorFilterUtils.js +1 -1
- package/layers/support/fromPortalItem.js +1 -1
- package/layers/support/imageBitmapUtils.js +1 -1
- package/layers/support/imageUtils.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/infoFor3D.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/labelFormatUtils.js +1 -1
- package/layers/support/labelUtils.js +1 -1
- package/layers/support/labelingInfo.js +1 -1
- package/layers/support/layerOriginUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/layersCreator.js +1 -1
- package/layers/support/lazyLayerLoader.js +1 -1
- package/layers/support/locationUtils.js +1 -1
- package/layers/support/mediaUtils.js +1 -1
- package/layers/support/meshSpatialReferenceScaleUtils.js +1 -1
- package/layers/support/parquetUtils.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterDatasets/CovJSONRaster.js +1 -1
- package/layers/support/rasterDatasets/DBFParser.js +1 -1
- package/layers/support/rasterDatasets/EphemeralBlockCache.js +1 -1
- package/layers/support/rasterDatasets/FunctionRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
- package/layers/support/rasterDatasets/MRFRaster.js +1 -1
- package/layers/support/rasterDatasets/RasterFactory.js +1 -1
- package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
- package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/byteStreamUtils.js +1 -1
- package/layers/support/rasterDatasets/covJSONParser.js +1 -1
- package/layers/support/rasterDatasets/datasetUtils.js +1 -1
- package/layers/support/rasterDatasets/multidimensionalUtils.js +1 -1
- package/layers/support/rasterDatasets/multipartParser.js +1 -1
- package/layers/support/rasterDatasets/pamParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCapabilitiesParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
- package/layers/support/rasterEnums.js +1 -1
- package/layers/support/rasterFieldUtils.js +1 -1
- package/layers/support/rasterFormats/ImageCanvasDecoder.js +1 -1
- package/layers/support/rasterFormats/JpgPlus.js +1 -1
- package/layers/support/rasterFormats/Lerc.js +1 -1
- package/layers/support/rasterFormats/Lzw.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterFormats/Raw.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
- package/layers/support/rasterFormats/tiffTag.js +1 -1
- package/layers/support/rasterFormats/utils.js +1 -1
- package/layers/support/rasterFunctionConstants.js +1 -1
- package/layers/support/rasterFunctionUtils.js +1 -1
- package/layers/support/rasterFunctions/ArithmeticFunction.js +1 -1
- package/layers/support/rasterFunctions/ArithmeticFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/AspectFunction.js +1 -1
- package/layers/support/rasterFunctions/AspectFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/BandArithmeticFunction.js +1 -1
- package/layers/support/rasterFunctions/BandArithmeticFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
- package/layers/support/rasterFunctions/ClipFunction.js +1 -1
- package/layers/support/rasterFunctions/ClipFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ColormapFunction.js +1 -1
- package/layers/support/rasterFunctions/ColormapFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ColormapToRGBFunction.js +1 -1
- package/layers/support/rasterFunctions/ColormapToRGBFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/CompositeBandFunction.js +1 -1
- package/layers/support/rasterFunctions/CompositeBandFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ComputeChangeFunction.js +1 -1
- package/layers/support/rasterFunctions/ComputeChangeFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ContrastBrightnessFunction.js +1 -1
- package/layers/support/rasterFunctions/ContrastBrightnessFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ConvolutionFunction.js +1 -1
- package/layers/support/rasterFunctions/ConvolutionFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/CurvatureFunction.js +1 -1
- package/layers/support/rasterFunctions/CurvatureFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ExtractBandFunction.js +1 -1
- package/layers/support/rasterFunctions/ExtractBandFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/GrayscaleFunction.js +1 -1
- package/layers/support/rasterFunctions/GrayscaleFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/HillshadeFunction.js +1 -1
- package/layers/support/rasterFunctions/HillshadeFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/LocalFunction.js +1 -1
- package/layers/support/rasterFunctions/LocalFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/MaskFunction.js +1 -1
- package/layers/support/rasterFunctions/MaskFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/NDVIFunction.js +1 -1
- package/layers/support/rasterFunctions/NDVIFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/RemapFunction.js +1 -1
- package/layers/support/rasterFunctions/RemapFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/ShadedReliefFunction.js +1 -1
- package/layers/support/rasterFunctions/ShadedReliefFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/SlopeFunction.js +1 -1
- package/layers/support/rasterFunctions/SlopeFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/StatisticsFunction.js +1 -1
- package/layers/support/rasterFunctions/StatisticsFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/StatisticsHistogramFunction.js +1 -1
- package/layers/support/rasterFunctions/StatisticsHistogramFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/StretchFunction.js +1 -1
- package/layers/support/rasterFunctions/StretchFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/TableFunction.js +1 -1
- package/layers/support/rasterFunctions/TableFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/bandIndexUtils.js +1 -1
- package/layers/support/rasterFunctions/changeDetectionUtils.js +1 -1
- package/layers/support/rasterFunctions/clipUtils.js +1 -1
- package/layers/support/rasterFunctions/colormaps.js +1 -1
- package/layers/support/rasterFunctions/conversionUtils.js +1 -1
- package/layers/support/rasterFunctions/convolutionUtils.js +1 -1
- package/layers/support/rasterFunctions/creators/createAppearenceFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createBandIndexFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createChangeFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createConversionFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createDataManagementFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createLocalFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createMultiRasterAnalysisFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createStatisticsFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/createSurfaceFunctions.js +1 -1
- package/layers/support/rasterFunctions/creators/utils.js +1 -1
- package/layers/support/rasterFunctions/customBandIndexUtils.js +1 -1
- package/layers/support/rasterFunctions/focalStatUtils.js +1 -1
- package/layers/support/rasterFunctions/localUtils.js +1 -1
- package/layers/support/rasterFunctions/mirror.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/rasterFunctions/rasterFunctionHelper.js +1 -1
- package/layers/support/rasterFunctions/rasterFunctionSchema.js +1 -1
- package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
- package/layers/support/rasterFunctions/stretchUtils.js +1 -1
- package/layers/support/rasterFunctions/surfaceUtils.js +1 -1
- package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
- package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
- package/layers/support/rasterTransforms/GCSShiftTransform.js +1 -1
- package/layers/support/rasterTransforms/IdentityTransform.js +1 -1
- package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
- package/layers/support/rasterTransforms/utils.js +1 -1
- package/layers/support/sceneLayerCacheUtils.js +1 -1
- package/layers/support/sceneLayerStatistics.js +1 -1
- package/layers/support/schemaValidator.js +1 -1
- package/layers/support/schemaValidatorLoader.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/layers/support/source/DataLayerSource.js +1 -1
- package/layers/support/source/MapLayerSource.js +1 -1
- package/layers/support/source/QueryTableDataSource.js +1 -1
- package/layers/support/source/RasterDataSource.js +1 -1
- package/layers/support/source/TableDataSource.js +1 -1
- package/layers/support/streamLayerUtils.js +1 -1
- package/layers/support/sublayerUtils.js +1 -1
- package/layers/support/subtypeGroupLayerUtils.js +1 -1
- package/layers/support/timeSupport.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/versionUtils.js +1 -1
- package/layers/support/videoUtils.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/layers/video/VideoCameraSensorModel.js +1 -1
- package/layers/video/VideoController.js +2 -2
- package/layers/video/videoUtils.js +1 -1
- package/layers/voxel/NCTimeParser.js +1 -1
- package/layers/voxel/VoxelColorStop.js +1 -1
- package/layers/voxel/VoxelDimension.js +1 -1
- package/layers/voxel/VoxelDynamicSection.js +1 -1
- package/layers/voxel/VoxelFormat.js +1 -1
- package/layers/voxel/VoxelIrregularSpacing.js +1 -1
- package/layers/voxel/VoxelIsosurface.js +1 -1
- package/layers/voxel/VoxelOpacityStop.js +1 -1
- package/layers/voxel/VoxelRangeFilter.js +1 -1
- package/layers/voxel/VoxelRegularSpacing.js +1 -1
- package/layers/voxel/VoxelSection.js +1 -1
- package/layers/voxel/VoxelSimpleShading.js +1 -1
- package/layers/voxel/VoxelSlice.js +1 -1
- package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
- package/layers/voxel/VoxelUniqueValue.js +1 -1
- package/layers/voxel/VoxelVariable.js +1 -1
- package/layers/voxel/VoxelVariableStyle.js +1 -1
- package/layers/voxel/VoxelVolume.js +1 -1
- package/layers/voxel/VoxelVolumeIndex.js +1 -1
- package/layers/voxel/VoxelVolumeStyle.js +1 -1
- package/layers/voxel/voxelPlaneUtils.js +1 -1
- package/libs/basisu/BasisUEncoder.js +1 -1
- package/libs/basisu/BasisUTranscoder.js +1 -1
- package/libs/basisu/TextureFormat.js +1 -1
- package/libs/dxtEncoder/DXTEncoder.js +1 -1
- package/libs/i3s/I3SModule.js +1 -1
- package/libs/i3s/enums.js +1 -1
- package/libs/linkchartlayout/LinkChartLayout.js +1 -1
- package/libs/lyr3d/Lyr3DModule.js +1 -1
- package/libs/lyr3d/enums.js +1 -1
- package/libs/maquette/cache.js +1 -1
- package/libs/maquette/dom.js +1 -1
- package/libs/maquette/h.js +1 -1
- package/libs/maquette/index.js +1 -1
- package/libs/maquette/mapping.js +1 -1
- package/libs/maquette/projection.js +1 -1
- package/libs/maquette/projector.js +1 -1
- package/libs/maquette/utilities/window-performance-projector-logger.js +1 -1
- package/libs/maquette-advanced-projector/advanced-projector-options.js +1 -1
- package/libs/maquette-advanced-projector/index.js +1 -1
- package/libs/maquette-advanced-projector/projector.js +1 -1
- package/libs/maquette-advanced-projector/utils.js +1 -1
- package/libs/parquet/loadParquetModule.js +1 -1
- package/libs/parquet/parquet.js +1 -1
- package/libs/vxl/VxlModule.js +1 -1
- package/libs/vxl/enums.js +1 -1
- package/linkChart/ChronologicalLayoutSettings.js +1 -1
- package/linkChart/LayoutSettings.js +1 -1
- package/linkChart/LinkChartProperties.js +1 -1
- package/linkChart/NonspatialDataDisplay.js +1 -1
- package/linkChart/OrganicLayoutSettings.js +1 -1
- package/linkChart/enums.js +1 -1
- package/linkChart/utils.js +1 -1
- package/networks/CircuitManager.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/RulesTable.js +1 -1
- package/networks/UnitIdentifierManager.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/NamedTraceConfiguration.js +1 -1
- package/networks/support/NetworkSystemLayers.js +1 -1
- package/networks/support/Terminal.js +1 -1
- package/networks/support/TerminalConfiguration.js +1 -1
- package/networks/support/TopologyValidationJobInfo.js +1 -1
- package/networks/support/TraceConfiguration.js +1 -1
- package/networks/support/TraceJobInfo.js +1 -1
- package/networks/support/UNTraceConfiguration.js +2 -2
- package/networks/support/UtilityNetworkLookupHelper.js +1 -1
- package/networks/support/networkFieldUtils.js +1 -1
- package/networks/support/typeUtils.js +2 -2
- package/networks/support/utils.js +1 -1
- package/package.json +1 -1
- package/pointCloudRenderers.js +1 -1
- package/popup/ElementExpressionInfo.js +1 -1
- package/popup/ExpressionInfo.js +1 -1
- package/popup/FieldInfo.js +1 -1
- package/popup/LayerOptions.js +1 -1
- package/popup/RelatedRecordsInfo.js +1 -1
- package/popup/content/AttachmentsContent.js +1 -1
- package/popup/content/BarChartMediaInfo.js +1 -1
- package/popup/content/ColumnChartMediaInfo.js +1 -1
- package/popup/content/Content.js +1 -1
- package/popup/content/CustomContent.js +1 -1
- package/popup/content/ExpressionContent.js +1 -1
- package/popup/content/FieldsContent.js +1 -1
- package/popup/content/ImageMediaInfo.js +1 -1
- package/popup/content/LineChartMediaInfo.js +1 -1
- package/popup/content/MediaContent.js +1 -1
- package/popup/content/PieChartMediaInfo.js +1 -1
- package/popup/content/RelationshipContent.js +1 -1
- package/popup/content/TextContent.js +1 -1
- package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
- package/popup/content/mixins/ChartMediaInfo.js +1 -1
- package/popup/content/mixins/MediaInfo.js +1 -1
- package/popup/content/support/ChartMediaInfoValue.js +1 -1
- package/popup/content/support/ChartMediaInfoValueSeries.js +1 -1
- package/popup/content/support/ImageMediaInfoValue.js +1 -1
- package/popup/content/support/chartMediaInfoUtils.js +1 -1
- package/popup/content/support/mediaInfoTypes.js +1 -1
- package/popup/content.js +1 -1
- package/popup/support/AttachmentsOrderByInfo.js +1 -1
- package/popup/support/FieldInfoFormat.js +1 -1
- package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
- package/popup/support/UtilityNetworkAssociationType.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalFolder.js +1 -1
- package/portal/PortalGroup.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/PortalItemResource.js +1 -1
- package/portal/PortalQueryParams.js +1 -1
- package/portal/PortalQueryResult.js +1 -1
- package/portal/PortalRating.js +1 -1
- package/portal/PortalUser.js +1 -1
- package/portal/portalDefault.js +1 -1
- package/portal/schemas/buildingSceneLayerItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/schemas/integratedMesh3DTilesLayerItem.js +1 -1
- package/portal/schemas/integratedMeshLayerItem.js +1 -1
- package/portal/schemas/pointCloudLayerItem.js +1 -1
- package/portal/schemas/sceneLayerItem.js +1 -1
- package/portal/schemas/webScene.js +1 -1
- package/portal/support/featureCollectionUtils.js +1 -1
- package/portal/support/geometryServiceUtils.js +1 -1
- package/portal/support/jsonContext.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/loadUtils.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/portal/support/resourceExtension.js +1 -1
- package/portal/support/resourceUtils.js +1 -1
- package/portal/support/urlUtils.js +1 -1
- package/portal/support/utils.js +1 -1
- package/portal/timeUnitKebabDictionary.js +1 -1
- package/properties/defaultUnit.js +1 -1
- package/rasterRenderers.js +1 -1
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/DictionaryRenderer.js +1 -1
- package/renderers/DotDensityRenderer.js +1 -1
- package/renderers/FlowRenderer.js +1 -1
- package/renderers/HeatmapRenderer.js +1 -1
- package/renderers/PieChartRenderer.js +1 -1
- package/renderers/PointCloudClassBreaksRenderer.js +1 -1
- package/renderers/PointCloudRGBRenderer.js +1 -1
- package/renderers/PointCloudRenderer.js +1 -1
- package/renderers/PointCloudStretchRenderer.js +1 -1
- package/renderers/PointCloudUniqueValueRenderer.js +1 -1
- package/renderers/RasterColormapRenderer.js +1 -1
- package/renderers/RasterShadedReliefRenderer.js +1 -1
- package/renderers/RasterStretchRenderer.js +1 -1
- package/renderers/Renderer.js +1 -1
- package/renderers/SimpleRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/mixins/VisualVariablesMixin.js +1 -1
- package/renderers/support/AttributeColorInfo.js +1 -1
- package/renderers/support/AuthoringInfo.js +1 -1
- package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
- package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
- package/renderers/support/AuthoringInfoSizeStop.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/ClassBreakInfo.js +1 -1
- package/renderers/support/ColormapInfo.js +1 -1
- package/renderers/support/DictionaryControlString.js +1 -1
- package/renderers/support/DictionaryLoader.js +1 -1
- package/renderers/support/DictionaryScriptEvaluator.js +1 -1
- package/renderers/support/DotDensityLegendOptions.js +1 -1
- package/renderers/support/HeatmapColorStop.js +1 -1
- package/renderers/support/HeatmapLegendOptions.js +1 -1
- package/renderers/support/OthersCategory.js +1 -1
- package/renderers/support/RasterPresetRenderer.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/RendererLegendOptions.js +1 -1
- package/renderers/support/RenderingInfo.js +1 -1
- package/renderers/support/UniqueValue.js +1 -1
- package/renderers/support/UniqueValueClass.js +1 -1
- package/renderers/support/UniqueValueGroup.js +1 -1
- package/renderers/support/UniqueValueInfo.js +1 -1
- package/renderers/support/authoringInfoUtils.js +1 -1
- package/renderers/support/clickToleranceUtils.js +1 -1
- package/renderers/support/colorRampUtils.js +1 -1
- package/renderers/support/commonProperties.js +1 -1
- package/renderers/support/heatmapUtils.js +1 -1
- package/renderers/support/jsonUtils.js +1 -1
- package/renderers/support/lengthUtils.js +1 -1
- package/renderers/support/numberUtils.js +1 -1
- package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
- package/renderers/support/pointCloud/ColorModulation.js +1 -1
- package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
- package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
- package/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm.js +1 -1
- package/renderers/support/pointCloud/PointSizeSplatAlgorithm.js +1 -1
- package/renderers/support/pointCloud/pointSizeAlgorithmTypeUtils.js +1 -1
- package/renderers/support/pointCloud/typeUtils.js +1 -1
- package/renderers/support/rasterRendererChecks.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/rasterTypeUtils.js +1 -1
- package/renderers/support/rendererConversion.js +1 -1
- package/renderers/support/renderingInfoUtils.js +1 -1
- package/renderers/support/stretchRendererUtils.js +1 -1
- package/renderers/support/styleUtils.js +1 -1
- package/renderers/support/typeUtils.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/renderers/visualVariables/ColorVariable.js +1 -1
- package/renderers/visualVariables/OpacityVariable.js +1 -1
- package/renderers/visualVariables/RotationVariable.js +1 -1
- package/renderers/visualVariables/SizeVariable.js +1 -1
- package/renderers/visualVariables/VisualVariable.js +1 -1
- package/renderers/visualVariables/VisualVariableFactory.js +1 -1
- package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
- package/renderers/visualVariables/support/ColorStop.js +1 -1
- package/renderers/visualVariables/support/OpacityStop.js +1 -1
- package/renderers/visualVariables/support/SizeStop.js +1 -1
- package/renderers/visualVariables/support/SizeVariableLegendOptions.js +1 -1
- package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
- package/renderers/visualVariables/support/castSizeVariable.js +1 -1
- package/renderers/visualVariables/support/sizeVariableUtils.js +1 -1
- package/renderers/visualVariables/support/visualVariableUtils.js +1 -1
- package/renderers.js +1 -1
- package/request.js +1 -1
- package/rest/closestFacility.js +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/featureService/utils.js +1 -1
- package/rest/find.js +1 -1
- package/rest/generateRenderer.js +1 -1
- package/rest/geometryService/areasAndLengths.js +1 -1
- package/rest/geometryService/autoComplete.js +1 -1
- package/rest/geometryService/buffer.js +1 -1
- package/rest/geometryService/convexHull.js +1 -1
- package/rest/geometryService/cut.js +1 -1
- package/rest/geometryService/densify.js +1 -1
- package/rest/geometryService/difference.js +1 -1
- package/rest/geometryService/distance.js +1 -1
- package/rest/geometryService/fromGeoCoordinateString.js +1 -1
- package/rest/geometryService/generalize.js +1 -1
- package/rest/geometryService/intersect.js +1 -1
- package/rest/geometryService/labelPoints.js +1 -1
- package/rest/geometryService/lengths.js +1 -1
- package/rest/geometryService/offset.js +1 -1
- package/rest/geometryService/project.js +1 -1
- package/rest/geometryService/relation.js +1 -1
- package/rest/geometryService/reshape.js +1 -1
- package/rest/geometryService/simplify.js +1 -1
- package/rest/geometryService/toGeoCoordinateString.js +1 -1
- package/rest/geometryService/trimExtend.js +1 -1
- package/rest/geometryService/union.js +1 -1
- package/rest/geometryService/units.js +1 -1
- package/rest/geometryService/utils.js +1 -1
- package/rest/geometryService.js +1 -1
- package/rest/geoprocessor/GPOptions.js +1 -1
- package/rest/geoprocessor/execute.js +1 -1
- package/rest/geoprocessor/submitJob.js +1 -1
- package/rest/geoprocessor/utils.js +1 -1
- package/rest/geoprocessor.js +1 -1
- package/rest/identify.js +1 -1
- package/rest/imageService/fetchRasterInfo.js +1 -1
- package/rest/imageService/getCatalogItemRasterInfo.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/knowledgeGraph/DataModel.js +1 -1
- package/rest/knowledgeGraph/Entity.js +1 -1
- package/rest/knowledgeGraph/EntityType.js +1 -1
- package/rest/knowledgeGraph/FieldIndex.js +1 -1
- package/rest/knowledgeGraph/GraphAddNamedTypesResult.js +2 -2
- package/rest/knowledgeGraph/GraphAddPropertyResult.js +2 -2
- package/rest/knowledgeGraph/GraphApplyEdits.js +1 -1
- package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
- package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.js +2 -2
- package/rest/knowledgeGraph/GraphDeletePropertyResult.js +2 -2
- package/rest/knowledgeGraph/GraphNamedObject.js +1 -1
- package/rest/knowledgeGraph/GraphObject.js +1 -1
- package/rest/knowledgeGraph/GraphObjectType.js +1 -1
- package/rest/knowledgeGraph/GraphProperty.js +1 -1
- package/rest/knowledgeGraph/GraphQuery.js +1 -1
- package/rest/knowledgeGraph/GraphQueryResult.js +1 -1
- package/rest/knowledgeGraph/GraphQueryResultHeader.js +1 -1
- package/rest/knowledgeGraph/GraphQueryStreaming.js +1 -1
- package/rest/knowledgeGraph/GraphQueryStreamingResult.js +1 -1
- package/rest/knowledgeGraph/GraphSearch.js +1 -1
- package/rest/knowledgeGraph/GraphSearchStreaming.js +1 -1
- package/rest/knowledgeGraph/GraphUpdateNamedTypesResult.js +2 -2
- package/rest/knowledgeGraph/GraphUpdatePropertyResult.js +2 -2
- package/rest/knowledgeGraph/GraphUpdateSearchIndexResult.js +2 -2
- package/rest/knowledgeGraph/InputQuantizationParameters.js +1 -1
- package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
- package/rest/knowledgeGraph/ObjectValue.js +1 -1
- package/rest/knowledgeGraph/OutputQuantizationParameters.js +1 -1
- package/rest/knowledgeGraph/Path.js +1 -1
- package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
- package/rest/knowledgeGraph/Relationship.js +1 -1
- package/rest/knowledgeGraph/RelationshipType.js +1 -1
- package/rest/knowledgeGraph/SearchIndex.js +1 -1
- package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
- package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/KnowledgeWasmInterface.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/WasmClientDataInterfaces.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/clientDataToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +2 -2
- package/rest/knowledgeGraph/wasmInterface/wasmToClientDataFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +2 -2
- package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToGeometryFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToUpdateResponseFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmUtils.js +1 -1
- package/rest/knowledgeGraphService.js +2 -2
- package/rest/locator/addressToLocations.js +1 -1
- package/rest/locator/addressesToLocations.js +1 -1
- package/rest/locator/locationToAddress.js +1 -1
- package/rest/locator/suggestLocations.js +1 -1
- package/rest/locator/utils.js +1 -1
- package/rest/locator.js +1 -1
- package/rest/networkService.js +1 -1
- package/rest/networks/circuits/alterCircuit.js +1 -1
- package/rest/networks/circuits/createCircuit.js +1 -1
- package/rest/networks/circuits/deleteCircuits.js +1 -1
- package/rest/networks/circuits/exportCircuits.js +1 -1
- package/rest/networks/circuits/queryCircuits.js +1 -1
- package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
- package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
- package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
- package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
- package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
- package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
- package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
- package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
- package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
- package/rest/networks/circuits/verifyCircuits.js +1 -1
- package/rest/networks/queryAssociations.js +1 -1
- package/rest/networks/queryNamedTraceConfigurations.js +1 -1
- package/rest/networks/support/AggregatedGeometry.js +1 -1
- package/rest/networks/support/Association.js +1 -1
- package/rest/networks/support/AssociationGeometriesResult.js +1 -1
- package/rest/networks/support/FunctionResult.js +1 -1
- package/rest/networks/support/NetworkElement.js +1 -1
- package/rest/networks/support/QueryAssociationsParameters.js +1 -1
- package/rest/networks/support/QueryAssociationsResult.js +1 -1
- package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
- package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
- package/rest/networks/support/TelecomNetworkElement.js +1 -1
- package/rest/networks/support/TraceLocation.js +2 -2
- package/rest/networks/support/TraceParameters.js +1 -1
- package/rest/networks/support/TraceResult.js +2 -2
- package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
- package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
- package/rest/networks/synthesizeAssociationGeometries.js +1 -1
- package/rest/networks/trace.js +1 -1
- package/rest/networks/unitIdentifiers/insertGap.js +1 -1
- package/rest/networks/unitIdentifiers/queryUnitIdentifiers.js +1 -1
- package/rest/networks/unitIdentifiers/reset.js +1 -1
- package/rest/networks/unitIdentifiers/resize.js +1 -1
- package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
- package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParamters.js +1 -1
- package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
- package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
- package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
- package/rest/networks/validateNetworkTopology.js +1 -1
- package/rest/operations/find.js +1 -1
- package/rest/operations/generalize.js +1 -1
- package/rest/operations/identify.js +1 -1
- package/rest/operations/lengths.js +1 -1
- package/rest/operations/offset.js +1 -1
- package/rest/operations/relation.js +1 -1
- package/rest/operations/trimExtend.js +1 -1
- package/rest/operations/urlUtils.js +1 -1
- package/rest/places.js +1 -1
- package/rest/print.js +1 -1
- package/rest/query/executeAttachmentQuery.js +1 -1
- package/rest/query/executeAttributeBinsQuery.js +1 -1
- package/rest/query/executeForCount.js +1 -1
- package/rest/query/executeForExtent.js +1 -1
- package/rest/query/executeForIds.js +1 -1
- package/rest/query/executeForTopCount.js +1 -1
- package/rest/query/executeForTopExtents.js +1 -1
- package/rest/query/executeForTopIds.js +1 -1
- package/rest/query/executeQuery.js +1 -1
- package/rest/query/executeQueryJSON.js +1 -1
- package/rest/query/executeQueryPBF.js +1 -1
- package/rest/query/executeRelationshipQuery.js +1 -1
- package/rest/query/executeTopFeaturesQuery.js +1 -1
- package/rest/query/operations/editsZScale.js +1 -1
- package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
- package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
- package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
- package/rest/query/operations/pbfOptimizedFeatureSet.js +1 -1
- package/rest/query/operations/pbfQueryUtils.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryAttachments.js +1 -1
- package/rest/query/operations/queryAttributeBins.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/query/operations/queryZScale.js +1 -1
- package/rest/query/support/AttachmentInfo.js +1 -1
- package/rest/query.js +1 -1
- package/rest/route/utils.js +1 -1
- package/rest/route.js +1 -1
- package/rest/serviceArea.js +1 -1
- package/rest/sharedTemplates/querySharedTemplates.js +1 -1
- package/rest/support/AddressCandidate.js +1 -1
- package/rest/support/AddressToLocationsParameters.js +1 -1
- package/rest/support/AddressesToLocationsParameters.js +1 -1
- package/rest/support/AggregateFeatureSet.js +1 -1
- package/rest/support/AlgorithmicColorRamp.js +1 -1
- package/rest/support/ArealUnit.js +1 -1
- package/rest/support/AreasAndLengthsParameters.js +1 -1
- package/rest/support/AttachmentQuery.js +1 -1
- package/rest/support/AttributeBinsFeatureSet.js +1 -1
- package/rest/support/AttributeBinsGrouping.js +1 -1
- package/rest/support/AttributeBinsQuery.js +1 -1
- package/rest/support/AutoIntervalBinParameters.js +1 -1
- package/rest/support/BaseImageMeasureParameters.js +1 -1
- package/rest/support/BaseImageMeasureResult.js +1 -1
- package/rest/support/BinParametersBase.js +1 -1
- package/rest/support/BufferParameters.js +1 -1
- package/rest/support/CameraInfo.js +1 -1
- package/rest/support/CameraInfoMixin.js +1 -1
- package/rest/support/ClassBreaksDefinition.js +1 -1
- package/rest/support/ClosestFacilityParameters.js +1 -1
- package/rest/support/ClosestFacilitySolveResult.js +1 -1
- package/rest/support/ColorRamp.js +1 -1
- package/rest/support/DataFile.js +1 -1
- package/rest/support/DataLayer.js +1 -1
- package/rest/support/DateBinParameters.js +1 -1
- package/rest/support/DateBinTimeInterval.js +1 -1
- package/rest/support/DensifyParameters.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/DirectionsEvent.js +1 -1
- package/rest/support/DirectionsFeature.js +1 -1
- package/rest/support/DirectionsFeatureSet.js +1 -1
- package/rest/support/DirectionsString.js +1 -1
- package/rest/support/DistanceParameters.js +1 -1
- package/rest/support/FeatureSet.js +1 -1
- package/rest/support/FetchPlaceParameters.js +1 -1
- package/rest/support/FindImagesParameters.js +1 -1
- package/rest/support/FindImagesResult.js +1 -1
- package/rest/support/FindParameters.js +1 -1
- package/rest/support/FindResult.js +1 -1
- package/rest/support/FixedBoundariesBinParameters.js +1 -1
- package/rest/support/FixedIntervalBinParameters.js +1 -1
- package/rest/support/FullTextSearch.js +1 -1
- package/rest/support/GPMessage.js +1 -1
- package/rest/support/GeneralizeParameters.js +1 -1
- package/rest/support/GenerateRendererParameters.js +1 -1
- package/rest/support/IdentifyParameters.js +1 -1
- package/rest/support/IdentifyResult.js +1 -1
- package/rest/support/ImageAngleParameters.js +1 -1
- package/rest/support/ImageAngleResult.js +1 -1
- package/rest/support/ImageAreaParameters.js +1 -1
- package/rest/support/ImageAreaResult.js +1 -1
- package/rest/support/ImageBoundaryParameters.js +1 -1
- package/rest/support/ImageBoundaryResult.js +1 -1
- package/rest/support/ImageDistanceParameters.js +1 -1
- package/rest/support/ImageDistanceResult.js +1 -1
- package/rest/support/ImageGPSInfo.js +1 -1
- package/rest/support/ImageGPSInfoParameters.js +1 -1
- package/rest/support/ImageGPSInfoResult.js +1 -1
- package/rest/support/ImageHeightParameters.js +1 -1
- package/rest/support/ImageHeightResult.js +1 -1
- package/rest/support/ImageHistogramParameters.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/ImageIdentifyResult.js +1 -1
- package/rest/support/ImageInspectionInfo.js +1 -1
- package/rest/support/ImageParameters.js +1 -1
- package/rest/support/ImagePixelLocationParameters.js +1 -1
- package/rest/support/ImagePixelLocationResult.js +1 -1
- package/rest/support/ImagePointParameters.js +1 -1
- package/rest/support/ImagePointResult.js +1 -1
- package/rest/support/ImageSample.js +1 -1
- package/rest/support/ImageSampleParameters.js +1 -1
- package/rest/support/ImageSampleResult.js +1 -1
- package/rest/support/ImageToMapMultirayParameters.js +1 -1
- package/rest/support/ImageToMapParameters.js +1 -1
- package/rest/support/ImageUrlParameters.js +1 -1
- package/rest/support/ImageUrlResult.js +1 -1
- package/rest/support/ImageVolume.js +1 -1
- package/rest/support/ImageVolumeParameters.js +1 -1
- package/rest/support/ImageVolumeResult.js +1 -1
- package/rest/support/JobInfo.js +1 -1
- package/rest/support/LegendLayer.js +1 -1
- package/rest/support/LengthsParameters.js +1 -1
- package/rest/support/LinearUnit.js +1 -1
- package/rest/support/LocationToAddressParameters.js +1 -1
- package/rest/support/MapToImageParameters.js +1 -1
- package/rest/support/MeasureAreaFromImageResult.js +1 -1
- package/rest/support/MeasureFromImageParameters.js +1 -1
- package/rest/support/MeasureLengthFromImageResult.js +1 -1
- package/rest/support/MultipartColorRamp.js +1 -1
- package/rest/support/NAMessage.js +1 -1
- package/rest/support/NetworkAttribute.js +1 -1
- package/rest/support/NetworkDataset.js +1 -1
- package/rest/support/NetworkFeatureSet.js +1 -1
- package/rest/support/NetworkServiceDescription.js +1 -1
- package/rest/support/NetworkUrl.js +1 -1
- package/rest/support/NormalizationBinParametersMixin.js +1 -1
- package/rest/support/OffsetParameters.js +1 -1
- package/rest/support/ParameterValue.js +1 -1
- package/rest/support/PlaceResult.js +1 -1
- package/rest/support/PlacesParameters.js +1 -1
- package/rest/support/PlacesQueryParameters.js +1 -1
- package/rest/support/PlacesQueryResult.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/PrintParameters.js +1 -1
- package/rest/support/PrintTemplate.js +1 -1
- package/rest/support/ProjectParameters.js +1 -1
- package/rest/support/QuantizationParameters.js +1 -1
- package/rest/support/Query.js +1 -1
- package/rest/support/RasterData.js +1 -1
- package/rest/support/RelationParameters.js +1 -1
- package/rest/support/RelationshipQuery.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteParameters.js +1 -1
- package/rest/support/RouteResult.js +1 -1
- package/rest/support/RouteSettings.js +1 -1
- package/rest/support/RouteSolveResult.js +1 -1
- package/rest/support/ServiceAreaParameters.js +1 -1
- package/rest/support/ServiceAreaSolveResult.js +1 -1
- package/rest/support/StatisticDefinition.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/SuggestLocationsParameters.js +1 -1
- package/rest/support/SuggestionCandidate.js +1 -1
- package/rest/support/TopFeaturesQuery.js +1 -1
- package/rest/support/TopFilter.js +1 -1
- package/rest/support/TranslateContent.js +1 -1
- package/rest/support/TranslateParameters.js +1 -1
- package/rest/support/TranslateResult.js +1 -1
- package/rest/support/TravelMode.js +1 -1
- package/rest/support/TrimExtendParameters.js +1 -1
- package/rest/support/UniqueValueDefinition.js +1 -1
- package/rest/support/colorRamps.js +1 -1
- package/rest/support/commonProperties.js +1 -1
- package/rest/support/fileFormat.js +1 -1
- package/rest/support/generateRendererUtils.js +1 -1
- package/rest/support/geometryOperationLengthUnit.js +1 -1
- package/rest/support/imageMeasureUtils.js +1 -1
- package/rest/support/jsonUtils.js +1 -1
- package/rest/support/layoutTemplate.js +1 -1
- package/rest/support/meshFeatureAttributes.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/rest/support/networkEnums.js +1 -1
- package/rest/support/parameterValueUtils.js +1 -1
- package/rest/support/printTaskUtils.js +1 -1
- package/rest/support/reportTemplate.js +1 -1
- package/rest/support/spatialRelationships.js +1 -1
- package/rest/symbolService.js +1 -1
- package/rest/translate.js +1 -1
- package/rest/utils.js +1 -1
- package/rest/versionManagement/createVersion.js +1 -1
- package/rest/versionManagement/deleteVersion.js +1 -1
- package/rest/versionManagement/gdbVersion/alterVersion.js +1 -1
- package/rest/versionManagement/gdbVersion/conflicts.js +1 -1
- package/rest/versionManagement/gdbVersion/deleteForwardEdits.js +1 -1
- package/rest/versionManagement/gdbVersion/differences.js +1 -1
- package/rest/versionManagement/gdbVersion/inspectConflicts.js +1 -1
- package/rest/versionManagement/gdbVersion/post.js +1 -1
- package/rest/versionManagement/gdbVersion/reconcile.js +1 -1
- package/rest/versionManagement/gdbVersion/restoreRows.js +1 -1
- package/rest/versionManagement/gdbVersion/serverVersionUtils.js +1 -1
- package/rest/versionManagement/gdbVersion/startEditing.js +1 -1
- package/rest/versionManagement/gdbVersion/startReading.js +1 -1
- package/rest/versionManagement/gdbVersion/stopEditing.js +1 -1
- package/rest/versionManagement/gdbVersion/stopReading.js +1 -1
- package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
- package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
- package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
- package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
- package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
- package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
- package/rest/versionManagement/getVersion.js +1 -1
- package/rest/versionManagement/getVersionInfos.js +1 -1
- package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
- package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
- package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
- package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
- package/smartMapping/heuristics/ageUnit.js +1 -1
- package/smartMapping/heuristics/binLevel.js +1 -1
- package/smartMapping/heuristics/clusterMinSize.js +1 -1
- package/smartMapping/heuristics/outline.js +1 -1
- package/smartMapping/heuristics/referenceSize.js +1 -1
- package/smartMapping/heuristics/scaleRange.js +1 -1
- package/smartMapping/heuristics/sizeRange.js +1 -1
- package/smartMapping/labels/bins.js +1 -1
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/labels/support/utils.js +1 -1
- package/smartMapping/popup/classBreaks.js +1 -1
- package/smartMapping/popup/clusters.js +1 -1
- package/smartMapping/popup/dotDensity.js +1 -1
- package/smartMapping/popup/heatmap.js +1 -1
- package/smartMapping/popup/predominance.js +1 -1
- package/smartMapping/popup/relationship.js +1 -1
- package/smartMapping/popup/simple.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +1 -1
- package/smartMapping/popup/templates.js +1 -1
- package/smartMapping/popup/uniqueValues.js +1 -1
- package/smartMapping/raster/renderers/classBreaks.js +1 -1
- package/smartMapping/raster/renderers/colormap.js +1 -1
- package/smartMapping/raster/renderers/flow.js +1 -1
- package/smartMapping/raster/renderers/rgb.js +1 -1
- package/smartMapping/raster/renderers/shadedRelief.js +1 -1
- package/smartMapping/raster/renderers/stretch.js +1 -1
- package/smartMapping/raster/renderers/uniqueValue.js +1 -1
- package/smartMapping/raster/renderers/vectorField.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryTileLayerAdapter.js +1 -1
- package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
- package/smartMapping/raster/support/colorRamps.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/pieChart.js +2 -2
- package/smartMapping/renderers/predominance.js +2 -2
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/dotDensityUtils.js +1 -1
- package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.js +2 -2
- package/smartMapping/renderers/support/spikeUtils.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/classBreaks.js +1 -1
- package/smartMapping/statistics/heatmapStatistics.js +1 -1
- package/smartMapping/statistics/histogram.js +1 -1
- package/smartMapping/statistics/predominantCategories.js +1 -1
- package/smartMapping/statistics/spatialStatistics.js +1 -1
- package/smartMapping/statistics/summaryStatistics.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAge.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
- package/smartMapping/statistics/support/WorkerClient.js +1 -1
- package/smartMapping/statistics/support/ageUtils.js +1 -1
- package/smartMapping/statistics/support/attributeDensity.js +1 -1
- package/smartMapping/statistics/support/predominanceUtils.js +1 -1
- package/smartMapping/statistics/support/statsWorker.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/statistics/types.js +1 -1
- package/smartMapping/statistics/uniqueValues.js +1 -1
- package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
- package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/LayerAdapter.js +1 -1
- package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/PointCloudLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/StreamLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
- package/smartMapping/support/adapters/support/layerUtils.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/binningUtils.js +1 -1
- package/smartMapping/support/clusterUtils.js +1 -1
- package/smartMapping/support/utils.js +1 -1
- package/smartMapping/symbology/color.js +1 -1
- package/smartMapping/symbology/dotDensity.js +1 -1
- package/smartMapping/symbology/flow.js +1 -1
- package/smartMapping/symbology/heatmap.js +1 -1
- package/smartMapping/symbology/location.js +1 -1
- package/smartMapping/symbology/pieChart.js +1 -1
- package/smartMapping/symbology/predominance.js +1 -1
- package/smartMapping/symbology/relationship.js +1 -1
- package/smartMapping/symbology/size.js +1 -1
- package/smartMapping/symbology/support/Theme.js +1 -1
- package/smartMapping/symbology/support/aboveAndBelowUtils.js +1 -1
- package/smartMapping/symbology/support/colorRamps.js +1 -1
- package/smartMapping/symbology/support/colors.js +1 -1
- package/smartMapping/symbology/support/symbologyUtils.js +1 -1
- package/smartMapping/symbology/support/utils.js +1 -1
- package/smartMapping/symbology/type.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/AnalysesCollection.js +1 -1
- package/support/ArcadeExpression.js +1 -1
- package/support/BasemapStyle.js +1 -1
- package/support/GraphicsCollection.js +1 -1
- package/support/LayersMixin.js +1 -1
- package/support/MapFloorInfo.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/actions/ActionBase.js +1 -1
- package/support/actions/ActionButton.js +1 -1
- package/support/actions/ActionToggle.js +1 -1
- package/support/actions/actionUtils.js +1 -1
- package/support/apiKeyUtils.js +1 -1
- package/support/arcadeExpressionUtils.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/base64Utils.js +1 -1
- package/support/basemapDefinitions.js +1 -1
- package/support/basemapEnsureType.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/collectionUtils.js +1 -1
- package/support/dateUtils.js +1 -1
- package/support/elevationInfoUtils.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/getDefaultUnitForView.js +1 -1
- package/support/groundInstanceUtils.js +1 -1
- package/support/groundUtils.js +1 -1
- package/support/guards.js +1 -1
- package/support/loadArcade.js +1 -1
- package/support/mediaLayerUtils.js +1 -1
- package/support/modeUtils.js +1 -1
- package/support/persistableUrlUtils.js +1 -1
- package/support/popupUtils.js +1 -1
- package/support/progressUtils.js +1 -1
- package/support/requestImageUtils.js +1 -1
- package/support/requestPresets.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +2 -2
- package/support/tagSymbols.js +1 -1
- package/support/timeUtils.js +1 -1
- package/support/validationUtilsAjv.js +1 -1
- package/support/webSceneUtils.js +1 -1
- package/support/zipUtils.js +1 -1
- package/support/zipjs-wrapper.js +1 -1
- package/symbols/CIMSymbol.js +1 -1
- package/symbols/ExtrudeSymbol3DLayer.js +1 -1
- package/symbols/FillSymbol.js +1 -1
- package/symbols/FillSymbol3DLayer.js +1 -1
- package/symbols/Font.js +1 -1
- package/symbols/IconSymbol3DLayer.js +1 -1
- package/symbols/LabelSymbol3D.js +1 -1
- package/symbols/LineStyleMarker3D.js +1 -1
- package/symbols/LineSymbol.js +1 -1
- package/symbols/LineSymbol3D.js +1 -1
- package/symbols/LineSymbol3DLayer.js +1 -1
- package/symbols/LineSymbolMarker.js +1 -1
- package/symbols/MarkerSymbol.js +1 -1
- package/symbols/MeshSymbol3D.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/PathSymbol3DLayer.js +1 -1
- package/symbols/PictureFillSymbol.js +1 -1
- package/symbols/PictureMarkerSymbol.js +1 -1
- package/symbols/PointSymbol3D.js +1 -1
- package/symbols/PolygonSymbol3D.js +1 -1
- package/symbols/SimpleFillSymbol.js +1 -1
- package/symbols/SimpleLineSymbol.js +1 -1
- package/symbols/SimpleMarkerSymbol.js +1 -1
- package/symbols/Symbol.js +1 -1
- package/symbols/Symbol3D.js +1 -1
- package/symbols/Symbol3DLayer.js +1 -1
- package/symbols/TextSymbol.js +1 -1
- package/symbols/TextSymbol3DLayer.js +1 -1
- package/symbols/WaterSymbol3DLayer.js +1 -1
- package/symbols/WebStyleSymbol.js +1 -1
- package/symbols/callouts/Callout3D.js +1 -1
- package/symbols/callouts/LineCallout3D.js +1 -1
- package/symbols/callouts/LineCallout3DBorder.js +1 -1
- package/symbols/callouts/calloutUtils.js +1 -1
- package/symbols/cim/CIMCursor.js +1 -1
- package/symbols/cim/CIMEffects.js +1 -1
- package/symbols/cim/CIMImageColorSubstitutionHelper.js +1 -1
- package/symbols/cim/CIMOperators.js +1 -1
- package/symbols/cim/CIMPlacements.js +1 -1
- package/symbols/cim/CIMResourceManager.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/CurveHelper.js +1 -1
- package/symbols/cim/GeometryWalker.js +1 -1
- package/symbols/cim/OverrideHelper.js +1 -1
- package/symbols/cim/Rasterizer.js +1 -1
- package/symbols/cim/Rect.js +1 -1
- package/symbols/cim/SDFHelper.js +1 -1
- package/symbols/cim/TextRasterizer.js +1 -1
- package/symbols/cim/animationDebugFlags.js +1 -1
- package/symbols/cim/animationUtils.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/constants.js +1 -1
- package/symbols/cim/defaultCIMValues.js +1 -1
- package/symbols/cim/effects/CIMEffectHelper.js +1 -1
- package/symbols/cim/effects/EffectAddControlPoints.js +1 -1
- package/symbols/cim/effects/EffectArrow.js +1 -1
- package/symbols/cim/effects/EffectBuffer.js +1 -1
- package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
- package/symbols/cim/effects/EffectCut.js +1 -1
- package/symbols/cim/effects/EffectDashes.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
- package/symbols/cim/effects/EffectJog.js +1 -1
- package/symbols/cim/effects/EffectMove.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/cim/effects/EffectRadial.js +1 -1
- package/symbols/cim/effects/EffectReverse.js +1 -1
- package/symbols/cim/effects/EffectRotate.js +1 -1
- package/symbols/cim/effects/EffectScale.js +1 -1
- package/symbols/cim/effects/EffectSuppress.js +1 -1
- package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
- package/symbols/cim/effects/EffectWave.js +1 -1
- package/symbols/cim/enums.js +1 -1
- package/symbols/cim/fitVectorMarker.js +1 -1
- package/symbols/cim/imageUtils.js +1 -1
- package/symbols/cim/mathUtils.js +1 -1
- package/symbols/cim/placements/CIMMarkerPlacementHelper.js +1 -1
- package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
- package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
- package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
- package/symbols/cim/placements/PlacementInsidePolygon.js +1 -1
- package/symbols/cim/placements/PlacementOnLine.js +1 -1
- package/symbols/cim/placements/PlacementOnVertices.js +1 -1
- package/symbols/cim/placements/PlacementPolygonCenter.js +1 -1
- package/symbols/cim/quantizeTime.js +1 -1
- package/symbols/cim/rasterizingUtils.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/edges/Edges3D.js +1 -1
- package/symbols/edges/SketchEdges3D.js +1 -1
- package/symbols/edges/SolidEdges3D.js +1 -1
- package/symbols/edges/utils.js +1 -1
- package/symbols/patterns/LinePattern3D.js +1 -1
- package/symbols/patterns/LineStylePattern3D.js +1 -1
- package/symbols/patterns/Pattern3D.js +1 -1
- package/symbols/patterns/StylePattern3D.js +1 -1
- package/symbols/patterns/lineStyles.js +1 -1
- package/symbols/patterns/styles.js +1 -1
- package/symbols/patterns/utils.js +1 -1
- package/symbols/support/ElevationInfo.js +1 -1
- package/symbols/support/FeatureExpressionInfo.js +1 -1
- package/symbols/support/IconSymbol3DLayerResource.js +1 -1
- package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
- package/symbols/support/StyleOrigin.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
- package/symbols/support/Symbol3DEmissive.js +1 -1
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DHalo.js +1 -1
- package/symbols/support/Symbol3DIconOutline.js +1 -1
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Symbol3DTextBackground.js +1 -1
- package/symbols/support/Symbol3DVerticalOffset.js +1 -1
- package/symbols/support/Thumbnail.js +1 -1
- package/symbols/support/cimConversionUtils.js +1 -1
- package/symbols/support/cimSymbolUtils.js +1 -1
- package/symbols/support/colors.js +1 -1
- package/symbols/support/defaults.js +1 -1
- package/symbols/support/defaults3D.js +1 -1
- package/symbols/support/defaultsJSON.js +1 -1
- package/symbols/support/gfxUtils.js +1 -1
- package/symbols/support/jsonUtils.js +1 -1
- package/symbols/support/lineMarkers.js +1 -1
- package/symbols/support/materialUtils.js +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/symbols/support/previewSymbol2D.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/previewUtils.js +1 -1
- package/symbols/support/previewWebStyleSymbol.js +1 -1
- package/symbols/support/renderUtils.js +1 -1
- package/symbols/support/styleCache.js +1 -1
- package/symbols/support/styleUtils.js +1 -1
- package/symbols/support/svgGlobalState.js +1 -1
- package/symbols/support/svgUtils.js +1 -1
- package/symbols/support/symbolConversion.js +1 -1
- package/symbols/support/symbolLayerUtils.js +1 -1
- package/symbols/support/symbolLayerUtils3D.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/symbols/support/textUtils.js +1 -1
- package/symbols/support/typeUtils.js +1 -1
- package/symbols/support/unitConversionUtils.js +1 -1
- package/symbols/support/urlUtils.js +1 -1
- package/symbols/support/utils.js +1 -1
- package/symbols/support/webStyleAcceptedFormats.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/symbols.js +1 -1
- package/tables/AttributeTableTemplate.js +1 -1
- package/tables/elements/AttributeTableAttachmentElement.js +1 -1
- package/tables/elements/AttributeTableElement.js +1 -1
- package/tables/elements/AttributeTableFieldElement.js +1 -1
- package/tables/elements/AttributeTableGroupElement.js +1 -1
- package/tables/elements/AttributeTableRelationshipElement.js +1 -1
- package/tables/elements.js +1 -1
- package/tables/support/FieldOrder.js +1 -1
- package/tables/support/tablesUtils.js +1 -1
- package/time/TimeExtent.js +1 -1
- package/time/TimeInterval.js +1 -1
- package/time/constants.js +1 -1
- package/time/legacyTimeZoneMap.js +1 -1
- package/time/timeZoneUtils.js +1 -1
- package/undoredo/OperationStatus.js +1 -1
- package/undoredo/UndoRedoError.js +1 -1
- package/undoredo/UndoableOperation.js +1 -1
- package/undoredo/support/ApplySet.js +1 -1
- package/undoredo/support/ApplySetItem.js +1 -1
- package/undoredo/support/DataEditingContext.js +1 -1
- package/undoredo/support/ServiceVersionInfo.js +1 -1
- package/undoredo/support/Services.js +1 -1
- package/unionTypes.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/versionManagement/VersioningState.js +1 -1
- package/versionManagement/support/EditMomentStack.js +1 -1
- package/versionManagement/support/versionManagementUtils.js +1 -1
- package/versionManagement/utils.js +1 -1
- package/versionManagement/versionAdapters/FeatureLayerVersionAdapter.js +1 -1
- package/versionManagement/versionAdapters/NetworkVersionAdapter.js +1 -1
- package/versionManagement/versionAdapters/SubTypeGroupLayerVersionAdapter.js +1 -1
- package/versionManagement/versionAdapters/utils.js +1 -1
- package/views/2d/AnimationManager.js +1 -1
- package/views/2d/FrameTask.js +1 -1
- package/views/2d/GoToManager.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/PaddedViewState.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/ViewStateManager.js +1 -1
- package/views/2d/arcade/callExpressionWithCursor.js +1 -1
- package/views/2d/arcade/callExpressionWithFeature.js +1 -1
- package/views/2d/constraints/GeometryConstraint.js +1 -1
- package/views/2d/constraints/RotationConstraint.js +1 -1
- package/views/2d/constraints/ZoomConstraint.js +1 -1
- package/views/2d/engine/AFeatureContainer.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/BitmapContainer.js +1 -1
- package/views/2d/engine/BitmapTile.js +1 -1
- package/views/2d/engine/BitmapTileContainer.js +1 -1
- package/views/2d/engine/Container.js +1 -1
- package/views/2d/engine/DisplayObject.js +1 -1
- package/views/2d/engine/ImageryBitmapSource.js +1 -1
- package/views/2d/engine/ManagedCanvas.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/brushes.js +1 -1
- package/views/2d/engine/flow/BrushFlow.js +1 -1
- package/views/2d/engine/flow/FlowContainer.js +1 -1
- package/views/2d/engine/flow/FlowDisplayData.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/flow/FlowStrategy.js +1 -1
- package/views/2d/engine/flow/FlowView2D.js +1 -1
- package/views/2d/engine/flow/createFlowStyle.js +1 -1
- package/views/2d/engine/flow/dataUtils.js +1 -1
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Stack.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/flow/utils.js +1 -1
- package/views/2d/engine/imagery/BrushVectorField.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterTile.js +1 -1
- package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
- package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
- package/views/2d/engine/imagery/enums.js +1 -1
- package/views/2d/engine/rasterBrushes.js +1 -1
- package/views/2d/engine/svgUtils.js +1 -1
- package/views/2d/engine/transitions/FadeTransition.js +1 -1
- package/views/2d/engine/vectorTiles/Feature.js +1 -1
- package/views/2d/engine/vectorTiles/GeometryUtils.js +1 -1
- package/views/2d/engine/vectorTiles/GlyphMosaic.js +1 -1
- package/views/2d/engine/vectorTiles/GlyphSource.js +1 -1
- package/views/2d/engine/vectorTiles/IndexMemoryBuffer.js +1 -1
- package/views/2d/engine/vectorTiles/MemoryBuffer.js +1 -1
- package/views/2d/engine/vectorTiles/Placement.js +1 -1
- package/views/2d/engine/vectorTiles/RectangleBinPack.js +1 -1
- package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
- package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
- package/views/2d/engine/vectorTiles/ScriptUtils.js +1 -1
- package/views/2d/engine/vectorTiles/SourceLayerData.js +1 -1
- package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
- package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/vectorTiles/TileManager.js +1 -1
- package/views/2d/engine/vectorTiles/TileParser.js +1 -1
- package/views/2d/engine/vectorTiles/TilemapIndex.js +1 -1
- package/views/2d/engine/vectorTiles/TilemapRequest.js +1 -1
- package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
- package/views/2d/engine/vectorTiles/VertexMemoryBuffer.js +1 -1
- package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
- package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/BaseBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/CircleBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/FillBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/LineBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
- package/views/2d/engine/vectorTiles/constants.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/config.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/core.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/util.js +1 -1
- package/views/2d/engine/vectorTiles/enums.js +1 -1
- package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
- package/views/2d/engine/vectorTiles/expression/types.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/Programs.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/enums.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/sources/resolver.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/vectorTiles/style/Filter.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleDefinition.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleProperty.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +1 -1
- package/views/2d/engine/vectorTiles/tileInfoUtils.js +1 -1
- package/views/2d/engine/vtlBrushes.js +1 -1
- package/views/2d/engine/webgl/AFeatureTile.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
- package/views/2d/engine/webgl/ClippingInfo.js +1 -1
- package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +1 -1
- package/views/2d/engine/webgl/DisplayEntity.js +1 -1
- package/views/2d/engine/webgl/DisplayId.js +1 -1
- package/views/2d/engine/webgl/DisplayRecord.js +1 -1
- package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/GeometryUtils.js +1 -1
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/GlyphSource.js +1 -1
- package/views/2d/engine/webgl/MaterialManager.js +1 -1
- package/views/2d/engine/webgl/Mesh2D.js +1 -1
- package/views/2d/engine/webgl/Overlay.js +1 -1
- package/views/2d/engine/webgl/OverlayContainer.js +1 -1
- package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/PooledUint32Array.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/Rect.js +1 -1
- package/views/2d/engine/webgl/RectangleBinPack.js +1 -1
- package/views/2d/engine/webgl/RenderableTile.js +1 -1
- package/views/2d/engine/webgl/ReshufflePlan.js +1 -1
- package/views/2d/engine/webgl/SDFConverter.js +1 -1
- package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
- package/views/2d/engine/webgl/TileContainer.js +1 -1
- package/views/2d/engine/webgl/TileReshuffleManager.js +1 -1
- package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
- package/views/2d/engine/webgl/TurboLine.js +1 -1
- package/views/2d/engine/webgl/Utils.js +1 -1
- package/views/2d/engine/webgl/VertexStream.js +1 -1
- package/views/2d/engine/webgl/WGLContainer.js +1 -1
- package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
- package/views/2d/engine/webgl/alignmentUtils.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/AnimatableTextureResource.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
- package/views/2d/engine/webgl/animations/infos.js +1 -1
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
- package/views/2d/engine/webgl/animations/utils.js +1 -1
- package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrush.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
- package/views/2d/engine/webgl/collisions/BoundingBox.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/color.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/FreeList.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
- package/views/2d/engine/webgl/effects/Effect.js +1 -1
- package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/MultiHighlightGradient.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/parameters.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/EffectManager.js +1 -1
- package/views/2d/engine/webgl/effects/post-processing/Opacity.js +1 -1
- package/views/2d/engine/webgl/enums.js +1 -1
- package/views/2d/engine/webgl/grouping.js +1 -1
- package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/VertexDataWriter.js +1 -1
- package/views/2d/engine/webgl/mesh/bufcut.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/MeshFactory.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
- package/views/2d/engine/webgl/mesh/meshDebugUtils.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
- package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
- package/views/2d/engine/webgl/meshing/SimpleMesh.js +1 -1
- package/views/2d/engine/webgl/meshing/definitions.js +1 -1
- package/views/2d/engine/webgl/number.js +1 -1
- package/views/2d/engine/webgl/painter/RenderPass.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/GlslGraphWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphNode.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugContainer.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugLayer.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugLayerView.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueInstance.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimationUniformInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientSizeHelper.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/gradientFillConstants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/meshWriterUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/gradientStrokeConstants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/markerConstants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/AResourceProxy.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/AlignedVertexSpec.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterInputEvaluator.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/WriterRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/dataViewUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/instanceIdUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/loadGeometryEngine.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterProcessorTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BaseRasterProcessorTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/EntityStorage.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LocalTileOffset.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MosaicInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ShaderHighlight.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ShaderHittest.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TestShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableColor.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableOpacity.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableRotation.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableSizeMinMaxValue.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableSizeScaleStops.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableSizeStops.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableSizeUnitValue.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/bitmapUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/heatmapUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerLUTShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerShadedReliefShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerStretchShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/colorConversion.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/lut.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/BandArithmeticShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/BaseRasterProcessorShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ColormapToRGBShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CompositeBandShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ComputeChangeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ContrastBrightnessShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ConvolutionShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ExtractBandShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/FocalStatisticsShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/GrayscaleShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/HillshadeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/LocalShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MaskShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/NDVIShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/RemapShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ReprojectShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ShadedReliefShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/StretchShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/math.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/projection.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/sampleBilinear.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/stretch.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/surface.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/utils.js +1 -1
- package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/resolver.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/textureUtils.js +1 -1
- package/views/2d/engine/webgl/urlUtils.js +1 -1
- package/views/2d/engine/webgl/util/DictionaryMatcher.js +1 -1
- package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
- package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
- package/views/2d/engine/webgl/util/MapMatcher.js +1 -1
- package/views/2d/engine/webgl/util/Matcher.js +1 -1
- package/views/2d/engine/webgl/util/MatcherContext.js +1 -1
- package/views/2d/engine/webgl/util/Reader.js +1 -1
- package/views/2d/engine/webgl/util/Writer.js +1 -1
- package/views/2d/engine/webgl/util/createMatcher.js +1 -1
- package/views/2d/engine/webgl/util/debug.js +1 -1
- package/views/2d/engine/webgl/util/serializationUtils.js +1 -1
- package/views/2d/grid/GridView2D.js +1 -1
- package/views/2d/grid/constants.js +1 -1
- package/views/2d/grid/gridUtils.js +1 -1
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/input/handlers/DoubleClickZoom.js +1 -1
- package/views/2d/input/handlers/DoubleTapDragZoom.js +1 -1
- package/views/2d/input/handlers/DragPan.js +1 -1
- package/views/2d/input/handlers/DragRotate.js +1 -1
- package/views/2d/input/handlers/GamepadNavigation.js +1 -1
- package/views/2d/input/handlers/KeyPan.js +1 -1
- package/views/2d/input/handlers/KeyRotate.js +1 -1
- package/views/2d/input/handlers/KeyZoom.js +1 -1
- package/views/2d/input/handlers/MouseWheelZoom.js +1 -1
- package/views/2d/input/handlers/PinchAction.js +1 -1
- package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
- package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
- package/views/2d/interactive/editingTools/MediaTransformToolsWrapper.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/interactive/editingTools/draw/symbols.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/DragManipulation.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/Manipulation.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/RotateManipulation.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/utils.js +1 -1
- package/views/2d/interactive/editingTools.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layerViewModuleImportUtils.js +1 -1
- package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
- package/views/2d/layers/BaseLayerView2D.js +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
- package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
- package/views/2d/layers/CatalogDynamicGroupLayerView2D.js +1 -1
- package/views/2d/layers/CatalogFootprintLayerView2D.js +1 -1
- package/views/2d/layers/CatalogLayerView2D.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/GroupLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/KnowledgeGraphLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +2 -2
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorkerProxy.js +1 -1
- package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
- package/views/2d/layers/features/FeatureSpatialIndex.js +1 -1
- package/views/2d/layers/features/FeatureStoreQueryAdapter.js +1 -1
- package/views/2d/layers/features/FeatureStoreStatistics.js +1 -1
- package/views/2d/layers/features/PipelineConnectionHandlers.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/ProcessorTileMessageQueue.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/aggregation/AAggregateCell.js +1 -1
- package/views/2d/layers/features/aggregation/AAggregateSpatialIndex.js +1 -1
- package/views/2d/layers/features/aggregation/AccumulatedStatistics.js +1 -1
- package/views/2d/layers/features/aggregation/ComputedAggregateField.js +1 -1
- package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
- package/views/2d/layers/features/aggregation/GridCell.js +1 -1
- package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/featureReductionUtils.js +1 -1
- package/views/2d/layers/features/layerAdapters/featureServiceUtils.js +1 -1
- package/views/2d/layers/features/layerAdapters/floorFilterUtils.js +1 -1
- package/views/2d/layers/features/layerAdapters/geometryUtils.js +1 -1
- package/views/2d/layers/features/layerAdapters/labelingUtils.js +1 -1
- package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
- package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
- package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
- package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
- package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/processor/support/WithDisplayId.js +1 -1
- package/views/2d/layers/features/schema/SourceSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/StorageSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/VisualVariablesSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/schemaUtils.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
- package/views/2d/layers/features/sources/FeatureCache.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceMessage.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/FeatureTileSubscription.js +1 -1
- package/views/2d/layers/features/sources/StreamConnectionState.js +1 -1
- package/views/2d/layers/features/sources/StreamFeatureStore.js +1 -1
- package/views/2d/layers/features/sources/StreamMessenger.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ALoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ATileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/DrillDownTileSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/PagedTileSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/StreamSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
- package/views/2d/layers/features/sources/strategies/support/snapshotUtils.js +1 -1
- package/views/2d/layers/features/support/AComputedField.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/CachedField.js +1 -1
- package/views/2d/layers/features/support/ComputedAttributeStorage.js +1 -1
- package/views/2d/layers/features/support/ComputedExpression.js +1 -1
- package/views/2d/layers/features/support/ComputedLegacyLabelExpression.js +1 -1
- package/views/2d/layers/features/support/DictionaryTemplate.js +1 -1
- package/views/2d/layers/features/support/DictionaryValue.js +1 -1
- package/views/2d/layers/features/support/DisplayIdGenerator.js +1 -1
- package/views/2d/layers/features/support/FeatureFilterEvaluator.js +1 -1
- package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
- package/views/2d/layers/features/support/FeatureSetCache.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/2d/layers/features/support/GraphicsReader.js +1 -1
- package/views/2d/layers/features/support/NormalizedField.js +1 -1
- package/views/2d/layers/features/support/StaticBitSet.js +1 -1
- package/views/2d/layers/features/support/Tile.js +1 -1
- package/views/2d/layers/features/support/TileStore.js +1 -1
- package/views/2d/layers/features/support/arcadeUtils.js +1 -1
- package/views/2d/layers/features/support/rendererUtils.js +1 -1
- package/views/2d/layers/features/support/whereUtils.js +1 -1
- package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicStore.js +1 -1
- package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
- package/views/2d/layers/graphics/GraphicUpdateMessage.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
- package/views/2d/layers/graphics/densificationConstants.js +1 -1
- package/views/2d/layers/graphics/graphicsUtils.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryVFStrategy.js +1 -1
- package/views/2d/layers/imagery/ImageryView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
- package/views/2d/layers/support/DebouncedFeatureOverride.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/2d/layers/support/Display.js +1 -1
- package/views/2d/layers/support/DisplayGL.js +1 -1
- package/views/2d/layers/support/ExportStrategy.js +1 -1
- package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
- package/views/2d/layers/support/HighlightCounter.js +1 -1
- package/views/2d/layers/support/MediaLayerInteraction.js +1 -1
- package/views/2d/layers/support/MediaLayerInteractionOptions.js +1 -1
- package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
- package/views/2d/layers/support/UpdateTracking2D.js +1 -1
- package/views/2d/layers/support/clusterUtils.js +1 -1
- package/views/2d/layers/support/handleNoEngineError.js +1 -1
- package/views/2d/layers/support/imageUtils.js +1 -1
- package/views/2d/layers/support/util.js +1 -1
- package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
- package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
- package/views/2d/magnifier/MagnifierView2D.js +1 -1
- package/views/2d/mapViewDeps.js +1 -1
- package/views/2d/navigation/MapViewNavigation.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/navigation/actions/Pan.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/2d/navigation/duration.js +1 -1
- package/views/2d/pointToPoint/Camera.js +1 -1
- package/views/2d/support/StationaryManager.js +1 -1
- package/views/2d/support/Timeline.js +1 -1
- package/views/2d/support/clippingUtils.js +1 -1
- package/views/2d/support/engineHelpers.js +1 -1
- package/views/2d/support/highlightOptionsUtils.js +1 -1
- package/views/2d/support/hitTestUtils.js +1 -1
- package/views/2d/support/screenshotUtils.js +1 -1
- package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
- package/views/2d/tiling/LODInfo.js +1 -1
- package/views/2d/tiling/TileCache.js +1 -1
- package/views/2d/tiling/TileCoverage.js +1 -1
- package/views/2d/tiling/TileInfoView.js +1 -1
- package/views/2d/tiling/TileInfoViewPOT.js +1 -1
- package/views/2d/tiling/TileKey.js +1 -1
- package/views/2d/tiling/TileQueue.js +1 -1
- package/views/2d/tiling/TileSpan.js +1 -1
- package/views/2d/tiling/TileStrategy.js +1 -1
- package/views/2d/tiling/enums.js +1 -1
- package/views/2d/tiling.js +1 -1
- package/views/2d/unitBezier.js +1 -1
- package/views/2d/viewStateUtils.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/2d/webglDeps.js +1 -1
- package/views/3d/FocusAreasView.js +2 -2
- package/views/3d/analysis/AnalysisView3D.js +1 -1
- package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementController.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/utils.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionComputation.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/Dimension/settings.js +1 -1
- package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/interfaces.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightComputation.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualElement.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisResult.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/ResizeManipulator.js +1 -1
- package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
- package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
- package/views/3d/analysis/Slice/settings.js +1 -1
- package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/ArrowManipulator.js +1 -1
- package/views/3d/analysis/Viewshed/FieldOfViewManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ScaleOrientManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedAnalysisVisualization.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
- package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
- package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
- package/views/3d/analysis/images/Factory.js +1 -1
- package/views/3d/analysis/images/generateTextures.js +1 -1
- package/views/3d/analysis/images/heading-rotate-svg.js +1 -1
- package/views/3d/analysis/images/tilt-rotate-svg.js +1 -1
- package/views/3d/analysis/interfaces.js +1 -1
- package/views/3d/analysis/support/measurementUtils.js +1 -1
- package/views/3d/analysis/support/projectionUtils.js +1 -1
- package/views/3d/animation/pointToPoint/Animation.js +1 -1
- package/views/3d/animation/pointToPoint/Camera.js +1 -1
- package/views/3d/camera/constraintUtils/ConstraintOptions.js +1 -1
- package/views/3d/camera/constraintUtils/ConstraintTypes.js +1 -1
- package/views/3d/camera/constraintUtils/InteractionType.js +1 -1
- package/views/3d/camera/constraintUtils/TiltMode.js +1 -1
- package/views/3d/camera/constraintUtils/altitude.js +1 -1
- package/views/3d/camera/constraintUtils/common.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +2 -2
- package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
- package/views/3d/camera/constraintUtils/tilt.js +2 -2
- package/views/3d/camera/constraintUtils.js +1 -1
- package/views/3d/camera/intersectionUtils.js +1 -1
- package/views/3d/constraints/AltitudeConstraint.js +1 -1
- package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
- package/views/3d/constraints/Constraints.js +1 -1
- package/views/3d/constraints/TiltConstraint.js +1 -1
- package/views/3d/environment/ChapmanApproximation.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/environment/ChapmanRaymarching.glsl.js +1 -1
- package/views/3d/environment/Clouds.glsl.js +1 -1
- package/views/3d/environment/Clouds.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
- package/views/3d/environment/CloudsParameters.js +1 -1
- package/views/3d/environment/CloudsPresets.js +1 -1
- package/views/3d/environment/CloudsRenderer.js +1 -1
- package/views/3d/environment/CloudsTechnique.js +1 -1
- package/views/3d/environment/CloudsTechniqueConfiguration.js +1 -1
- package/views/3d/environment/CloudyWeather.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/FogTechnique.js +1 -1
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/environment/LocalAtmosphere.js +1 -1
- package/views/3d/environment/MarsAtmosphere.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/NoiseTextureAtlasConfiguration.js +1 -1
- package/views/3d/environment/NoiseTextureAtlasDimensions.js +1 -1
- package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
- package/views/3d/environment/Precipitation.glsl.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/PrecipitationTechnique.js +1 -1
- package/views/3d/environment/PrecipitationTechniqueConfiguration.js +1 -1
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/SceneViewEnvironment.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/environment/SnowyWeather.js +1 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/SunnyWeather.js +1 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/environment/atmosphereUtils.js +1 -1
- package/views/3d/environment/lightingUtils.js +1 -1
- package/views/3d/environment/resources/MarsAtmosphereTexture.js +1 -1
- package/views/3d/environment/resources/SimpleAtmosphereTexture.js +1 -1
- package/views/3d/environment/weather.js +1 -1
- package/views/3d/glTF/DefaultLoadingContext.js +1 -1
- package/views/3d/glTF/LoaderResult.js +1 -1
- package/views/3d/glTF/internal/BinaryStreamReader.js +1 -1
- package/views/3d/glTF/internal/Resource.js +1 -1
- package/views/3d/glTF/internal/TextureTransformUtils.js +1 -1
- package/views/3d/glTF/internal/enums.js +1 -1
- package/views/3d/glTF/internal/fillDefaults.js +1 -1
- package/views/3d/glTF/internal/indexUtils.js +1 -1
- package/views/3d/glTF/internal/pathUtils.js +1 -1
- package/views/3d/glTF/internal/resourceUtils.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/DoubleClickZoom.js +1 -1
- package/views/3d/input/handlers/DragRotate.js +1 -1
- package/views/3d/input/handlers/DragZoom.js +1 -1
- package/views/3d/input/handlers/GamepadNavigation.js +1 -1
- package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/input/handlers/MouseWheelZoom.js +1 -1
- package/views/3d/input/handlers/PinchAndPanNavigation.js +1 -1
- package/views/3d/input/handlers/PointerDownCancelAnimation.js +1 -1
- package/views/3d/input/handlers/TwoFingerTilt.js +1 -1
- package/views/3d/input/util.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/RenderObject.js +1 -1
- package/views/3d/interactive/SegmentLabels3D.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/editingTools/GrabbingState.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DMediaElement.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatorState.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatorType.js +1 -1
- package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/geometryUtils.js +1 -1
- package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
- package/views/3d/interactive/editingTools/lineObjectVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/manipulatedObjectUtils.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/InteractiveManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/Manipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYObjectManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/config.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/moveUtils.js +1 -1
- package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
- package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementControllerShape.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/media/mediaElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/meshFastUpdateUtils.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
- package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
- package/views/3d/interactive/editingTools/reshape/reshapeTooltipUtils3D.js +1 -1
- package/views/3d/interactive/editingTools/settings.js +1 -1
- package/views/3d/interactive/editingTools/snapping/SnapToScene.js +1 -1
- package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
- package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateMeshAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateObjectSymbol3DAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
- package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/PreserveAspectRatio.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/SnapRotation.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
- package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
- package/views/3d/interactive/editingTools/undoRecords.js +1 -1
- package/views/3d/interactive/editingTools/visualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/support/PickRequest.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/interactive/support/viewUtils.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +2 -2
- package/views/3d/interactive/visualElements/EngineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ViewshedShapeVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
- package/views/3d/interactive/visualElements/support/Segment.js +1 -1
- package/views/3d/layerViewModuleImportUtils.js +1 -1
- package/views/3d/layers/BaseDynamicLayerView3D.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/CSVLayerView3D.js +1 -1
- package/views/3d/layers/CatalogDynamicGroupLayerView3D.js +1 -1
- package/views/3d/layers/CatalogFootprintLayerView3D.js +1 -1
- package/views/3d/layers/CatalogLayerView3D.js +1 -1
- package/views/3d/layers/ContentGeometryLayerView.js +1 -1
- package/views/3d/layers/DimensionLayerView3D.js +1 -1
- package/views/3d/layers/DrapedSubView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/ElevationLayerView3DModifications.js +1 -1
- package/views/3d/layers/FeatureLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewPerformanceInfo.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GeoJSONLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/GroupLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/I3SMeshViewPerformanceInfo.js +1 -1
- package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
- package/views/3d/layers/I3SPointsWorkerHandle.js +1 -1
- package/views/3d/layers/II3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImagerySubView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesViewPerformanceInfo.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
- package/views/3d/layers/Lyr3DWasm.js +1 -1
- package/views/3d/layers/Lyr3DWorker.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerViewPerformanceInfo.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/PointCloudWorkerHandle.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/SubView3D.js +1 -1
- package/views/3d/layers/TileLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/ViewshedLayerView3D.js +1 -1
- package/views/3d/layers/VoxelGraphic.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/VoxelWasm.js +1 -1
- package/views/3d/layers/WFSLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/DeconflictAABR.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +2 -2
- package/views/3d/layers/graphics/DisplayFeatureLimit.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/ElevationContext.js +1 -1
- package/views/3d/layers/graphics/ElevationQuery.js +1 -1
- package/views/3d/layers/graphics/ExtentSet.js +1 -1
- package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/GraphicState.js +1 -1
- package/views/3d/layers/graphics/GraphicStateTracking.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCalloutSymbolLayerFactory.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicCreationContext.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +2 -2
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +2 -2
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectMetadata.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectStateSet.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectStates.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolFactory.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayerFactory.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +2 -2
- package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +2 -2
- package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
- package/views/3d/layers/graphics/GraphicsCorePerformanceInfo.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
- package/views/3d/layers/graphics/LabelInfo.js +1 -1
- package/views/3d/layers/graphics/LabelParameters.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/Loadable.js +1 -1
- package/views/3d/layers/graphics/MeshFastUpdateProcessor.js +1 -1
- package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
- package/views/3d/layers/graphics/ProcessedObjectResource.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/graphics/QueryEngineCache.js +1 -1
- package/views/3d/layers/graphics/QueryEngineContext.js +1 -1
- package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
- package/views/3d/layers/graphics/StreamGraphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/SymbolComplexity.js +1 -1
- package/views/3d/layers/graphics/constants.js +1 -1
- package/views/3d/layers/graphics/deconflictorDebug.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
- package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
- package/views/3d/layers/graphics/enums.js +1 -1
- package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
- package/views/3d/layers/graphics/focusAreaStyle.js +1 -1
- package/views/3d/layers/graphics/graphicSymbolUtils.js +1 -1
- package/views/3d/layers/graphics/graphicUtils.js +1 -1
- package/views/3d/layers/graphics/interfaces.js +1 -1
- package/views/3d/layers/graphics/lineUtils.js +1 -1
- package/views/3d/layers/graphics/lodResourceUtils.js +1 -1
- package/views/3d/layers/graphics/meshAutoFastUpdateConstants.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/FeatureProcessingContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/PipelineCommand.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
- package/views/3d/layers/graphics/pipeline/TileLocks.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/FeatureDataSubset.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/processingUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
- package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/Point3DSymbolRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/SimpleFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/UniqueValueFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/factoryUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/symbolizationUtils.js +1 -1
- package/views/3d/layers/graphics/pipeline/utils.js +1 -1
- package/views/3d/layers/graphics/placementUtils.js +1 -1
- package/views/3d/layers/graphics/pointUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/graphics/primitiveObjectSymbolUtils.js +1 -1
- package/views/3d/layers/graphics/queryForSymbologySnapping.js +1 -1
- package/views/3d/layers/graphics/symbolMemory.js +1 -1
- package/views/3d/layers/graphics/webStyleUtils.js +1 -1
- package/views/3d/layers/graphics/wosrLoader.js +1 -1
- package/views/3d/layers/i3s/BuildingFilterUtil.js +1 -1
- package/views/3d/layers/i3s/CachedMeshData.js +1 -1
- package/views/3d/layers/i3s/Highlights.js +1 -1
- package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +1 -1
- package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
- package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SCrossfadeHelper.js +1 -1
- package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
- package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
- package/views/3d/layers/i3s/I3SGraphicsMap.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
- package/views/3d/layers/i3s/I3SLodHandling.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SNode.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SProjectionUtil.js +1 -1
- package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureAdapter.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
- package/views/3d/layers/i3s/I3SQueryResultGeometry.js +1 -1
- package/views/3d/layers/i3s/I3SStreamDataController.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/IDBCache.js +1 -1
- package/views/3d/layers/i3s/IDBMockCache.js +1 -1
- package/views/3d/layers/i3s/Intersector.js +1 -1
- package/views/3d/layers/i3s/LEPCC.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/i3s/LoDUtil.js +1 -1
- package/views/3d/layers/i3s/PagedNodeIndex.js +1 -1
- package/views/3d/layers/i3s/PointCloudGraphic.js +1 -1
- package/views/3d/layers/i3s/PointCloudHighlights.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/i3s/PointCloudRendererNode.js +1 -1
- package/views/3d/layers/i3s/PointCloudRendererUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
- package/views/3d/layers/i3s/SymbologyInfo.js +1 -1
- package/views/3d/layers/i3s/ValidatedNode.js +1 -1
- package/views/3d/layers/i3s/enums.js +1 -1
- package/views/3d/layers/i3s/featureEditing.js +1 -1
- package/views/3d/layers/i3s/meshUtils.js +1 -1
- package/views/3d/layers/interfaces.js +1 -1
- package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
- package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/FeatureTileDescriptor.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3DContext.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
- package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/I3SLayerView.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
- package/views/3d/layers/support/LayerViewAnalysisViewManager.js +1 -1
- package/views/3d/layers/support/LayerViewPerformanceInfo.js +1 -1
- package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
- package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/layers/support/SublayerPopupHighlightHelper3D.js +1 -1
- package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
- package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
- package/views/3d/layers/support/attributeUtils.js +1 -1
- package/views/3d/layers/support/edgeUtils.js +1 -1
- package/views/3d/layers/support/featureReference.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/layers/support/fetchTile.js +1 -1
- package/views/3d/layers/support/fieldProperties.js +1 -1
- package/views/3d/layers/support/highlightUtils.js +1 -1
- package/views/3d/layers/support/layerUtils.js +1 -1
- package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
- package/views/3d/layers/support/makeScheduleFunction.js +1 -1
- package/views/3d/layers/support/overlayImageUtils.js +1 -1
- package/views/3d/layers/support/patternUtils.js +1 -1
- package/views/3d/layers/support/symbolColorUtils.js +1 -1
- package/views/3d/layers/support/uvUtils.js +1 -1
- package/views/3d/state/Constraints.js +1 -1
- package/views/3d/state/ConstraintsManager.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/GoToOperation.js +1 -1
- package/views/3d/state/NearFarHeuristic.js +2 -2
- package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/AnimationController.js +1 -1
- package/views/3d/state/controllers/CameraController.js +1 -1
- package/views/3d/state/controllers/FovController.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +2 -2
- package/views/3d/state/controllers/InteractiveController.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
- package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
- package/views/3d/state/controllers/momentum/MomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/RotationMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomSphericalMomentumController.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +2 -2
- package/views/3d/state/utils/viewUtils.js +1 -1
- package/views/3d/support/AsyncWorkerQueue.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/DefaultHighlights.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/ElevationProvider.js +1 -1
- package/views/3d/support/ElevationRange.js +1 -1
- package/views/3d/support/ElevationUpdateEvent.js +1 -1
- package/views/3d/support/EventedSet.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/GraphicsMap.js +1 -1
- package/views/3d/support/ImageWithType.js +1 -1
- package/views/3d/support/LayerPerformanceInfo.js +1 -1
- package/views/3d/support/LimitGraphicsMap.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/MemoryManagedView.js +1 -1
- package/views/3d/support/PBFDecoder.js +1 -1
- package/views/3d/support/PBFDecoderWorker.js +1 -1
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/support/RenderCoordsHelper.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
- package/views/3d/support/SharedSymbolResources.js +1 -1
- package/views/3d/support/StreamDataLoader.js +1 -1
- package/views/3d/support/StreamTextureCollection.js +1 -1
- package/views/3d/support/TextureCollection.js +1 -1
- package/views/3d/support/ViewSlice.js +1 -1
- package/views/3d/support/buffer/InterleavedLayout.js +1 -1
- package/views/3d/support/buffer/glUtil.js +1 -1
- package/views/3d/support/buffer/workerHelper.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/cameraUtilsInternal.js +1 -1
- package/views/3d/support/cameraUtilsPlanar.js +1 -1
- package/views/3d/support/cameraUtilsSpherical.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/debugUtils.js +1 -1
- package/views/3d/support/dito.js +1 -1
- package/views/3d/support/earthUtils.js +1 -1
- package/views/3d/support/engineContent/line.js +1 -1
- package/views/3d/support/engineContent/marker.js +1 -1
- package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
- package/views/3d/support/extentUtils.js +1 -1
- package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
- package/views/3d/support/flow/StreamlinesStyle3D.js +1 -1
- package/views/3d/support/flow/VisualQuery3D.js +1 -1
- package/views/3d/support/flow/geometryUtils.js +1 -1
- package/views/3d/support/flow/loadUtils.js +1 -1
- package/views/3d/support/flowUtils.js +1 -1
- package/views/3d/support/geometryUtils/ray.js +1 -1
- package/views/3d/support/geometryUtils/sphere.js +2 -2
- package/views/3d/support/hitTest.js +1 -1
- package/views/3d/support/index.js +1 -1
- package/views/3d/support/intersectionUtils.js +1 -1
- package/views/3d/support/mathUtils.js +1 -1
- package/views/3d/support/meshProcessing.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/PointOfInterest.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/3d/support/renderInfoUtils/line.js +1 -1
- package/views/3d/support/renderInfoUtils/point.js +1 -1
- package/views/3d/support/renderInfoUtils/polygon.js +1 -1
- package/views/3d/support/sunUtils.js +2 -2
- package/views/3d/support/supportedSpatialReference.js +1 -1
- package/views/3d/support/updatingProperties.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/terrain/BlendLayersTechnique.js +1 -1
- package/views/3d/terrain/BlendLayersTechniqueConfiguration.js +1 -1
- package/views/3d/terrain/BlendModeTechniqueConfiguration.js +1 -1
- package/views/3d/terrain/ElevationBounds.js +1 -1
- package/views/3d/terrain/ElevationData.js +1 -1
- package/views/3d/terrain/ElevationTileAgent.js +1 -1
- package/views/3d/terrain/ExtentHelper.js +1 -1
- package/views/3d/terrain/GeometryState.js +1 -1
- package/views/3d/terrain/Intersector.js +1 -1
- package/views/3d/terrain/LayerClass.js +1 -1
- package/views/3d/terrain/MapTileAgent.js +1 -1
- package/views/3d/terrain/NeighborIndex.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayContent.js +1 -1
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayManager.js +2 -2
- package/views/3d/terrain/OverlayRenderTargets.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +2 -2
- package/views/3d/terrain/PatchGeometry.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.js +1 -1
- package/views/3d/terrain/PatchGeometryLUT.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/PriorityQueue.js +1 -1
- package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
- package/views/3d/terrain/RasterColorizerTechniqueConfiguration.js +1 -1
- package/views/3d/terrain/RasterTile.js +1 -1
- package/views/3d/terrain/RenderOrder.js +1 -1
- package/views/3d/terrain/ScaleRangeQueries.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/SplitLimits.js +1 -1
- package/views/3d/terrain/TerrainAttributes.js +1 -1
- package/views/3d/terrain/TerrainAttributesCache.js +1 -1
- package/views/3d/terrain/TerrainConst.js +1 -1
- package/views/3d/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TerrainSurfacePerformanceInfo.js +1 -1
- package/views/3d/terrain/TextureFader.js +1 -1
- package/views/3d/terrain/TextureReference.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileAgent.js +1 -1
- package/views/3d/terrain/TileBlendTechniqueConfiguration.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileFrustumVisibility.js +1 -1
- package/views/3d/terrain/TileOverlayData.js +1 -1
- package/views/3d/terrain/TilePerLayerInfo.js +1 -1
- package/views/3d/terrain/TileRenderInfo.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/TileTexture.js +1 -1
- package/views/3d/terrain/TileUpdate.js +1 -1
- package/views/3d/terrain/TilingScheme.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/terrain/TransparencyMode.js +1 -1
- package/views/3d/terrain/UpsampleInfo.js +1 -1
- package/views/3d/terrain/interfaces.js +1 -1
- package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
- package/views/3d/terrain/support/MultiSizeFramebuffer.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/terrain/terrainUtilsPlanar.js +1 -1
- package/views/3d/terrain/terrainUtilsSpherical.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl/ManagedColorAttachment.js +1 -1
- package/views/3d/webgl/ManagedDepthAttachment.js +1 -1
- package/views/3d/webgl/ManagedDepthTexture.js +1 -1
- package/views/3d/webgl/ManagedFBO.js +1 -1
- package/views/3d/webgl/ManagedFBOAttachment.js +1 -1
- package/views/3d/webgl/ManagedFBOResource.js +1 -1
- package/views/3d/webgl/RenderCamera.js +2 -2
- package/views/3d/webgl/RenderNode.js +2 -2
- package/views/3d/webgl/utils.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentData.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentIntersectionData.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticComponentBVH.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticComponentGeometryBVH.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ElevationAgnosticBVH.js +1 -1
- package/views/3d/webgl-engine/collections/Component/IndexRange/ComponentRange.js +1 -1
- package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ObjectParameters.js +1 -1
- package/views/3d/webgl-engine/collections/Component/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/collections/Component/RenderSubmitSystem.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Renderable.js +1 -1
- package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Transform.js +1 -1
- package/views/3d/webgl-engine/collections/Component/UniformComponentParameters.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +2 -2
- package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
- package/views/3d/webgl-engine/core/FBOPool.js +1 -1
- package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
- package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassIdentifier.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/HighlightReadBitmap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoubleConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDRenderStyle.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/BlendOptions.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceConstants.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/BaseOpacityMode.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/BlendLayersOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/PremultipliedAlphaSource.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBlendInput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendColorsPremultiplied.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/IsNaN.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/LocalFromScreenSpace.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/LookupCloudsFromTextureArray.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DArrayBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DUintBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfigurationKey.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConstructionContext.js +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
- package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
- package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
- package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
- package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
- package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlurTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomPresets.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaEffect.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/olidUtils.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +2 -2
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechniqueConfiguration.js +2 -2
- package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAAData.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAAPassParameters.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAONoiseData.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAOParameters.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
- package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/weather/SnowCover.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/AnimationTimeStep.js +1 -1
- package/views/3d/webgl-engine/lib/AnimationTimer.js +1 -1
- package/views/3d/webgl-engine/lib/Attribute.js +1 -1
- package/views/3d/webgl-engine/lib/AttributeArray.js +1 -1
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
- package/views/3d/webgl-engine/lib/BufferVectorMath.js +1 -1
- package/views/3d/webgl-engine/lib/CascadeCamera.js +1 -1
- package/views/3d/webgl-engine/lib/ChangeSet.js +1 -1
- package/views/3d/webgl-engine/lib/ComponentUtils.js +1 -1
- package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
- package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/DepthRange.js +1 -1
- package/views/3d/webgl-engine/lib/DirtyEvents.js +1 -1
- package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/FontMetrics.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterialParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
- package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryWithMapPositions.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/ITexture.js +1 -1
- package/views/3d/webgl-engine/lib/InstanceBufferData.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectableGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorType.js +1 -1
- package/views/3d/webgl-engine/lib/LocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/LocalOriginManager.js +1 -1
- package/views/3d/webgl-engine/lib/LongVectorMath.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
- package/views/3d/webgl-engine/lib/ModelDirtyTypes.js +1 -1
- package/views/3d/webgl-engine/lib/Normals.js +1 -1
- package/views/3d/webgl-engine/lib/OITPass.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Object3DStateID.js +1 -1
- package/views/3d/webgl-engine/lib/Object3DStateSet.js +1 -1
- package/views/3d/webgl-engine/lib/ObjectAndLayerIdRenderHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ObjectIntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/ObjectTarget.js +1 -1
- package/views/3d/webgl-engine/lib/Octree.js +2 -2
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/Path.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/PathProfile.js +1 -1
- package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
- package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/RenderPluginInput.js +1 -1
- package/views/3d/webgl-engine/lib/RenderSlot.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RendererBase.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/StencilUtils.js +1 -1
- package/views/3d/webgl-engine/lib/TextHelperCanvas.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/BufferManager.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/ManagedTextureBackedBuffer.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/SimpleIndexManager.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
- package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
- package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/TextureTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/TextureUpdater.js +1 -1
- package/views/3d/webgl-engine/lib/Update.js +1 -1
- package/views/3d/webgl-engine/lib/UpdatePolicy.js +1 -1
- package/views/3d/webgl-engine/lib/Util.js +1 -1
- package/views/3d/webgl-engine/lib/VertexArrayObject.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/ViewshedFaceCamera.js +1 -1
- package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/Edge.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeWorkerHandle.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/interfaces.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/util.js +1 -1
- package/views/3d/webgl-engine/lib/fov.js +1 -1
- package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
- package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
- package/views/3d/webgl-engine/lib/hudFragmentOpacityParameters.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
- package/views/3d/webgl-engine/lib/localOriginHelper.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/BackedBufferObject.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LevelSelector.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/lib/rendererUtils.js +1 -1
- package/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js +1 -1
- package/views/3d/webgl-engine/lib/testUtils.js +1 -1
- package/views/3d/webgl-engine/lib/textureUtils.js +1 -1
- package/views/3d/webgl-engine/lib/triangleIntersectionUtils.js +1 -1
- package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
- package/views/3d/webgl-engine/lighting/Lightsources.js +1 -1
- package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
- package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/DrawParameters.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineDrawParameters.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PatternStyle.js +1 -1
- package/views/3d/webgl-engine/materials/ProceduralTextureRepository.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +2 -2
- package/views/3d/webgl-engine/materials/ScaleInfo.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
- package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js +1 -1
- package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
- package/views/3d/webgl-engine/materials/markerTextureRepository.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/BufferRange.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/DrawCommand.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/Instance.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerOriginData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/utils.js +1 -1
- package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
- package/views/3d/webgl-engine/parts/Model.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/parts/contextCache.js +1 -1
- package/views/3d/webgl-engine/parts/renderUtils.js +1 -1
- package/views/3d/webgl-engine/parts/testUtils.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/BlackLevelLightSoftCompression.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Blur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +2 -2
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Heatmap.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensityTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrowTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ReadShadowMapConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/SSAO.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereIntersect.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ensureColor4.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +1 -1
- package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/BasemapView.js +1 -1
- package/views/BreakpointsOwner.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/FocusArea.js +5 -0
- package/{effects → views}/FocusAreaOutline.js +2 -2
- package/views/FocusAreaOutlineItem.js +5 -0
- package/{effects → views}/FocusAreas.js +2 -2
- package/views/GroundView.js +1 -1
- package/views/LinkChartView.js +1 -1
- package/views/Magnifier.js +1 -1
- package/views/MapView.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/SelectionManager.js +1 -1
- package/views/Theme.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/VideoView.js +2 -2
- package/views/View.js +1 -1
- package/views/View2D.js +1 -1
- package/views/ViewAnimation.js +1 -1
- package/views/ViewingMode.js +1 -1
- package/views/Viewport2DMixin.js +1 -1
- package/views/analysis/LengthDimensionResult.js +1 -1
- package/views/analysis/analysisViewUtils.js +1 -1
- package/views/animation/easing.js +1 -1
- package/views/animation/pointToPoint/Animation.js +1 -1
- package/views/animation/pointToPoint/Camera.js +1 -1
- package/views/animation/pointToPoint/Definition.js +1 -1
- package/views/animation/pointToPoint/InterpolateComponents.js +1 -1
- package/views/animation/pointToPoint/Path.js +1 -1
- package/views/animation/pointToPoint/Segment.js +1 -1
- package/views/animation/pointToPoint/Settings.js +1 -1
- package/views/animation/pointToPoint/apex/Path.js +1 -1
- package/views/animation/pointToPoint/apex/functions.js +1 -1
- package/views/animation/pointToPoint/apex/planning.js +1 -1
- package/views/draw/Draw.js +1 -1
- package/views/draw/DrawAction.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawManipulator.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawScreenTool.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/DrawingMode.js +1 -1
- package/views/draw/MultipointDrawAction.js +1 -1
- package/views/draw/PointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/drawSurfaces.js +1 -1
- package/views/draw/input/DrawEvents.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/CreateOperationGeometry.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/HighlightHelper.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/drawUtils.js +1 -1
- package/views/draw/support/helpMessageUtils.js +1 -1
- package/views/draw/support/helpMessageUtils3d.js +1 -1
- package/views/draw/support/input/GraphicMoverEvents.js +1 -1
- package/views/draw/support/layerUtils.js +1 -1
- package/views/draw/support/reshapeTooltipUtils.js +1 -1
- package/views/draw/support/settings.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/draw/support/tooltipUtils.js +1 -1
- package/views/input/BrowserEventSource.js +1 -1
- package/views/input/DragEventSeparator.js +1 -1
- package/views/input/EventMatch.js +1 -1
- package/views/input/IViewEvents.js +1 -1
- package/views/input/Input.js +1 -1
- package/views/input/InputHandler.js +1 -1
- package/views/input/InputManager.js +1 -1
- package/views/input/ViewEvents.js +1 -1
- package/views/input/VisibilityChange.js +1 -1
- package/views/input/gamepad/GamepadInputDevice.js +1 -1
- package/views/input/gamepad/GamepadSettings.js +1 -1
- package/views/input/gamepad/GamepadSource.js +1 -1
- package/views/input/gamepad/GamepadState.js +1 -1
- package/views/input/handlers/LatestPointer.js +1 -1
- package/views/input/handlers/MultiTouch.js +1 -1
- package/views/input/handlers/PreventContextMenu.js +1 -1
- package/views/input/handlers/support.js +1 -1
- package/views/input/keys.js +1 -1
- package/views/input/recognizers/DoubleTapDrag.js +1 -1
- package/views/input/recognizers/Drag.js +1 -1
- package/views/input/recognizers/ImmediateDoubleClick.js +1 -1
- package/views/input/recognizers/PointerClickHoldAndDrag.js +1 -1
- package/views/input/recognizers/SingleAndDoubleClick.js +1 -1
- package/views/input/recognizers/VerticalTwoFingerDrag.js +1 -1
- package/views/input/recognizers/support.js +1 -1
- package/views/interactive/AnalysisToolBase.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/InteractiveToolBase.js +1 -1
- package/views/interactive/ManipulatorCollection.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/ToolIntersector.js +1 -1
- package/views/interactive/ToolViewManagerManipulatorState.js +1 -1
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/dragEventPipeline.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/interfaces.js +1 -1
- package/views/interactive/editGeometry/operations/AppendVertex.js +1 -1
- package/views/interactive/editGeometry/operations/CloseComponent.js +1 -1
- package/views/interactive/editGeometry/operations/MoveMesh.js +1 -1
- package/views/interactive/editGeometry/operations/MoveVertex.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/operations/RemoveVertices.js +1 -1
- package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
- package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
- package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
- package/views/interactive/editGeometry/operations/SetVertexPosition.js +1 -1
- package/views/interactive/editGeometry/operations/SplitEdge.js +1 -1
- package/views/interactive/editGeometry/operations/UndoGroup.js +1 -1
- package/views/interactive/editGeometry/operations/UpdateVertices.js +1 -1
- package/views/interactive/editGeometry/operations.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/editGeometry/unnormalizationHelper.js +1 -1
- package/views/interactive/interactiveToolUtils.js +1 -1
- package/views/interactive/interfaces.js +1 -1
- package/views/interactive/keybindings.js +1 -1
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipElevationOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipVisibleElements.js +1 -1
- package/views/interactive/sketch/SketchValueOptions.js +1 -1
- package/views/interactive/sketch/Units.js +1 -1
- package/views/interactive/sketch/constraintUtils.js +1 -1
- package/views/interactive/sketch/constraints.js +1 -1
- package/views/interactive/sketch/normalizedPoint.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/FeatureSnappingLayerSource.js +1 -1
- package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
- package/views/interactive/snapping/GridSnappingEngine.js +1 -1
- package/views/interactive/snapping/LineSnapper.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
- package/views/interactive/snapping/Settings.js +1 -1
- package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
- package/views/interactive/snapping/SnappingContext.js +1 -1
- package/views/interactive/snapping/SnappingDomain.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/SnappingManagerPool.js +1 -1
- package/views/interactive/snapping/SnappingOperation.js +1 -1
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/snapping/SnappingVisualizer.js +1 -1
- package/views/interactive/snapping/allLayerSnapping.js +1 -1
- package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/FeatureSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/IntersectionSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/LineSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/RightAngleSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/SnappingCandidate.js +1 -1
- package/views/interactive/snapping/candidates/VertexSnappingCandidate.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/SceneLayerSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/WorkerTileTreeDebugger.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileCache.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTilesSimple.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/PendingFeatureTile.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
- package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
- package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
- package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
- package/views/interactive/snapping/featureSources/symbologySnappingCandidates.js +1 -1
- package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
- package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
- package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
- package/views/interactive/snapping/hints/PointSnappingHint.js +1 -1
- package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
- package/views/interactive/snapping/hints/SnappingHint.js +1 -1
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/interactive/support/utils.js +1 -1
- package/views/interactive/support/viewUtils.js +1 -1
- package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/interactive/tooltip/components/TooltipField.js +1 -1
- package/views/interactive/tooltip/components/ValueByValue.js +1 -1
- package/views/interactive/tooltip/components/directionModeIcons.js +1 -1
- package/views/interactive/tooltip/content/Fields.js +1 -1
- package/views/interactive/tooltip/content/TooltipContent.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawCircle.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawMesh.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawRectangle.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentExtentRotate.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentExtentScale.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentMovePoint.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentReshapeEdgeOffset.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentSelectedVertex.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTransformMesh.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTransformPoint.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslate.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateXY.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateZ.js +1 -1
- package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
- package/views/interactive/tooltip/css.js +1 -1
- package/views/interactive/tooltip/fields/TooltipField.js +1 -1
- package/views/interactive/tooltip/fields/TooltipFieldElevation.js +1 -1
- package/views/interactive/tooltip/fields/TooltipFieldOrientation.js +1 -1
- package/views/interactive/tooltip/fields/TooltipFieldSize.js +1 -1
- package/views/interactive/tooltip/fields/fields.js +1 -1
- package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
- package/views/interactive/tooltip/infos/DrawCircleTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawMeshTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawMultipointTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawPointTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawPolygonTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawPolylineTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/DrawRectangleTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/ExtentRotateTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/ExtentScaleTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/MovePointTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/ReshapeEdgeOffsetTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/SelectedVertexTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/SketchTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
- package/views/interactive/tooltip/infos/TransformMeshTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TransformPointTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TranslateTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TranslateVertexTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TranslateXYTooltipInfo.js +1 -1
- package/views/interactive/tooltip/infos/TranslateZTooltipInfo.js +1 -1
- package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
- package/views/layers/BuildingComponentSublayerView.js +1 -1
- package/views/layers/BuildingSceneLayerView.js +1 -1
- package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
- package/views/layers/CatalogFootprintLayerView.js +1 -1
- package/views/layers/CatalogLayerView.js +1 -1
- package/views/layers/DimensionLayerView.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/views/layers/ImageryLayerView.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/MediaLayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/PointCloudLayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/layers/SceneLayerView.js +1 -1
- package/views/layers/StreamLayerView.js +1 -1
- package/views/layers/ViewshedLayerView.js +1 -1
- package/views/layers/WMSLayerView.js +1 -1
- package/views/layers/support/ClipArea.js +1 -1
- package/views/layers/support/ClipRect.js +1 -1
- package/views/layers/support/Geometry.js +1 -1
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/layers/support/Path.js +1 -1
- package/views/layers/support/WhereClauseVisitor.js +1 -1
- package/views/layers/support/editableLayerViews.js +1 -1
- package/views/layers/support/highlightUtils.js +1 -1
- package/views/layers/support/popupUtils.js +1 -1
- package/views/magnifier/mask-svg.js +1 -1
- package/views/magnifier/overlay-svg.js +1 -1
- package/views/magnifier/resources.js +1 -1
- package/views/navigation/FilteredFiniteDifference.js +1 -1
- package/views/navigation/FilteredValue.js +1 -1
- package/views/navigation/Momentum.js +1 -1
- package/views/navigation/MomentumEstimator.js +1 -1
- package/views/navigation/Navigation.js +1 -1
- package/views/navigation/NavigationActionMap.js +1 -1
- package/views/navigation/PanPlanarMomentumEstimator.js +1 -1
- package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
- package/views/navigation/RotationMomentumEstimator.js +1 -1
- package/views/navigation/ZoomMomentumEstimator.js +1 -1
- package/views/navigation/gamepad/GamepadSettings.js +1 -1
- package/views/navigation/gamepadAndKeyboardUtils.js +1 -1
- package/views/overlay/BoxOverlayItem.js +1 -1
- package/views/overlay/CrosshairOverlayItem.js +1 -1
- package/views/overlay/LineOverlayItem.js +1 -1
- package/views/overlay/OutlineOverlayItem.js +1 -1
- package/views/overlay/TextOverlayItem.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/GroundViewElevationSampler.js +1 -1
- package/views/support/HighlightDefaults.js +1 -1
- package/views/support/HighlightOptions.js +1 -1
- package/views/support/LayerLayerViewInfo.js +1 -1
- package/views/support/LayerViewManager.js +1 -1
- package/views/support/PropertiesPool.js +1 -1
- package/views/support/RenderState.js +1 -1
- package/views/support/RequiredFieldsOptions.js +1 -1
- package/views/support/ScheduledQueueProcessor.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/TextureCompressionHandle.js +1 -1
- package/views/support/TextureCompressionHelper.js +1 -1
- package/views/support/TextureCompressionWorker.js +1 -1
- package/views/support/TextureCompressionWorkerHandle.js +1 -1
- package/views/support/TileTreeDebugger.js +1 -1
- package/views/support/WebGLRequirements.js +1 -1
- package/views/support/Yield.js +1 -1
- package/views/support/angularMeasurementUtils.js +1 -1
- package/views/support/automaticAreaMeasurementUtils.js +1 -1
- package/views/support/automaticLengthMeasurementUtils.js +1 -1
- package/views/support/colorUtils.js +1 -1
- package/views/support/debugFlags.js +1 -1
- package/views/support/drapedUtils.js +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/euclideanLengthMeasurementUtils.js +1 -1
- package/views/support/extentUtils.js +1 -1
- package/views/support/geodesicAreaMeasurementUtils.js +1 -1
- package/views/support/geodesicLengthMeasurementUtils.js +1 -1
- package/views/support/geodesicMeasurementUtils.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/support/highlightOptionsUtils.js +1 -1
- package/views/support/hitTestSelectUtils.js +1 -1
- package/views/support/imageReprojection.js +1 -1
- package/views/support/layerViewUtils.js +1 -1
- package/views/support/measurementUtils.js +1 -1
- package/views/support/projectionUtils.js +1 -1
- package/views/support/screenUtils.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/views/support/spatialReferenceSupport.js +1 -1
- package/views/support/waitForResources.js +1 -1
- package/views/ui/2d/DefaultUI2D.js +1 -1
- package/views/ui/3d/DefaultUI3D.js +1 -1
- package/views/ui/Component.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/ui/UI.js +1 -1
- package/views/ui/video/DefaultUIVideo.js +1 -1
- package/views/webgl/AllocationTracer.js +1 -1
- package/views/webgl/AppleAmdDriverHelper.js +1 -1
- package/views/webgl/BindType.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/ContextState.js +1 -1
- package/views/webgl/FBOAttachmentType.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/InstanceCounter.js +1 -1
- package/views/webgl/NoParameters.js +1 -1
- package/views/webgl/Parameters.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/ProgramCache.js +1 -1
- package/views/webgl/ProgramTemplate.js +1 -1
- package/views/webgl/Renderbuffer.js +1 -1
- package/views/webgl/RenderbufferDescriptor.js +1 -1
- package/views/webgl/RenderingContext.js +2 -2
- package/views/webgl/ShaderBuilder.js +1 -1
- package/views/webgl/ShaderCompiler.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/views/webgl/Sync.js +1 -1
- package/views/webgl/Texture.js +2 -2
- package/views/webgl/TextureDescriptor.js +1 -1
- package/views/webgl/TimerPool.js +1 -1
- package/views/webgl/TransformFeedback.js +1 -1
- package/views/webgl/Uniform.js +1 -1
- package/views/webgl/UniformBufferLayout.js +1 -1
- package/views/webgl/UniformBufferObject.js +1 -1
- package/views/webgl/Util.js +1 -1
- package/views/webgl/ValidatedTextureDescriptor.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/views/webgl/VertexElementDescriptor.js +1 -1
- package/views/webgl/WebGLDriverTest.js +1 -1
- package/views/webgl/WebGLDriverTestModule.js +1 -1
- package/views/webgl/capabilities/Capabilities.js +1 -1
- package/views/webgl/capabilities/DebugRendererInfo.js +1 -1
- package/views/webgl/capabilities/DisjointTimerQuery.js +1 -1
- package/views/webgl/capabilities/LoseContext.js +1 -1
- package/views/webgl/capabilities/load.js +1 -1
- package/views/webgl/capabilities.js +1 -1
- package/views/webgl/checkWebGLError.js +1 -1
- package/views/webgl/doublePrecisionUtils.js +1 -1
- package/views/webgl/enums.js +1 -1
- package/views/webgl/getDataTypeBytes.js +1 -1
- package/views/webgl/heatmapTextureUtils.js +1 -1
- package/views/webgl/programUtils.js +1 -1
- package/views/webgl/rasterUtils.js +1 -1
- package/views/webgl/renderState.js +1 -1
- package/views/webgl/reservedWordsGLSL3.js +1 -1
- package/views/webgl/storageLayouts.js +1 -1
- package/views/webgl/testAppleAmdDrawArrays.js +1 -1
- package/views/webgl/testFloatBufferBlend.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/views/webgl/testUtils.js +1 -1
- package/views/webgl/textureUtils.js +1 -1
- package/webdoc/GeotriggersInfo.js +1 -1
- package/webdoc/IPSInfo.js +1 -1
- package/webdoc/RangeInfo.js +1 -1
- package/webdoc/Widgets.js +1 -1
- package/webdoc/applicationProperties/Search.js +1 -1
- package/webdoc/applicationProperties/SearchLayer.js +1 -1
- package/webdoc/applicationProperties/SearchLayerField.js +1 -1
- package/webdoc/applicationProperties/SearchTable.js +1 -1
- package/webdoc/applicationProperties/SearchTableField.js +1 -1
- package/webdoc/applicationProperties/Viewing.js +1 -1
- package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
- package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
- package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
- package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
- package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
- package/webdoc/geotriggersInfo/FenceGeotrigger.js +1 -1
- package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
- package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
- package/webdoc/geotriggersInfo/support/geotriggerTypes.js +1 -1
- package/webdoc/geotriggersInfo/support/typeUtils.js +1 -1
- package/webdoc/interfaces.js +1 -1
- package/webdoc/ips/AppleIPSProperties.js +1 -1
- package/webdoc/ips/Configuration.js +1 -1
- package/webdoc/ips/GNSSProperties.js +1 -1
- package/webdoc/ips/PathSnappingProperties.js +1 -1
- package/webdoc/ips/PositioningService.js +1 -1
- package/webdoc/ips/SmoothingProperties.js +1 -1
- package/webdoc/support/SlideThumbnail.js +1 -1
- package/webdoc/support/opacityUtils.js +1 -1
- package/webdoc/support/resourceUtils.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/thumbnailUtils.js +1 -1
- package/webdoc/support/timeProperties.js +1 -1
- package/webdoc/support/webdocLoadUtils.js +1 -1
- package/webdoc/support/webdocSaveUtils.js +1 -1
- package/webdoc/support/writeUtils.js +1 -1
- package/webdoc/widgets/FloorFilter.js +1 -1
- package/webdoc/widgets/Range.js +1 -1
- package/webdoc/widgets/TimeSlider.js +1 -1
- package/webmap/ApplicationProperties.js +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webmap/InitialViewProperties.js +1 -1
- package/webmap/Version.js +1 -1
- package/webmap/background/ColorBackground.js +1 -1
- package/webmap/utils.js +1 -1
- package/webscene/ApplicationProperties.js +1 -1
- package/webscene/Environment.js +1 -1
- package/webscene/InitialViewProperties.js +1 -1
- package/webscene/Presentation.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/SlideLegendInfo.js +1 -1
- package/webscene/SunLighting.js +1 -1
- package/webscene/TransportationNetwork.js +1 -1
- package/webscene/Version.js +1 -1
- package/webscene/VirtualLighting.js +1 -1
- package/webscene/background/Background.js +1 -1
- package/webscene/background/ColorBackground.js +1 -1
- package/webscene/background/utils.js +1 -1
- package/webscene/lightingTypes.js +1 -1
- package/webscene/spec-certification/api.js +1 -1
- package/webscene/spec-certification/compare.js +1 -1
- package/webscene/spec-certification/index.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/webscene/spec-certification/utils.js +1 -1
- package/webscene/support/AlphaCutoff.js +1 -1
- package/webscene/support/Description.js +1 -1
- package/webscene/support/FeatureReference.js +1 -1
- package/webscene/support/FeatureReferenceGlobalId.js +1 -1
- package/webscene/support/FeatureReferenceId.js +1 -1
- package/webscene/support/FeatureReferenceObjectId.js +1 -1
- package/webscene/support/LayerReference.js +1 -1
- package/webscene/support/SlideElements.js +1 -1
- package/webscene/support/SlideEnvironment.js +1 -1
- package/webscene/support/SlideGround.js +1 -1
- package/webscene/support/SlidePopupInfo.js +1 -1
- package/webscene/support/SlideVisibleLayer.js +1 -1
- package/webscene/support/Title.js +1 -1
- package/webscene/support/analysisUtils.js +1 -1
- package/webscene/support/featureReferenceUtils.js +1 -1
- package/webscene/support/schemaValidator.js +1 -1
- package/webscene/support/schemaValidatorLoader.js +1 -1
- package/webscene/types.js +1 -1
- package/webscene/utils.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/AreaMeasurement3D.js +1 -1
- package/widgets/Attachments/AttachmentsViewModel.js +1 -1
- package/widgets/Attachments/support/attachmentUtils.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution/AttributionViewModel.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/css.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/LocalBasemapsSource.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListVisibleElements.js +1 -1
- package/widgets/BasemapLayerList/css.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/BasemapToggle/css.js +1 -1
- package/widgets/BasemapToggle.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/ReactiveGraphic.js +1 -1
- package/widgets/BatchAttributeForm/VisibleElements.js +1 -1
- package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
- package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
- package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
- package/widgets/BatchAttributeForm/templates/BatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/ElementTemplateBase.js +1 -1
- package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/GroupElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/contingentValuesUtils.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/templateUtils.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Bookmarks/BookmarksUserState.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks/BookmarksVisibleElements.js +1 -1
- package/widgets/Bookmarks/css.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/css.js +1 -1
- package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhase.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/css.js +1 -1
- package/widgets/BuildingExplorer/css.js +1 -1
- package/widgets/BuildingExplorer/support/LayerTreeNode.js +1 -1
- package/widgets/BuildingExplorer/support/buildingLayerUtils.js +1 -1
- package/widgets/BuildingExplorer/support/filterUtils.js +1 -1
- package/widgets/BuildingExplorer/support/layerUtils.js +1 -1
- package/widgets/BuildingExplorer/support/validation.js +1 -1
- package/widgets/BuildingExplorer.js +1 -1
- package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
- package/widgets/CatalogLayerList/CatalogLayerListVisibleElements.js +1 -1
- package/widgets/CatalogLayerList/css.js +1 -1
- package/widgets/CatalogLayerList.js +1 -1
- package/widgets/Compass/CompassViewModel.js +1 -1
- package/widgets/Compass/css.js +1 -1
- package/widgets/Compass/utils.js +1 -1
- package/widgets/Compass.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/Conversion.js +1 -1
- package/widgets/CoordinateConversion/support/Format.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/CoordinateConversion/support/formatUtils.js +1 -1
- package/widgets/CoordinateConversion.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +2 -2
- package/widgets/Daylight/VisibleElements.js +1 -1
- package/widgets/Daylight/css.js +1 -1
- package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
- package/widgets/Daylight/support/SliderWithDropdownViewModel.js +1 -1
- package/widgets/Daylight/support/daylightUtils.js +1 -1
- package/widgets/Daylight.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/DirectLineMeasurement3D.js +1 -1
- package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
- package/widgets/DirectionalPad/VisibleElements.js +1 -1
- package/widgets/DirectionalPad/constants.js +1 -1
- package/widgets/DirectionalPad/css.js +1 -1
- package/widgets/DirectionalPad/utils.js +1 -1
- package/widgets/DirectionalPad.js +1 -1
- package/widgets/Directions/DirectionsSearchTool.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions/DirectionsVisibleElements.js +1 -1
- package/widgets/Directions/css.js +1 -1
- package/widgets/Directions/support/directionsUtils.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/Editor/AddAssociationWorkflow.js +1 -1
- package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/EditorViewModel.js +2 -2
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflowData.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +2 -2
- package/widgets/Editor/UpdateFeaturesWorkflowData.js +2 -2
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +2 -2
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Upload.js +1 -1
- package/widgets/Editor/VisibleElements.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/components/CreateFeaturesPanelContent.js +1 -1
- package/widgets/Editor/components/FeatureList.js +1 -1
- package/widgets/Editor/components/FooterActions.js +1 -1
- package/widgets/Editor/components/Notices.js +2 -2
- package/widgets/Editor/components/PanelContent.js +1 -1
- package/widgets/Editor/components/PanelToolbar.js +1 -1
- package/widgets/Editor/components/PendingFeatureList.js +1 -1
- package/widgets/Editor/components/Prompt.js +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +2 -2
- package/widgets/Editor/components/UploadDetails.js +1 -1
- package/widgets/Editor/css.js +1 -1
- package/widgets/Editor/modelUploadUtils.js +1 -1
- package/widgets/Editor/support/EditorEditingCapabilities.js +1 -1
- package/widgets/Editor/support/EditorItem.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Editor/support/dependencySort.js +1 -1
- package/widgets/Editor/support/editsUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +2 -2
- package/widgets/Editor.js +2 -2
- package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineInput.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineQuery.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileVisibleElements.js +1 -1
- package/widgets/ElevationProfile/components/Legend.js +1 -1
- package/widgets/ElevationProfile/components/LegendItem.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile/components/Statistics.js +1 -1
- package/widgets/ElevationProfile/css.js +1 -1
- package/widgets/ElevationProfile/elevationProfileLineTypes.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView2D.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView3D.js +1 -1
- package/widgets/ElevationProfile/support/HoveredPoints.js +1 -1
- package/widgets/ElevationProfile/support/InputRepresentation2D.js +1 -1
- package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
- package/widgets/ElevationProfile/support/ProfileGenerationError.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/ElevationProfile/support/constants.js +1 -1
- package/widgets/ElevationProfile/support/elevationQuerySourceUtils.js +1 -1
- package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
- package/widgets/ElevationProfile/support/intlUtils.js +1 -1
- package/widgets/ElevationProfile/support/niceScale.js +1 -1
- package/widgets/ElevationProfile/support/profileUtils.js +1 -1
- package/widgets/ElevationProfile/support/statisticsUtils.js +1 -1
- package/widgets/ElevationProfile/support/unitUtils.js +1 -1
- package/widgets/ElevationProfile/support/visualizationUtils.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Expand/ExpandViewModel.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureAttachments/FeatureAttachmentsViewModel.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
- package/widgets/Feature/FeatureContent.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression.js +1 -1
- package/widgets/Feature/FeatureFields/FeatureFieldsViewModel.js +1 -1
- package/widgets/Feature/FeatureFields.js +1 -1
- package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia/chartCommon.js +1 -1
- package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
- package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociations/VisibleElements.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociations/resources.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociations.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/resources.js +1 -1
- package/widgets/Feature/support/FeatureContentMixin.js +1 -1
- package/widgets/Feature/support/FeatureElementInfo.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureForm/EditableInput.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/AssociationDetails.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/VisibleElements.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/FieldInput.js +1 -1
- package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
- package/widgets/FeatureForm/Format.js +1 -1
- package/widgets/FeatureForm/GroupInput.js +1 -1
- package/widgets/FeatureForm/InputBase.js +1 -1
- package/widgets/FeatureForm/RelationshipInput.js +1 -1
- package/widgets/FeatureForm/TextElementInput.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationAddAssociationViewModel.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureForm/VisibleElements.js +1 -1
- package/widgets/FeatureForm/css.js +1 -1
- package/widgets/FeatureForm/featureFormUtils.js +1 -1
- package/widgets/FeatureForm/support/textElementInputUtils.js +1 -1
- package/widgets/FeatureForm/support/textManipulationUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/ActionColumn.js +1 -1
- package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
- package/widgets/FeatureTable/ColumnMenuVisibleElements.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +2 -2
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/ColumnCSS.js +1 -1
- package/widgets/FeatureTable/Grid/EditorColumn.js +2 -2
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenuItem.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenuViewModel.js +1 -1
- package/widgets/FeatureTable/RelationshipColumn.js +1 -1
- package/widgets/FeatureTable/TableMenuVisibleElements.js +1 -1
- package/widgets/FeatureTable/VisibleElements.js +1 -1
- package/widgets/FeatureTable/support/AttachmentsColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/AttachmentsViewOptions.js +1 -1
- package/widgets/FeatureTable/support/ColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
- package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable/support/FieldColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/GroupColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/RelationshipColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/TableTemplate.js +1 -1
- package/widgets/FeatureTable/support/columnUtils.js +1 -1
- package/widgets/FeatureTable/support/exportUtils.js +1 -1
- package/widgets/FeatureTable/support/tableUtils.js +1 -1
- package/widgets/FeatureTable/support/templateUtils.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/TemplateItem.js +1 -1
- package/widgets/FeatureTemplates/TemplateItemGroup.js +1 -1
- package/widgets/FeatureTemplates/VisibleElements.js +1 -1
- package/widgets/FeatureTemplates/featureTemplatesUtils.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Features/FeaturesDrillIn.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features/FeaturesVisibleElements.js +1 -1
- package/widgets/Features/css.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/FloorFilter/css.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/FovOverlay.js +1 -1
- package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
- package/widgets/Fullscreen.js +1 -1
- package/widgets/HighlightConfigurator.js +1 -1
- package/widgets/Histogram/HistogramViewModel.js +1 -1
- package/widgets/Histogram.js +1 -1
- package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Home/HomeViewModel.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/LayerList/LayerListViewModel.js +1 -1
- package/widgets/LayerList/LayerListVisibleElements.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList/css.js +1 -1
- package/widgets/LayerList/support/layerListUtils.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/card/CardView.js +1 -1
- package/widgets/Legend/styles/card/ColorRamp.js +1 -1
- package/widgets/Legend/styles/card/LegendElement.js +1 -1
- package/widgets/Legend/styles/card/SizeRamp.js +1 -1
- package/widgets/Legend/styles/card/UnivariateAboveAndBelowRamp.js +1 -1
- package/widgets/Legend/styles/card/UnivariateColorSizeRamp.js +1 -1
- package/widgets/Legend/styles/card/css.js +1 -1
- package/widgets/Legend/styles/classic/ClassicView.js +1 -1
- package/widgets/Legend/styles/classic/ColorRamp.js +1 -1
- package/widgets/Legend/styles/classic/LegendElement.js +1 -1
- package/widgets/Legend/styles/classic/SizeRamp.js +1 -1
- package/widgets/Legend/styles/classic/UnivariateAboveAndBelowRamp.js +1 -1
- package/widgets/Legend/styles/classic/UnivariateColorSizeRamp.js +1 -1
- package/widgets/Legend/styles/classic/css.js +1 -1
- package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
- package/widgets/Legend/styles/support/sizeRampUtils.js +1 -1
- package/widgets/Legend/styles/support/univariateUtils.js +1 -1
- package/widgets/Legend/styles/support/utils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/clusterUtils.js +1 -1
- package/widgets/Legend/support/colorRampUtils.js +1 -1
- package/widgets/Legend/support/heatmapRampUtils.js +1 -1
- package/widgets/Legend/support/relationshipRampUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Legend/support/styleUtils.js +1 -1
- package/widgets/Legend/support/utils.js +1 -1
- package/widgets/Legend.js +1 -1
- package/widgets/LineOfSight/LineOfSightTarget.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/LineOfSight.js +1 -1
- package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
- package/widgets/Locate/LocateViewModel.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/Measurement/MeasurementViewModel.js +1 -1
- package/widgets/Measurement.js +1 -1
- package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
- package/widgets/NavigationToggle/css.js +1 -1
- package/widgets/NavigationToggle.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/DataCaptureAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/arcUtils.js +1 -1
- package/widgets/OrientedImageryViewer/components/Alert.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageMeasurementWidget.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewer.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationAction.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationActions.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationNode.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationSettings.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationUI.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationUIPanoramicViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationUIViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OverlayLayersList.js +1 -1
- package/widgets/OrientedImageryViewer/components/OverlayLayersListViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
- package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
- package/widgets/OrientedImageryViewer/components/imageNavigationUtils.js +1 -1
- package/widgets/OrientedImageryViewer/constants.js +1 -1
- package/widgets/OrientedImageryViewer/css.js +1 -1
- package/widgets/OrientedImageryViewer/dataCaptureUtils.js +1 -1
- package/widgets/OrientedImageryViewer/galleryUtils.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/TriangulatedImageMeasurementMixin.js +1 -1
- package/widgets/OrientedImageryViewer/mixins/TriangulatedSketchHandlerMixin.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/NavigationManagerPanoramic.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/errors.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer/symbols.js +1 -1
- package/widgets/OrientedImageryViewer/transformers.js +1 -1
- package/widgets/OrientedImageryViewer/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
- package/widgets/PanoramicViewer/PanoramicZoomViewModel.js +1 -1
- package/widgets/PanoramicViewer/constants.js +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/PanoramicViewer.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/PopupVisibleElements.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Popup/actions.js +1 -1
- package/widgets/Popup/css.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/CustomTemplate.js +1 -1
- package/widgets/Print/FileLink.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print/TemplateOptions.js +1 -1
- package/widgets/Print/utils.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/ScaleBar/css.js +1 -1
- package/widgets/ScaleBar.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRanges.js +1 -1
- package/widgets/ScaleRangeSlider/css.js +1 -1
- package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Search/LayerSearchSource.js +1 -1
- package/widgets/Search/LocatorSearchSource.js +1 -1
- package/widgets/Search/SearchResultRenderer.js +1 -1
- package/widgets/Search/SearchSource.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/css.js +1 -1
- package/widgets/Search/searchResultRendererCSS.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Search/types.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/DiscreteOptions.js +1 -1
- package/widgets/ShadowCast/DurationMode.js +1 -1
- package/widgets/ShadowCast/DurationOptions.js +1 -1
- package/widgets/ShadowCast/ShadowCastState.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/ShadowCast/ShadowCastVisibleElements.js +1 -1
- package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
- package/widgets/ShadowCast/ShadowVisualizationType.js +1 -1
- package/widgets/ShadowCast/ThresholdOptions.js +1 -1
- package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
- package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
- package/widgets/ShadowCast/components/ShadowTooltip.js +1 -1
- package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
- package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
- package/widgets/ShadowCast/css.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/VisibleElements.js +1 -1
- package/widgets/Sketch/support/OperationHandle.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/MeasuredContentGroup.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/OverflowGroup.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbarManager.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/SplitButton.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/ToolbarGroupBase.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/responsiveToolbarUtils.js +1 -1
- package/widgets/Sketch/support/sketchUtils.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slice/SliceViewModel.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/Slider/SliderViewModel.js +1 -1
- package/widgets/Slider/css.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Spinner/SpinnerViewModel.js +1 -1
- package/widgets/Spinner.js +1 -1
- package/widgets/Swipe/SwipeViewModel.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/TableList/ListItemPanel.js +1 -1
- package/widgets/TableList/TableListViewModel.js +1 -1
- package/widgets/TableList/TableListVisibleElements.js +1 -1
- package/widgets/TableList/css.js +1 -1
- package/widgets/TableList/support/tableListUtils.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider/css.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/TimeZoneLabel/TimeZoneLabelViewModel.js +1 -1
- package/widgets/TimeZoneLabel/css.js +1 -1
- package/widgets/TimeZoneLabel.js +1 -1
- package/widgets/Track/TrackViewModel.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsLineSymbolPicker.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/widgets/UtilityNetworkAssociations/VisibleElements.js +1 -1
- package/widgets/UtilityNetworkAssociations/VisibleElementsSettingsPane.js +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GraphicHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/UtilityHelper.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
- package/widgets/ValuePicker/ValuePickerCollection.js +1 -1
- package/widgets/ValuePicker/ValuePickerCombobox.js +1 -1
- package/widgets/ValuePicker/ValuePickerLabel.js +1 -1
- package/widgets/ValuePicker/ValuePickerSlider.js +1 -1
- package/widgets/ValuePicker/ValuePickerSliderVisibleElements.js +1 -1
- package/widgets/ValuePicker/ValuePickerViewModel.js +1 -1
- package/widgets/ValuePicker/ValuePickerVisibleElements.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/VersionManagement/VersionManagementViewModel.js +1 -1
- package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
- package/widgets/VideoPlayer/components/MetadataSection.js +1 -1
- package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
- package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
- package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
- package/widgets/VideoPlayer/css.js +1 -1
- package/widgets/VideoPlayer.js +1 -1
- package/widgets/Weather/LabeledSlider.js +1 -1
- package/widgets/Weather/VisibleElements.js +1 -1
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Weather/css.js +1 -1
- package/widgets/Weather/enums.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/Zoom/ZoomConditions2D.js +1 -1
- package/widgets/Zoom/ZoomConditions3D.js +1 -1
- package/widgets/Zoom/ZoomViewModel.js +1 -1
- package/widgets/Zoom.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.js +1 -1
- package/widgets/smartMapping/ColorSlider.js +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
- package/widgets/smartMapping/HeatmapSlider.js +1 -1
- package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.js +1 -1
- package/widgets/smartMapping/OpacitySlider.js +1 -1
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/SizeSlider.js +1 -1
- package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderViewModel.js +1 -1
- package/widgets/smartMapping/support/utils.js +1 -1
- package/widgets/support/AnalysisViewModel.js +1 -1
- package/widgets/support/AnchorElementViewModel.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
- package/widgets/support/FilterBuilder.js +1 -1
- package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
- package/widgets/support/FilterCondition/conditionUtils.js +1 -1
- package/widgets/support/FilterCondition.js +1 -1
- package/widgets/support/GeolocationPositioning.js +1 -1
- package/widgets/support/GoTo.js +1 -1
- package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
- package/widgets/support/GridControls/VisibleElements.js +1 -1
- package/widgets/support/GridControls/gridUtils.js +1 -1
- package/widgets/support/GridControls.js +1 -1
- package/widgets/support/Heading.js +1 -1
- package/widgets/support/InteractiveToolViewModel.js +1 -1
- package/widgets/support/ItemList.js +1 -1
- package/widgets/support/LabeledSwitch.js +1 -1
- package/widgets/support/MeasurementWidgetContent.js +1 -1
- package/widgets/support/SelectionList/FeatureItem.js +1 -1
- package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
- package/widgets/support/SelectionList/ItemBase.js +1 -1
- package/widgets/support/SelectionList/LayerItem.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList/VisibleElements.js +1 -1
- package/widgets/support/SelectionList/selectionListUtils.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar/VisibleElements.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/widgets/support/SketchTooltipControls/VisibleElements.js +1 -1
- package/widgets/support/SketchTooltipControls.js +1 -1
- package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
- package/widgets/support/SnappingControls/SnappingLayerListViewModel.js +1 -1
- package/widgets/support/SnappingControls/SnappingListItem.js +1 -1
- package/widgets/support/SnappingControls/VisibleElements.js +1 -1
- package/widgets/support/SnappingControls/snappingLayerListUtils.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimezonePicker.js +1 -1
- package/widgets/support/UnitSelect.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/createAssociation.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/formatPercentAlong.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/getAssociationTitle.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/getFeatureTitle.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/isConnectivity.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/isConnectivityMidspan.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utils/isFromElement.js +1 -1
- package/widgets/support/chartUtilsAm5.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/widgets/support/dateUtils.js +1 -1
- package/widgets/support/decorators/accessibleHandler.js +1 -1
- package/widgets/support/decorators/messageBundle.js +1 -1
- package/widgets/support/decorators/vmEvent.js +1 -1
- package/widgets/support/forms/expressions/FormExpressionArcadeExecutor.js +1 -1
- package/widgets/support/forms/formUtils.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/widgets/support/globalCss.js +1 -1
- package/widgets/support/goToUtils.js +1 -1
- package/widgets/support/iconUtils.js +1 -1
- package/widgets/support/jsxFactory.js +1 -1
- package/widgets/support/jsxWidgetSupport.js +1 -1
- package/widgets/support/legacyIcon.js +1 -1
- package/widgets/support/listUtils.js +1 -1
- package/widgets/support/loaderUtils.js +1 -1
- package/widgets/support/symbolPreviewUtils.js +1 -1
- package/widgets/support/symbols.js +1 -1
- package/widgets/support/tests.js +1 -1
- package/widgets/support/timeWidgetUtils.js +1 -1
- package/widgets/support/traversalUtils.js +1 -1
- package/widgets/support/uriUtils.js +1 -1
- package/widgets/support/vnodeCache.js +1 -1
- package/widgets/support/widget.js +1 -1
- package/widgets/support/widgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/17e43a050fbf8dc87588.js +0 -1
- package/assets/esri/core/workers/chunks/1ee6e9a88f0676032e91.js +0 -1
- package/assets/esri/core/workers/chunks/3adcf78ed1e7cd82666d.js +0 -1
- package/assets/esri/core/workers/chunks/ad4f65d764654c70a117.js +0 -1
- package/assets/esri/core/workers/chunks/cc4fe89e4f604e3c52ae.js +0 -1
- package/assets/esri/core/workers/chunks/f2aa8090827086c62dde.js +0 -1
- package/assets/esri/core/workers/chunks/fd4c020297badcb81947.js +0 -1
- package/effects/FocusArea.js +0 -5
- package/rest/knowledgeGraph/GraphAddFieldIndexResult.js +0 -5
- package/rest/knowledgeGraph/GraphDataModelOperationResult.js +0 -5
- package/rest/knowledgeGraph/GraphDeleteFieldIndexResult.js +0 -5
- package/rest/networks/support/CircuitPath.js +0 -5
- package/rest/networks/support/CircuitPathConnectivityElement.js +0 -5
- package/smartMapping/renderers/support/spikeUtils.d.ts +0 -4
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +0 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
See https://js.arcgis.com/4.
|
|
3
|
+
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
5
|
import{Envelope2D as e}from"./Envelope2D.js";import{a as t,c as s,G as n,f as r,d as i,h as o,g as a,y as h,z as m,v as l,A as g,t as u,p as c,r as _,i as d,e as p,B as f,C as x,o as y,w as P,l as E,q as S,D as C}from"./Geometry.js";import{P as I,I as b,J as w,a as v,M as N,K as T,E as G,c as D,g as V,S as F,L as H,N as k,O as A,n as M,Q as U,R as q,y as B,T as O,D as Y,l as R,U as X,V as L,W as z,X as W,Y as j,Z,_ as K,$ as Q,a0 as J,a1 as $,a2 as ee,a3 as te,a4 as se,a5 as ne,a6 as re,a7 as ie,a8 as oe,a9 as ae,b as he}from"./MultiPathImpl.js";import{b as me,a as le,L as ge,M as ue,i as ce,g as _e,c as de,E as pe,P as fe,C as xe,e as ye,N as Pe,T as Ee,Q as Se,A as Ce,B as Ie,R as be,U as we,W as ve,V as Ne,X as Te,n as Ge,Y as De,F as Ve,Z as Fe,_ as He,$ as ke,a0 as Ae,a1 as Me,h as Ue,a2 as qe,S as Be,x as Oe,a3 as Ye,d as Re,a4 as Xe,a5 as Le,a6 as ze,f as We}from"./Envelope.js";import{at as je,au as Ze,d as Ke,P as Qe,av as Je,v as $e,aw as et,l as tt,Q as st,ax as nt,c as rt,e as it,r as ot,E as at,O as ht,k as mt,m as lt,K as gt,a as ut,ay as ct,B as _t,az as dt,S as pt,q as ft,f as xt,aA as yt,aB as Pt,g as Et,U as St,o as Ct,s as It,j as bt,b as wt,i as vt,h as Nt,n as Tt,a8 as Gt,aC as Dt,M as Vt,J as Ft,aD as Ht,aE as kt,H as At,aF as Mt,aG as Ut,aH as qt,aI as Bt,aJ as Ot,aq as Yt,y as Rt,aK as Xt,p as Lt}from"./Point2D.js";import{b as zt,c as Wt}from"./tslib.es6.js";import{T as jt}from"./Transformation2D.js";import{c as Zt,O as Kt,a as Qt}from"./OperatorClip.js";import{O as Jt}from"./OperatorDensify.js";import{S as $t,G as es}from"./SimpleGeometryCursor.js";import{NonSimpleResult as ts}from"./OperatorDefinitions.js";class ss{constructor(e){if(this.m_geom=this.m_sr=null,e){if(e.move)return this.m_geom=e.move.m_geom,e.move.m_geom=null,this.m_sr=e.move.m_sr,void(e.move.m_sr=null);if(e.copy)return this.m_geom=e.copy.m_geom?e.copy.m_geom.clone():null,void(this.m_sr=e.copy.m_sr);e.geom&&(this.m_geom=e.geom),e.sr&&(this.m_sr=e.sr)}}getGeometry(){return this.m_geom}getSpatialReference(){return this.m_sr}setGeometry(e){this.m_geom=e}setSpatialReference(e){this.m_sr=e}equals(e,t){const s=e;return!(!this.m_sr&&s.m_sr)&&(!(this.m_sr&&!s.m_sr)&&(!(!this.m_geom&&s.m_geom)&&(!(this.m_geom&&!s.m_geom)&&(!(this.m_sr&&s.m_sr&&!this.m_sr.equals(s.m_sr))&&!(this.m_geom&&s.m_geom&&!this.m_geom.equals(s.m_geom,t))))))}clone(){let e=null;return this.m_geom&&(e=this.m_geom.clone()),new ss({geom:e,sr:this.m_sr})}hasGeom(){return!!this.m_geom}}class ns{constructor(e){this.m_factor=1,this.m_wkid=0,this.m_peUnit=null,e&&(this.m_peUnit=e,this.m_factor=e.getUnitFactor(),this.m_wkid=e.getCode(),this.m_wkid<0&&(this.m_wkid=0))}getName(){return this.m_peUnit?this.m_peUnit.getName():""}getID(){return this.m_wkid}getConversionFactor(e){return this.getUnitType()!==e.getUnitType()&&t("unit type mismatch"),this.getUnitToBaseFactor()/e.getUnitToBaseFactor()}getUnitToBaseFactor(){return this.m_factor}getHashCode(){return je(Ze(this.getUnitType()),Ze(this.getUnitToBaseFactor()))}equals(e){return!!e&&(this.getUnitType()===e.getUnitType()&&this.getUnitToBaseFactor()===e.getUnitToBaseFactor()&&this.getID()===e.getID()&&this.getName()===e.getName())}static isValidWkid(e){return!1}}const rs={330:104878,500:104879,1300:104899,1450:104986,2230:104988,3800:104978,5e3:104919,6200:104906,8200:104909,9500:104927,9600:104977,1e4:[104911,104936],11e3:104941,11080:104872,11100:104907,12e3:104920,12400:104995,13e3:104948,14e3:[104923,104989],15e3:[104913,104954],15100:104976,16e3:[104926,104931],18e3:[104922,104982],21e3:104947,21500:104877,27e3:[104950,104957],29e3:104964,3e4:104921,31e3:104949,33e3:104946,4e4:[104914,104967],40600:104897,41900:104937,42e3:104951,43100:104993,49300:104924,50100:104939,54e3:104955,58200:104981,59500:104930,74e3:104961,77e3:104956,79e3:104962,83500:104910,85e3:104917,88800:104934,89200:104985,96e3:104997,104e3:104963,106500:104898,11e4:104938,133e3:104932,135e3:104983,17e4:104965,198200:104987,198630:104935,208e3:104966,235800:104952,249400:104929,252100:104980,255e3:104973,47e4:104972,529800:104942,531e3:104996,56e4:104928,561400:104979,578900:104945,584700:104959,593e3:104970,606e3:104999,718e3:104933,745700:104984,761400:104953,763500:104994,764e3:104940,788900:104958,1188300:104998,1195e3:104969,1352600:104968,1560800:104874,1562090:104915,1737400:104903,1821460:104918,1821490:104876,2409300:104912,2410300:104873,2439400:104974,2439700:104900,2575e3:104943,2631200:104875,2632345:104916,3393400:104904,3396190:[104905,104971],6051e3:104901,6051800:104902,637e4:104128,6370997:[4052,37008],6371e3:4035,6371007:4047,6371228:[4053,10346],6376045:[8042,8043],6376523:[4027,4901,4902],6376896:37007,6378135:[4122,4322,4324,4720,4985,4987],6378136:[4740,4923,7678,7680,9474,9475,104017,104018],6378137:[3823,3824,3888,3889,4017,4019,4023,4031,4040,4046,4055,4074,4075,4080,4081,4121,4126,4130,4133,4140,4141,4148,4151,4152,4163,4166,4167,4170,4171,4172,4173,4176,4180,4189,4190,4258,4269,4283,4318,4319,4326,4463,4466,4469,4470,4480,4482,4483,4490,4557,4558,4612,4617,4619,4624,4627,4659,4661,4667,4669,4670,4674,4686,4687,4693,4694,4702,4737,4742,4747,4749,4750,4755,4756,4757,4758,4759,4761,4762,4763,4764,4765,4883,4885,4887,4889,4893,4895,4898,4907,4909,4921,4925,4927,4929,4931,4933,4935,4937,4939,4941,4943,4945,4947,4949,4951,4953,4955,4957,4959,4961,4963,4965,4967,4971,4975,4977,4979,4981,4983,4989,4997,4999,5012,5013,5245,5246,5251,5252,5263,5264,5323,5324,5340,5342,5353,5354,5359,5360,5364,5365,5370,5371,5372,5373,5380,5381,5392,5393,5488,5489,5545,5546,5592,5593,5885,5886,6134,6135,6310,6311,6318,6319,6321,6322,6324,6325,6364,6365,6667,6668,6705,6706,6782,6783,6980,6982,6983,6987,6989,6990,7034,7035,7036,7037,7038,7039,7040,7041,7042,7072,7073,7084,7085,7086,7087,7133,7135,7136,7138,7139,7372,7373,7657,7659,7661,7663,7665,7685,7686,7797,7798,7816,7843,7844,7880,7881,7885,7886,7900,7901,7902,7903,7904,7905,7906,7907,7908,7909,7910,7911,7912,7915,7917,7919,7921,7923,7925,7927,7929,7931,8085,8086,8231,8232,8235,8237,8239,8240,8244,8246,8248,8249,8251,8252,8254,8255,8399,8403,8426,8427,8449,8542,8544,8545,8684,8685,8698,8699,8817,8818,8860,8888,8899,8900,8901,8902,8906,8907,8916,8918,8920,8922,8924,8926,8928,8930,8932,8934,8936,8938,8940,8942,8944,8946,8948,8949,8972,8973,8974,8975,8976,8977,8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,8993,8994,8995,8996,8997,8998,8999,9e3,9002,9003,9005,9006,9008,9009,9011,9012,9013,9014,9016,9017,9018,9019,9053,9054,9055,9056,9057,9059,9060,9061,9062,9063,9064,9065,9066,9067,9068,9069,9071,9072,9074,9075,9139,9140,9147,9148,9152,9153,9183,9184,9293,9294,9299,9308,9309,9332,9333,9364,9372,9379,9380,9384,9453,9469,9470,9546,9547,9695,9696,9701,9702,9739,9754,9755,9758,9763,9776,9777,9778,9779,9781,9782,9783,9784,9866,9871,9939,9964,9969,9974,9989,9990,10175,10177,10178,10185,10191,10196,10204,10209,10214,10219,10224,10229,10237,10272,10277,10283,10284,10298,10299,10300,10304,10305,10307,10309,10310,10311,10312,10327,10328,10413,10414,10468,10474,10475,10570,10571,10605,10606,10623,10628,10638,10639,10670,10671,10672,10673,10689,10690,10724,10725,10738,10739,10761,10762,10780,10781,10784,10785,10799,10800,20033,20040,20041,20045,20046,104009,104010,104011,104012,104013,104014,104015,104016,104019,104020,104021,104022,104024,104027,104028,104050,104100,104107,104108,104110,104111,104114,104115,104116,104117,104118,104119,104120,104121,104122,104123,104124,104129,104133,104134,104137,104141,104142,104143,104144,104145,104179,104180,104181,104182,104183,104184,104185,104186,104199,104223,104257,104258,104259,104260,104286,104287,104602,104613,104644,104645,104646,104647,104653,104804,104896,104991],6378140:4610,6378145:[4025,4276,4760,4891,37001],6378150:37003,6378155:[37004,37207],6378160:[3821,4003,4021,4036,4202,4203,4237,4238,4291,4618,4708,5527,37231,104023,104136],6378166:37002,6378200:[4020,4229,4286,4303,4706],6378245:[4024,4147,4164,4178,4179,4191,4200,4205,4214,4284,4317,4555,4676,4677,4678,4991,4993,5560,5561,37257,104135],6378270:[4732,37005,37229],6378273:[4054,10345],6378300:[4029,4168,4174],6378388:[4022,4123,4153,4154,4158,4159,4160,4161,4165,4181,4182,4183,4184,4185,4192,4194,4195,4196,4199,4204,4207,4208,4215,4218,4221,4224,4225,4230,4231,4233,4235,4236,4247,4248,4249,4254,4255,4259,4264,4265,4271,4272,4274,4285,4287,4288,4292,4297,4309,4311,4313,4316,4472,4475,4611,4614,4615,4616,4621,4622,4623,4625,4626,4628,4629,4630,4631,4632,4633,4636,4637,4639,4641,4642,4643,4644,4645,4646,4658,4660,4662,4663,4664,4665,4668,4672,4673,4684,4688,4689,4690,4691,4692,4698,4704,4705,4707,4709,4710,4711,4712,4714,4715,4716,4718,4719,4721,4722,4724,4725,4727,4728,4729,4730,4733,4734,4735,4739,4741,4753,4754,4802,4803,4806,4809,4810,4823,4824,4900,5524,6883,8428,8430,8431,9248,9251,9253,9403,9893,10158,10249,10252,10635,10636,10735,10736,10758,37201,37204,37205,37212,37213,37214,37215,37216,37217,37218,37219,37221,37222,37224,37226,37227,37230,37232,37233,37234,37235,37237,37238,37241,37242,37245,37246,37247,37249,37250,37251,37253,37259,104104,104106,104125,104126,104127,104130,104138,104248],6378523:104786,24764e3:104960,25559e3:104944,60268e3:104925,71492e3:104908,6957e5:104975,6377397.155:[3819,3906,4004,4120,4124,4125,4149,4150,4156,4162,4211,4219,4257,4262,4280,4289,4294,4295,4301,4306,4308,4312,4314,4613,4666,4745,4746,4801,4804,4805,4808,4813,4814,4815,4818,4820,4904,5132,5228,5229,5681,5830,8351,9267,10268,37255,104101,104102,104105,104131,104648,104696,104697,104990,104992],6377563.396:[4001,4188,4277,4278,4279],6377340.189:[4002,4299,4300],6377492.018:[4005,4273,4817],6377483.865280418:[4006,4293],6378293.645208759:[4007,4157,4302,4738,5464],6378206.4:[4008,4127,4128,4129,4135,4136,4137,4138,4139,4169,4216,4242,4253,4267,4608,4609,4638,4675,4683,4695,4717,4723,4726,4995,5451,5467,37220,37239,37243,37252,37260,104e3,104109,104112,104113,104132],6378450.047:[4009,4268],6378300.789:[4010,4281],6378249.2:[4011,4014,4155,4193,4206,4213,4223,4226,4227,4228,4252,4261,4266,4275,4282,4296,4304,4310,4315,4671,4807,4811,4816,4821,37223,37225,104139,104140,104261,104304],6378249.145:[4012,4013,4132,4134,4142,4143,4175,4197,4198,4201,4209,4210,4212,4220,4222,4232,4234,4246,4250,4251,4256,4260,4263,4270,4305,4307,4600,4601,4602,4603,4604,4605,4606,4607,4620,4679,4680,4696,4697,4699,4700,4701,4703,4713,4731,4736,4743,4744,4812,4819,6881,6882,6892,6894,8694,37206,37208,37211,37228,37240,37254,104025,104026,104103,104305],6377276.345:[4015,4131,4144,4239,4240,4244,4682,5233,6207,37202,104256,104664,104693],6377298.556:[4016,4298],6377304.063:[4018,4245],6378298.3:[4028,4903],6378136.2:4032,6378136.3:4033,6378249.144808011:[4034,4241],20922931.8:[4042,4243],6377301.243:[4044,4145,37203],6377299.151:[4045,4146],6377019.27:[4657,10256,10260,10265],6378306.3696:[4748,4752],6377295.664:[4751,37006],6378136.5:[7682,7683],6371008.7714:104047,6378418.941:[104700,104726,104760],6378586.581:[104701,104743],6378505.809:104702,6378544.823:104703,6378490.569:104704,6378470.757:[104705,104776],6378403.701:[104706,104750],6378434.181:[104707,104724,104739,104764],6378454.907:104708,6378400.653:104709,6378567.378:104710,6378546.957:[104711,104717,104780],6378476.853:[104712,104736],6378411.321:[104713,104728],6378647.541:[104714,104715],6378514.953:[104716,104782],6378421.989:[104718,104770],6378481.425:[104719,104753,104774,104781],6378518.001:[104720,104725],6378521.049:[104721,104723,104731,104745,104748],6378464.661:104722,6378436.619:104727,6378574.389:[104729,104730],6378472.281:[104732,104756],6378498.189:[104733,104746],6378449.421:[104734,104766],6378525.621:[104735,104754],6378466.185:104737,6378496.665:104738,6378643.579:104740,6378559.758:104741,6378414.369:[104742,104763,104772],6378441.801:104744,6378502.761:[104747,104759,104773,104775],6378617.061:104749,6378624.681:[104751,104765],6378468.623:104752,6378445.763:[104755,104758,104761],6378670.401:104757,6378438.753:104762,6378543.909:104767,6378605.783:104768,6378540.861:104769,6378443.325:[104771,104784],6378548.481:104777,6378463.746:104778,6378426.561:104779,6378453.688:104783,6378530.193:104785,6378376.271:[104800,104828],6378471.92:104801,6378472.931:104802,6378411.351:104803,6378380.991:104805,6378414.96:104806,6378345.09:[104807,104819,104844,104870],6378412.542:104808,6378470.401:104809,6378376.331:104810,6378379.031:104811,6378407.621:104812,6378376.811:[104813,104827],6378313.92:104814,6378414.93:104815,6378413.021:104816,6378380.381:104817,6378530.851:104818,6378591.521:104820,6378378.881:104821,6378408.481:[104822,104832],6378375.601:[104823,104838],6378408.041:104824,6378655.071:104825,6378409.151:104826,6378315.7:[104829,104840,104845,104851],6378285.86:[104830,104835,104859],6378379.301:104831,6378560.121:104833,6378531.821:104834,6378500.6:104836,6378376.041:104837,6378406.601:104839,6378438.991:104841,6378345.42:104842,6378593.86:104843,6378381.271:[104846,104847],6378413.671:104848,6378344.377:104849,6378563.891:104850,6378408.091:104852,6378377.671:104853,6378472.751:104854,6378412.511:104855,6378407.281:104856,6378534.451:104857,6378406.051:104858,6378532.921:104860,6378380.091:104861,6378408.941:104862,6378624.171:104863,6378377.411:104864,6378474.591:104865,6378407.141:104866,6378376.871:104867,6378375.251:104868,6378405.971:104869,6378437.651:104871};function is(){for(const e in rs)delete rs[e]}class os extends ns{constructor(e){if("number"==typeof e)return super(),this.m_factor=e,void(this.m_wkid=0);super(e)}getUnitType(){return 1}convertFromRadians(e){return e/this.getUnitToBaseFactor()}convertToRadians(e){return e*this.getUnitToBaseFactor()}}function as(e){return new bu}function hs(e){return e.getType()===bc.PE_TYPE_LINUNIT?new bu(e):e.getType()===bc.PE_TYPE_ANGUNIT?new os(e):void t("peUnit")}function ms(e){const s=Hc(null);return e.getType()===bc.PE_TYPE_PROJCS||e.getType()===bc.PE_TYPE_GEOGCS?s.reset(e.getUnit()):t("PE_coord_sys"),s.get()||i("cannot create units from coord sys"),hs(s.get())}class ls{constructor(e,s,n){void 0===e?(this.x=new At,this.y=new At,this.z=new At):e instanceof Re?(this.x=new At(e.x),this.y=new At(e.y),this.z=new At(e.z)):e instanceof At?(this.x=e.clone(),this.y=s.clone(),this.z=n.clone()):t("EPoint3D constructor")}dotProduct(e){return this.x.mulE(e.x).addE(this.y.mulE(e.y)).addE(this.z.mulE(e.z))}crossProduct(e){return new ls(this.y.mulE(e.z).subE(this.z.mulE(e.y)),this.z.mulE(e.x).subE(this.x.mulE(e.z)),this.x.mulE(e.y).subE(this.y.mulE(e.x)))}crossProductVector(e){const t=this.y.mulE(e.z).subE(e.y.mulE(this.z)),s=e.x.mulE(this.z).subE(this.x.mulE(e.z)),n=this.x.mulE(e.y).subE(e.x.mulE(this.y));return new ls(t,s,n)}sqrLength(){return this.x.mulE(this.x).addE(this.y.mulE(this.y)).addE(this.z.mulE(this.z))}length(){return this.sqrLength().sqrt()}static distance(e,t){return e.sub(t).length()}negate(){return new ls(this.x.negate(),this.y.negate(),this.z.negate())}add(e){return new ls(this.x.addE(e.x),this.y.addE(e.y),this.z.addE(e.z))}sub(e){return new ls(this.x.subE(e.x),this.y.subE(e.y),this.z.subE(e.z))}subThis(e){return this.x.subThisE(e.x),this.y.subThisE(e.y),this.z.subThisE(e.z),this}addThis(e){return this.x.addThisE(e.x),this.y.addThisE(e.y),this.z.addThisE(e.z),this}mul(e){return new ls(this.x.mulE(e),this.y.mulE(e),this.z.mulE(e))}div(e){return new ls(this.x.divE(e),this.y.divE(e),this.z.divE(e))}eq(e){return this.x.eq(e.x)&&this.y.eq(e.y)&&this.z.eq(e.z)}isZero(){return this.x.isZero()&&this.y.isZero()&&this.z.isZero()}value(){return Re.construct(this.x.value(),this.y.value(),this.z.value())}}class gs{constructor(e){if(this.m_origin=new Re,this.m_normal=new Re,this.m_axisX=new Re,this.m_axisY=new Re,!e)return this.m_origin=new Re,this.m_normal=new Re(0,0,1),this.m_axisX=new Re(1,0,0),void(this.m_axisY=new Re(0,1,0));e.pt0&&e.pt1&&e.pt2?this.setFromPoints(e.pt0,e.pt1,e.pt2):a(0,`unimplemented constructor options ${JSON.stringify(e)}`)}assign(e){return a(0),this}set(e,t,s,n){a(0)}setFromPoints(e,t,s){let n=t.sub(e);const r=s.sub(e);this.m_normal=n.crossProductVector(r);let i=!0;if(this.m_normal.isZero()){if(i=!1,n.isZero()&&(n=r),n.isZero()){const t=0,s=1;return this.m_normal.setCoords(t,t,s),this.m_axisX.setCoords(s,t,t),this.m_axisY.setCoords(t,s,t),this.m_origin=e,!1}this.m_axisX=n.getUnitVector(),this.m_normal=this.m_axisX.createAPerpendicular()}else this.m_normal.normalizeThis(),this.m_axisX=n.getUnitVector();return this.m_axisY=this.m_normal.crossProductVector(this.m_axisX),this.m_origin=e,i}getCoord(e,t){return a(0),{}}getCoord2D(e){return a(0),{}}getCoordX(e,t){return a(0),0}getCoordY(e,t){return a(0),0}getCoordZ(e,t){return a(0),0}setPreferredAxisX(e){a(0)}getOrigin(){return a(0),{}}getNormal(){return a(0),{}}getAxisX(){return this.m_axisX.clone()}getAxisY(){return this.m_axisY.clone()}setAxisX(e,t=!1){a(0)}setAxisY(e,t=!1){a(0)}recalculateAxisY(){a(0)}setOrigin(e){a(0)}setNormal(e,t){a(0)}intersect(e,t){return a(0),!1}intersectLine(e){return a(0),0}intersectLineEx(e,t){return a(0),0}closestCoordinate(e){const t=e.sub(this.m_origin),s=new Qe;return s.x=t.dotProduct(this.m_axisX),s.y=t.dotProduct(this.m_axisY),s}projectVector(e){return a(0),{}}signedDistance(e){return a(0),0}distance(e){return a(0),0}}function us(e,t){return!1}function cs(e,t,s,n,r=100,i=us){let o,h,m,l,g,u,c,_,d;a(n>0);let p,f,x,y=0,P=0;const E=Yt();t>s&&(s=rt(t,t=s));const S=e(t),C=e(s);S<C?(o=h=m=t,l=g=u=S):(o=h=m=s,l=g=u=C);let I=0;for(;I<r&&(x=.5*(s-t),d=t+x,p=n*(Math.abs(o)+.25),f=2*p,!(i(o,l)||Math.abs(o-d)<=f-x));++I){if(Math.abs(P)>p){const e=(o-h)*(l-u);let n=(o-m)*(l-g),r=(o-m)*n-(o-h)*e;n=2*(n-e),n>0&&(r=-r),n=Math.abs(n);const i=P;P=y,Math.abs(r)>=Math.abs(n*i*.5)||r<=n*(t-o)||r>=n*(s-o)?(P=o>=d?t-o:s-o,y=Yt()*P):(y=r/n,_=o+y,(_-t<f||s-_<f)&&(y=d-o<0?-Math.abs(p):Math.abs(p)))}else P=o>=d?t-o:s-o,y=P*E;_=o+y,c=e(_),c<l?(_>=o?t=o:s=o,m=h,h=o,o=_,u=g,g=l,l=c):(_<o?t=_:s=_,c<=g||h===o?(m=h,h=_,u=g,g=c):(c<=u||m===o||m===h)&&(m=_,u=c))}return mt(o,l)}function _s(e,t,s){if(e>s){e-=Math.ceil((e-s)/Lt)*Lt}else if(e<t){e+=Math.ceil((t-e)/Lt)*Lt}return e}function ds(e,t,s){return ps(e,t,s,0)}function ps(e,t,s,n){const r=s.x,i=s.y;return xs(e,t,Math.cos(r),Math.sin(r),Math.cos(i),Math.sin(i),n)}function fs(e,t,s,n,r,i){return xs(e,t,s,n,r,i,0)}function xs(e,t,s,n,r,i,o){const a=e/Math.sqrt(1-t*i*i),h=a+o,m=h*r*s,l=h*r*n,g=(a*(1-t)+o)*i;return Re.construct(m,l,g)}function ys(e,t,s){const n=new At,r=new At,i=new At,o=new At;n.setCos(s.x),r.setSin(s.x),i.setCos(s.y),o.setSin(s.y);const a=o.negate().mulE(o.mul(t)).add(1).sqrt(),h=new At(e).divE(a),m=h.mulE(i).mulE(n),l=h.mulE(i).mulE(r),g=h.mul(1-t).mulE(o);return new ls(m,l,g)}function Ps(e,t,s){const n=s.x,r=s.y,i=s.z,o=Math.atan2(r,n),a=Math.sqrt(n*n+r*r),h=Math.atan2(i,(1-t)*a);return Qe.construct(o,h)}function Es(e,t,s){const n=1-t,r=e/Math.sqrt(ut(s.x)+ut(s.y)+ut(s.z)/n);return s.mul(r)}function Ss(e,t,s,n,r){const i=ds(e,t,s),o=ds(e,t,n);return Ps(e,t,Re.lerp(i,o,r))}function Cs(e,t,s){const n=new Re;return n.setCrossProductVector(t,s),Math.abs(Math.atan2(n.length(),t.dotProduct(s)))*e}function Is(e,t,s,n,r){const i=s.getUnitVector(),o=n.getUnitVector(),a=t.getUnitVector(),h=new Re;if(h.setCrossProductVector(i,o),!h.isZero()){h.normalizeThis();const t=a.sub(h.mul(h.dotProduct(a)));if(!t.isZero()){t.normalizeThis();const s=i.add(o).mul(.5);if(s.dotProduct(t)>s.dotProduct(i)){const s=Math.abs(h.dotProduct(a)),n=Math.asin(s);return r.assign(t.getUnitVector().mul(e)),n*e}}}const m=Cs(1,i,a),l=Cs(1,o,a);return m<=l?(r.assign(s),m*e):(r.assign(n),l*e)}function bs(e,t,s,n){const r={stack:[],error:void 0,hasError:!1};try{const i=zt(r,new Cc,!1);return Dc.geodeticDistance(e,t,s.x,s.y,n.x,n.y,i,null,null,bc.PE_LINETYPE_GEODESIC),i.val}catch(i){r.error=i,r.hasError=!0}finally{Wt(r)}}function ws(e,t,s,n,r){switch(a(s.isFinite()&&n.isFinite()),r){case 0:return bs(e,t,s,n);case 1:return Ts(e,t,s);case 2:case 3:{const r=ds(e,t,s),i=ds(e,t,n);return Re.distance(r,i)}default:u("")}}function vs(e,t,s,n,r,i=0,o){if(2===i||3===i)return Ns(e,t,s,n,r,3===i,o);const a=Ps(e,t,s),h=s=>{const o=Ps(e,t,Re.lerp(n,r,s));return ws(e,t,a,o,i)},m=Re.distance(n,r);if(m>0){const s=Os(e,m),{first:i,second:a}=cs(h,0,1,s);return o&&o.assign(Es(e,t,Re.lerp(n,r,i))),mt(i,a)}{const e=h(0);return o&&o.assign(n),mt(.5,e)}}function Ns(e,t,s,n,r,i=!1,o){const a=Es(e,t,s);if(i){const i=new gs({pt0:new Re(0,0,0),pt1:n,pt2:r}),h=i.closestCoordinate(s),m=i.closestCoordinate(n),l=i.closestCoordinate(r),g=Qe.getClosestCoordinate(m,l,h),u=Es(e,t,Re.lerp(n,r,g)),c=Re.distance(u,a);return o&&o.assign(u),mt(g,c)}const h=s=>{const i=Es(e,t,Re.lerp(n,r,s));return Re.distance(i,a)},m=Re.distance(n,r);if(m>0){const s=Os(e,m),{first:i,second:a}=cs(h,0,1,s);return o&&o.assign(Es(e,t,Re.lerp(n,r,i))),mt(i,a)}{const e=Re.distance(s,n);return o&&o.assign(s),mt(.5,e)}}function Ts(e,t,s,n){const r={stack:[],error:void 0,hasError:!1};try{const n=zt(r,new Cc,!1);return Dc.greatEllipticDistance(e,t,s.x,s.y,s.x,s.y,n,null,null),n.val}catch(i){r.error=i,r.hasError=!0}finally{Wt(r)}}function Gs(e,t,s,n,r){if(Math.abs(s.x-n.x)>Math.PI)return Number.NaN;if(Math.abs(s.y)>Ct||Math.abs(n.y)>Ct)return Number.NaN;if((Math.abs(s.y)===Ct||Math.abs(n.y)===Ct)&&s.x!==n.x)return Number.NaN;const{first:i,second:o}=kt(s.x,n.x);let a=r;a=_s(a,i,o);if(!at.construct(s.x,n.x).containsCoordinate(a))return Number.NaN;const h=J.constructPoint2D(s),m=J.constructPoint2D(n),l=ys(1,t,h),g=ys(1,t,m),u=l.crossProductVector(g);if(u.z.isZero()){return s.y}const c=u.x.divE(u.z.negate()),_=u.y.divE(u.z.negate()),d=c.mulE(c).addE(_.mulE(_)).sqrt();if(d.isZero()||c.isZero()&&_.isZero()){return s.y}const p=Math.atan2(_.value(),c.value());let f=Math.atan2(d.value()*Math.cos(p-a),1-t);const x=ds(1,t,Qe.construct(a,f)),y=Re.construct(x.x,x.y,-x.z),P=u.value().dotProduct(x),E=u.value().dotProduct(y);return Math.abs(E)<Math.abs(P)&&(f=-f),f}function Ds(e,t,s,n,r,i){if(i[0]=Number.NaN,i[1]=Number.NaN,Math.abs(s.x-n.x)>Math.PI)return 0;if(Math.abs(s.y)>Ct||Math.abs(n.y)>Ct)return 0;if((Math.abs(s.y)===Ct||Math.abs(n.y)===Ct)&&s.x!==n.x)return 0;if(Math.abs(r)>=Ct)return 0;if(s.y>0&&n.y>0&&s.y>r&&n.y>r||s.y<0&&n.y<0&&s.y<r&&n.y<r)return 0;const o=J.constructPoint2D(s),a=J.constructPoint2D(n),h=ys(1,t,o),m=ys(1,t,a),l=h.crossProductVector(m);if(l.z.isZero()){return at.construct(s.y,n.y).containsCoordinate(r)?(i[0]=s.x,1):0}const g=l.x.divE(l.z.negate()),u=l.y.divE(l.z.negate()),c=g.mulE(g).addE(u.mulE(u)).sqrt();if(c.isZero()||g.isZero()&&u.isZero())return 0===r?(i[0]=s.x,i[1]=n.x,2):0;const _=(1-t)*Math.tan(r)/c.value();if(Math.abs(_)>1)return 0;const d=Math.acos(_),p=Math.atan2(u.value(),g.value()),f=p-d;let x=p+d;const y=Math.min(s.x,n.x),P=Math.max(s.x,n.x);_s(f,y,P),0!==r?_s(x,y,P):x=f;let E=0;return y<=f&&f<=P&&(i[E]=f,E++),x!==f&&y<=x&&x<=P&&(i[E]=x,E++),E}function Vs(e,t){t[0]>.5*Math.PI?(e[0]+=Math.PI,t[0]=Math.PI-t[0]):t[0]<.5*-Math.PI&&(e[0]-=Math.PI,t[0]=-Math.PI-t[0]),a(t[0]>=.5*-Math.PI&&t[0]<=.5*Math.PI)}function Fs(e,t){return e*Math.sqrt(1-t)}function Hs(e){return 1-e}function ks(e,t,s,n,r){n=It(n,-Ct,Ct),r=It(r,-Ct,Ct);const i=Ct-.03;let o;o=n>i&&r>i||n<-i&&r<-i?As(e,n,r):Ms(e,r)-Ms(e,n);return.5*(s-t)*o*Hs(e)}function As(e,t,s){let n=1;if(t<0&&(n=-1,t=-t,s=-s),0!==e){const r=e*e,i=r*e,o=[1,(1+11*e)/12,(1+118*e+241*r)/360,(1+1089*e+10419*r+8651*i)/20160,(1+9836*e+318246*r+1027436*i+458881*(i*e))/1814400],a=t=>{let s=0;const n=ut(t)/(e-1);for(let e=o.length-1;e>=0;--e)s=o[e]+s*n;return s*=-ut(t/(1-e)),s},h=a(Ct-t);return(a(Ct-s)-h)*n}{const e=Ct-t,r=Ct-s,i=-4*ut(Math.sin(e/2));return(-4*ut(Math.sin(r/2))-i)*n}}function Ms(e,t){if(0===t)return 0;const s=Math.sin(t);let n=s,r=s;if(0!==e){n/=1-e*s*s;const t=Math.sqrt(e);r=s*Rt(t*s)}return n+r}function Us(e,t){return e/Math.sqrt(1-t)}function qs(e,t){return(1-t)*e}function Bs(e,t,s){const n=s/(2*qs(e,t)),r=n*n;return s*(1-r*(.16666666666666666-.008333333333333333*r))}function Os(e,t){if(0!==t){const s=e*Ot()/t;return Math.min(s,1e-10)}return 0}class Ys{constructor(e){this.m_currentShift=63n,this.m_currentElt=0n,this.m_iCurrentElt=-1,this.m_parent=e,this.m_aiSetElts=e.m_bits.flatMap(((e,t)=>t))}next(){if(this.m_currentShift++,64n===this.m_currentShift){if(this.m_iCurrentElt++,this.m_iCurrentElt===this.m_aiSetElts.length)return Ys.npos();this.m_currentShift=0n,this.m_currentElt=this.m_parent.m_bits[this.m_aiSetElts[this.m_iCurrentElt]]}for(;this.m_currentShift<63n&&!(this.m_currentElt&1n<<this.m_currentShift);)this.m_currentShift++;return this.m_currentElt&1n<<this.m_currentShift?64*this.m_aiSetElts[this.m_iCurrentElt]+Number(this.m_currentShift):this.next()}static npos(){return Number.MAX_SAFE_INTEGER}}function Rs(e){return 1n<<(0x3fn&BigInt(e))}function Xs(e){return e>>6}class Ls{constructor(e){this.m_bits=[],void 0!==e&&e.copy&&(this.m_bits=e.copy.m_bits.slice())}assignMove(){return this}assignCopy(){return this}hasBit(e){const t=Rs(e),s=Xs(e);return void 0!==this.m_bits[s]&&!!(this.m_bits[s]&t)}setBit(e){const t=Rs(e),s=Xs(e);void 0===this.m_bits[s]&&(this.m_bits[s]=0n),this.m_bits[s]|=t}clearBit(e){}flipBit(e){const t=Rs(e),s=Xs(e);return void 0===this.m_bits[s]&&(this.m_bits[s]=0n),this.m_bits[s]^=t,0n!==(this.m_bits[s]&t)}clear(){this.m_bits.length=0}isZero(){let e=0;return this.m_bits.forEach((t=>{e|=t?2:1})),!(2&e)}equals(e){if(this===e)return!0;if(this.m_bits.length!==e.m_bits.length)return!1;let t=0;return this.m_bits.forEach(((s,n)=>{t|=s===e.m_bits[n]?2:1})),!(1&t)&&(e.m_bits.forEach(((e,s)=>{t|=e===this.m_bits[s]?2:1})),!(1&t))}notEquals(e){return!this.equals(e)}assignOr(e){return e.m_bits.forEach(((e,t)=>{void 0===this.m_bits[t]?this.m_bits[t]=e:this.m_bits[t]|=e})),this}assignSubtract(e){return e.m_bits.forEach(((e,t)=>{void 0!==this.m_bits[t]&&(this.m_bits[t]&=~e)})),this}assignAnd(e){return e.m_bits.forEach(((e,t)=>{void 0!==this.m_bits[t]&&(this.m_bits[t]&=e)})),this}assignXor(e){return e.m_bits.forEach(((e,t)=>{void 0===this.m_bits[t]?this.m_bits[t]=e:this.m_bits[t]^=e})),this}getHashCode(){return this.m_bits.reduce(((e,t)=>Pt(e,t)),Ze(0))}getUnorderedBitIterator(){return new Ys(this)}}class zs{constructor(e,t){this.m_map=new Map,this.m_hf=e,this.m_ef=t}add(e){const t=this.m_hf(e);if(!this.m_map.has(t))return this.m_map.set(t,e),this;const s=this.m_map.get(t);return s instanceof Array?s.find((t=>this.m_ef(t,e)))||s.push(e):this.m_ef(s,e)||this.m_map.set(t,[s,e]),this}clear(){this.m_map.clear()}delete(e){return!1}has(e){const t=this.m_hf(e);if(!this.m_map.has(t))return!1;const s=this.m_map.get(t);return s instanceof Array?void 0!==s.find((t=>this.m_ef(t,e))):this.m_ef(s,e)}get(e){const t=this.m_hf(e),s=this.m_map.get(t);if(void 0!==s)return s instanceof Array?s.find((t=>this.m_ef(t,e))):s}get size(){let e=0;for(const t of this.m_map.values())e+=t instanceof Array?t.length:1;return e}forEach(e,t){}[Symbol.iterator](){return(new Set)[Symbol.iterator]()}entries(){return(new Set).entries()}keys(){return(new Set).keys()}values(){return(new Set).values()}get[Symbol.toStringTag](){return"ValueSet"}}class Ws extends Ye{constructor(e){super(),this.m_bufferLeft=new F,this.m_bufferRight=new F,this.m_intervalLeft=at.constructEmpty(),this.m_intervalRight=at.constructEmpty(),this.m_yScanline=Number.NaN,this.m_helper=e}compare(e,t,s){const n=t,r=e.getElement(s);this.m_helper.querySegmentXY(n,this.m_bufferLeft),this.m_helper.querySegmentXY(r,this.m_bufferRight);const i=this.m_bufferLeft.get(),o=this.m_bufferRight.get();if(this.m_intervalLeft.setCoords(i.getStartX(),i.getEndX()),this.m_intervalRight.setCoords(o.getStartX(),o.getEndX()),this.m_intervalLeft.vmax<this.m_intervalRight.vmin)return-1;if(this.m_intervalLeft.vmin>this.m_intervalRight.vmax)return 1;const a=i.getStartY()===i.getEndY(),h=o.getStartY()===o.getEndY();if(a||h){if(a&&h)return 0;if(i.getStartY()===o.getStartY()&&i.getStartX()===o.getStartX())return a?1:-1;if(i.getEndY()===o.getEndY()&&i.getEndX()===o.getEndX())return a?-1:1}let m=i.intersectionOfYMonotonicWithAxisX(this.m_yScanline,this.m_intervalLeft.vmin),l=o.intersectionOfYMonotonicWithAxisX(this.m_yScanline,this.m_intervalRight.vmin);if(m===l){const e=i.getEndY(),t=o.getEndY(),s=Math.min(e,t);let n=.5*(s+this.m_yScanline);n===this.m_yScanline&&(n=s),m=i.intersectionOfYMonotonicWithAxisX(n,this.m_intervalLeft.vmin),l=o.intersectionOfYMonotonicWithAxisX(n,this.m_intervalRight.vmin)}return m<l?-1:m>l?1:0}setY(e){this.m_yScanline=e}}class js{constructor(e){this.m_segmentBuffer=new F,this.m_point=Qe.getNAN(),this.m_parent=e}setPointXY(e){this.m_point.assign(e)}compare(e,t){const s=e.getElement(t);this.m_parent.querySegmentXY(s,this.m_segmentBuffer);const n=this.m_segmentBuffer.get(),r=new at;if(r.setCoords(n.getStartX(),n.getEndX()),this.m_point.x<r.vmin)return-1;if(this.m_point.x>r.vmax)return 1;const i=n.intersectionOfYMonotonicWithAxisX(this.m_point.y,this.m_point.x);return this.m_point.x<i?-1:this.m_point.x>i?1:0}}var Zs,Ks;function Qs(e,t){return{parentage:e,rank:t}}function Js(e,t){const s=e.length;if(s!==t.length)return!1;const n=e[0].parentage;if(n!==t[0].parentage)return!1;if(-1===n)return!0;for(let r=1;r<s;++r)if(e[r].parentage!==t[r].parentage)return!1;return!0}function $s(e,t,s){s.length=0;let n=!1;{let r=e.getHalfEdgeVertexIterator(t);for(;r!==M;){const t=e.getVertexFromVertexIterator(r),i=e.getShape().getSegmentRank(t),o=e.getShape().getSegmentParentage(t);n||=o>=0,s.push(Qs(o,i)),r=e.incrementVertexIterator(r)}}{let r=e.getHalfEdgeVertexIterator(e.getHalfEdgeTwin(t));for(;r!==M;){const t=e.getVertexFromVertexIterator(r),i=e.getShape().getSegmentRank(t),o=e.getShape().getSegmentParentage(t);n||=o>=0,s.push(Qs(o,i)),r=e.incrementVertexIterator(r)}}n&&s.sort(((e,t)=>e.rank>t.rank?-1:e.rank<t.rank?1:e.parentage<t.parentage?-1:e.parentage>t.parentage?1:0)),-1===s[0].parentage&&(s.length=1)}function en(){return new zs((e=>e.getHashCode()),((e,t)=>e.equals(t)))}!function(e){e[e.enumInputModeBuildGraph=0]="enumInputModeBuildGraph",e[e.enumInputModeSimplifyAlternate=1]="enumInputModeSimplifyAlternate",e[e.enumInputModeSimplifyWinding=2]="enumInputModeSimplifyWinding"}(Zs||(Zs={})),function(e){e[e.enumSegmentParentageBreakNode=1]="enumSegmentParentageBreakNode",e[e.enumPathBreakNode=2]="enumPathBreakNode"}(Ks||(Ks={}));class tn{constructor(){this.m_shape=null,this.m_clusterData=new Be(8),this.m_clusterVertices=new Be(2),this.m_firstCluster=M,this.m_lastCluster=M,this.m_halfEdgeData=new Be(8),this.m_chainData=new Be(8),this.m_chainAreas=null,this.m_chainPerimeters=null,this.m_universeChain=-1,this.m_simplifiedGeometry=-1,this.m_edgeIndices=[],this.m_clusterIndices=[],this.m_chainIndices=[],this.m_bBuildGeometryParentageSets=!1,this.m_chainBitSetIndex=-1,this.m_edgeBitSetIndex=-1,this.m_edgeBitSetIndexLeft=-1,this.m_emptyBitSet=null,this.m_geometryMapID=null,this.m_uniqueBitSets=null,this.m_chainBitSets=[],this.m_edgeBitSets=[],this.m_checkDirtyPlanesweepTolerance=Number.NaN,this.m_geometryIDIndex=-1,this.m_clusterIndex=-1,this.m_halfEdgeIndex=-1,this.m_tmpHalfEdgeParentageIndex=-1,this.m_tmpHalfEdgeParentageIndexLeft=-1,this.m_tmpHalfEdgeWindingNumberIndex=-1,this.m_tmpHalfEdgeOddEvenNumberIndex=-1,this.m_segmentParentageIndex=-1,this.m_segmentIndexHe=-1,this.m_clusterBreakNodeIndex=-1,this.m_universeGeomID=-1,this.m_pointCount=0,this.m_progressCounter=0,this.m_bBuildChains=!0,this.m_bDirtyCheckFailed=!1}setCheckDirtyPlanesweepTolerance(e){this.m_checkDirtyPlanesweepTolerance=e}dirtyCheckFailed(){return this.m_bDirtyCheckFailed}getShape(){return this.m_shape}setEditShape(e,t,s=!0,n=!1){n?this.setEditShapeImpl3D_(e,Zs.enumInputModeBuildGraph,null,t,!1):this.setEditShapeImpl_(e,Zs.enumInputModeBuildGraph,null,t,s)}setAndSimplifyEditShapeAlternate(e,t,s=null,r=!1){const i=[];i.push(t),this.m_simplifiedGeometry=t,r?this.setEditShapeImpl3D_(e,Zs.enumInputModeSimplifyAlternate,i,s,!1):this.setEditShapeImpl_(e,Zs.enumInputModeSimplifyAlternate,i,s,e.getGeometryType(t)===n.enumPolygon)}setAndSimplifyEditShapeWinding(e,t,s=null){const n=[];n.push(t),this.m_simplifiedGeometry=t,this.setEditShapeImpl_(e,Zs.enumInputModeSimplifyWinding,n,s,!0)}removeShape(){null!==this.m_shape&&(-1!==this.m_geometryIDIndex&&(this.m_shape.removeGeometryUserIndex(this.m_geometryIDIndex),this.m_geometryIDIndex=-1),-1!==this.m_clusterIndex&&(this.m_shape.removeUserIndex(this.m_clusterIndex),this.m_clusterIndex=-1),-1!==this.m_halfEdgeIndex&&(this.m_shape.removeUserIndex(this.m_halfEdgeIndex),this.m_halfEdgeIndex=-1),-1!==this.m_tmpHalfEdgeParentageIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndex),this.m_tmpHalfEdgeParentageIndex=-1),-1!==this.m_tmpHalfEdgeParentageIndexLeft&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndexLeft),this.m_tmpHalfEdgeParentageIndexLeft=-1),-1!==this.m_tmpHalfEdgeWindingNumberIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeWindingNumberIndex),this.m_tmpHalfEdgeWindingNumberIndex=-1),-1!==this.m_tmpHalfEdgeOddEvenNumberIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeOddEvenNumberIndex),this.m_tmpHalfEdgeOddEvenNumberIndex=-1),-1!==this.m_segmentParentageIndex&&(this.deleteUserIndexForHalfEdges(this.m_segmentParentageIndex),this.m_segmentParentageIndex=-1),-1!==this.m_segmentIndexHe&&(this.deleteUserIndexForHalfEdges(this.m_segmentIndexHe),this.m_segmentIndexHe=-1),-1!==this.m_clusterBreakNodeIndex&&(this.deleteUserIndexForClusters(this.m_clusterBreakNodeIndex),this.m_clusterBreakNodeIndex=-1),this.deleteEdgeBitSets_(),this.deleteChainBitSets_(),this.m_emptyBitSet=null,this.m_geometryMapID=null,this.m_shape=null,this.m_clusterData.deleteAll(!0),this.m_clusterVertices.deleteAll(!0),this.m_firstCluster=M,this.m_lastCluster=M,this.m_halfEdgeData.deleteAll(!0),this.m_edgeIndices.length=0,this.m_clusterIndices.length=0,this.m_chainIndices.length=0,this.m_chainData.deleteAll(!0),this.m_universeChain=M,this.m_chainAreas=null)}getClusterHalfEdge(e){return this.m_clusterData.getField(e,2)}queryXY(e,t){const s=this.getClusterVertexIndex_(e);t.assign(this.m_shape.getXYWithIndex(s))}queryXYZ(e,t){a(0)}getClusterParentage(e){return this.m_clusterData.getField(e,1)}getFirstCluster(){return this.m_firstCluster}getPrevCluster(e){return this.m_clusterData.getField(e,3)}getNextCluster(e){return this.m_clusterData.getField(e,4)}getClusterChain(e){return this.m_clusterData.getField(e,6)}getClusterVertexIterator(e){return this.m_clusterData.getField(e,7)}incrementVertexIterator(e){return this.m_clusterVertices.getField(e,1)}getVertexFromVertexIterator(e){return this.m_clusterVertices.getField(e,0)}getClusterUserIndex(e,t){const s=this.getClusterIndex_(e),n=this.m_clusterIndices[t];return n.size()<=s?-1:n.read(s)}setClusterUserIndex(e,t,s){const n=this.getClusterIndex_(e),r=this.m_clusterIndices[t];r.size()<=n&&r.resize(this.m_clusterData.size(),-1),r.write(n,s)}hasClusterUserIndexFlags(e,t,s){if(-1===t)return!1;const n=this.getClusterUserIndex(e,t);return-1!==n&&0!==(s&n)}setClusterUserIndexFlags(e,t,s){const n=this.getClusterIndex_(e),r=this.m_clusterIndices[t];r.size()<=n&&r.resize(this.m_clusterData.size(),-1);let i=r.read(n);-1===i&&(i=0),r.write(n,s|i)}clearClusterUserIndexFlags(e,t,s){const n=this.getClusterIndex_(e),r=this.m_clusterIndices[t];r.size()<=n&&r.resize(this.m_clusterData.size(),-1);let i=r.read(n);-1===i&&(i=0),r.write(n,~s&i)}createUserIndexForClusters(e=-1){const t=new Ce(this.m_clusterData.capacity(),e);for(let s=0,n=this.m_clusterIndices.length;s<n;s++)if(null===this.m_clusterIndices[s])return this.m_clusterIndices[s]=t,s;this.m_clusterIndices.push(t);return this.m_clusterIndices.length-1}deleteUserIndexForClusters(e){this.m_clusterIndices[e]=null}getHalfEdgeOrigin(e){return this.m_halfEdgeData.getField(e,1)}getHalfEdgeTo(e){return this.getHalfEdgeOrigin(this.getHalfEdgeTwin(e))}getHalfEdgeTwin(e){return this.m_halfEdgeData.getField(e,4)}getHalfEdgePrev(e){return this.m_halfEdgeData.getField(e,5)}getHalfEdgeNext(e){return this.m_halfEdgeData.getField(e,6)}getHalfEdgeChain(e){return this.m_halfEdgeData.getField(e,2)}getHalfEdgeFaceParentage(e){return this.getChainParentage(this.getHalfEdgeChain(e))}getHalfEdgeVertexIterator(e){return this.m_halfEdgeData.getField(e,7)}getHalfEdgeFromXY(e,t){this.queryXY(this.getHalfEdgeOrigin(e),t)}getHalfEdgeToXY(e,t){this.queryXY(this.getHalfEdgeTo(e),t)}isHalfEdgeCurve(e){if(-1!==this.m_segmentIndexHe){return-1!==this.getHalfEdgeUserIndex(e,this.m_segmentIndexHe)}return!1}getHalfEdgeFromXYZ(e,t){a(0)}getHalfEdgeToXYZ(e,t){a(0)}getHalfEdgeParentage(e){return this.m_halfEdgeData.getField(e,3)&tn.c_EdgeParentageMask}getHalfEdgeUserIndex(e,t){const s=this.getHalfEdgeIndex_(e),n=this.m_edgeIndices[t];return n.size()<=s?-1:n.read(s)}setHalfEdgeUserIndex(e,t,s){const n=this.getHalfEdgeIndex_(e),r=this.m_edgeIndices[t];r.size()<=n&&r.resize(this.m_halfEdgeData.size(),-1),r.write(n,s)}createUserIndexForHalfEdges(e){void 0===e&&(e=-1);const t=new Ce(this.m_halfEdgeData.capacity(),e);for(let n=0,r=this.m_edgeIndices.length;n<r;n++)if(null===this.m_edgeIndices[n])return this.m_edgeIndices[n]=t,n;this.m_edgeIndices.push(t);const s=this.m_edgeIndices.length-1;return a(s>=0&&s<=Number.MAX_SAFE_INTEGER),s}deleteUserIndexForHalfEdges(e){this.m_edgeIndices[e]=null}deleteEdgesBreakFaces_(e){for(let t=0,s=e.length;t<s;t++){const s=e[t],n=this.getHalfEdgeChain(s),r=this.getHalfEdgeTwin(s),i=this.getHalfEdgeChain(r);this.setChainHalfEdge_(n,M),this.setChainHalfEdge_(i,M),this.updateVertexToHalfEdgeConnection_(s,!0),this.deleteEdgeImpl_(s)}}doesHalfEdgeBelongToAPolygonInterior(e,t){return a(0),!1}doesHalfEdgeBelongToAPolygonExterior(e,t){return a(0),!1}doesHalfEdgeBelongToAPolygonBoundary(e,t){return a(0),!1}doesHalfEdgeBelongToAPolylineInterior(e,t){return a(0),!1}doesHalfEdgeBelongToAPolylineExterior(e,t){return a(0),!1}doesClusterBelongToAPolygonInterior(e,t){return a(0),!1}doesClusterBelongToAPolygonExterior(e,t){return a(0),!1}doesClusterBelongToAPolygonBoundary(e,t){return a(0),!1}getFirstChain(){return this.m_universeChain}getChainHalfEdge(e){return this.m_chainData.getField(e,1)}getChainParentage(e){return this.m_chainData.getField(e,2)}getChainParent(e){return this.m_chainData.getField(e,3)}getChainFirstIsland(e){return this.m_chainData.getField(e,4)}getChainNextInParent(e){return this.m_chainData.getField(e,5)}getChainNext(e){return this.m_chainData.getField(e,7)}getChainArea(e){const t=this.getChainIndex_(e);let s=this.m_chainAreas.read(t);return Number.isNaN(s)&&(this.updateChainAreaAndPerimeter_(e),s=this.m_chainAreas.read(t)),s}getChainPerimeter(e){return a(0),0}getChainUserIndex(e,t){const s=this.getChainIndex_(e),n=this.m_chainIndices[t];return n.size()<=s?-1:n.read(s)}setChainUserIndex(e,t,s){const n=this.getChainIndex_(e),r=this.m_chainIndices[t];r.size()<=n&&r.resize(this.m_chainData.size(),-1),r.write(n,s)}createUserIndexForChains(){const e=new Ce(this.m_chainData.capacity(),-1);for(let t=0,s=this.m_chainIndices.length;t<s;t++)if(null===this.m_chainIndices[t])return this.m_chainIndices[t]=e,t;this.m_chainIndices.push(e);return this.m_chainIndices.length-1}deleteUserIndexForChains(e){this.m_chainIndices[e]=null}extractPolygonFromChainAndIslands(e,t,s,r){const i=t===M?e.createGeometry(n.enumPolygon):t,o=new F;this.extractPolygonPathFromChain_(e,i,s,r,o);for(let n=this.getChainFirstIsland(s);n!==M;n=this.getChainNextInParent(n))this.extractPolygonPathFromChain_(e,i,n,r,o);return i}getGeometryID(e){const t=this.m_shape.getGeometryUserIndex(e,this.m_geometryIDIndex);return a(t>=0),1<<Math.min(t,31)}getClusterFromVertex(e){return this.m_shape.getUserIndex(e,this.m_clusterIndex)}getHalfEdgeFromVertex(e){return this.m_shape.getUserIndex(e,this.m_halfEdgeIndex)}buildGeometryParentageSets(){this.m_bBuildGeometryParentageSets=!0}getChainBitSet(e){if(a(this.m_bBuildGeometryParentageSets),-1===this.m_chainBitSetIndex)return this.getEmptySet();const t=this.getChainUserIndex(e,this.m_chainBitSetIndex);a(t>=0);let s=this.m_chainBitSets.at(t);return s||(s=this.getEmptySet()),s}getChainBoundaryBitSet(e){a(this.m_bBuildGeometryParentageSets);const t=new Ls,s=e=>{const s=this.getChainHalfEdge(e);let n=s;do{const e=this.getEdgeBitSet_(n);null!==e&&t.assignOr(e);const s=this.getEdgeBitSet_(this.getHalfEdgeTwin(n));null!==s&&t.assignOr(s),n=this.getHalfEdgeNext(n)}while(n!==s)};s(e);for(let n=this.getChainFirstIsland(e);n!==M;n=this.getChainNextInParent(n))s(e);return t}getChainPolygons(e){return a(0),[]}getGeometriesFromBits(e){if(!this.m_bBuildGeometryParentageSets||null===e)return[];if(null===this.m_geometryMapID){this.m_geometryMapID=new Map;for(let e=this.m_shape.getFirstGeometry();e!==M;e=this.m_shape.getNextGeometry(e))this.m_geometryMapID.set(this.m_shape.getGeometryUserIndex(e,this.m_geometryIDIndex),e)}const t=[],s=e.getUnorderedBitIterator();for(let n=s.next();n!==Ys.npos();n=s.next())a(this.m_geometryMapID.has(n)),t.push(this.m_geometryMapID.get(n));return t}getVertexDominant(e,t){if(t===M)return e;const s=this.getClusterFromVertex(e);return this.getVertexDominantFromCluster(s,t)}getVertexDominantFromCluster(e,t){if(t!==M){let s=M;for(let n=this.getClusterVertexIterator(e);n!==M;n=this.incrementVertexIterator(n)){const e=this.getVertexFromVertexIterator(n);s===M&&(s=e);const r=this.m_shape.getPathFromVertex(e);if(this.m_shape.getGeometryFromPath(r)===t){s=e;break}}return s}{const t=this.getClusterVertexIterator(e);if(t!==M){return this.getVertexFromVertexIterator(t)}return M}}isBreakNode(e){return this.hasClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumSegmentParentageBreakNode)}setBreakNode(e,t){a(-1!==this.m_clusterBreakNodeIndex),t?this.setClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumSegmentParentageBreakNode):this.clearClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumSegmentParentageBreakNode)}isStrongPathNode(e){return this.hasClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumPathBreakNode)}setStrongPathNode(e,t){if(-1===this.m_clusterBreakNodeIndex){if(!t)return;this.m_clusterBreakNodeIndex=this.createUserIndexForClusters()}t?this.setClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumPathBreakNode):this.clearClusterUserIndexFlags(e,this.m_clusterBreakNodeIndex,Ks.enumPathBreakNode)}getSegmentParentage(e){if(-1===this.m_segmentParentageIndex)return-1;const t=this.getHalfEdgeUserIndex(e,this.m_segmentParentageIndex);return t>=0?t:-1}isCrossroadAhead(e){const t=this.getHalfEdgeNext(e);if(this.isStrongPathNode(this.getHalfEdgeOrigin(t)))return!0;const s=this.getHalfEdgeTwin(t),n=this.getHalfEdgeNext(s);return e!==this.getHalfEdgeTwin(n)}isCrossroadBehind(e){return a(0),!1}getHalfEdgeConnector(e,t){const s=this.getClusterHalfEdge(e);if(s===M)return M;let n=s,r=M,i=M;do{if(this.getHalfEdgeTo(n)===t)return n;if(r===M){if(r=this.getClusterHalfEdge(t),r===M)return M;i=r}if(this.getHalfEdgeTo(i)===e)return n=this.getHalfEdgeTwin(i),n;n=this.getHalfEdgeNext(this.getHalfEdgeTwin(n)),i=this.getHalfEdgeNext(this.getHalfEdgeTwin(i))}while(n!==s&&i!==r);return M}querySegmentXY(e,t){if(-1!==this.m_segmentIndexHe){let s=this.getHalfEdgeUserIndex(e,this.m_segmentIndexHe);if(-1!==s){if(-2!==s){const e=this.m_shape.getSegmentFromIndex(s);t.copyFrom(e,!0)}else{s=this.getHalfEdgeUserIndex(this.getHalfEdgeTwin(e),this.m_segmentIndexHe);const n=this.m_shape.getSegmentFromIndex(s);t.copyFrom(n,!0),t.get().reverse()}return}}t.createLine();const s=t.get(),n=Qe.getNAN();this.getHalfEdgeFromXY(e,n),s.setStartXY(n),this.getHalfEdgeToXY(e,n),s.setEndXY(n)}isCurveEdge(e){if(-1!==this.m_segmentIndexHe){return-1!==this.getHalfEdgeUserIndex(e,this.m_segmentIndexHe)}return!1}compareEdgeAnglesCurveHelper_(e,t,s){const n=new F,r=new F;this.querySegmentXY(e,n),this.querySegmentXY(t,r);const i=n.get(),o=r.get();if(i.equals(o))return 0;const h=new Qe;this.getHalfEdgeFromXY(e,h);const m=new Qe;this.getHalfEdgeToXY(e,m);const l=new Qe;this.getHalfEdgeToXY(t,l),a(!m.isEqualPoint2D(l));return q(i,o)}compareEdgeAnglesHelper_(e,t,s){if(e===t)return 0;if(this.isHalfEdgeCurve(e)||this.isHalfEdgeCurve(t))return this.compareEdgeAnglesCurveHelper_(e,t,s);const n=Qe.getNAN();this.getHalfEdgeToXY(e,n);const r=Qe.getNAN();if(this.getHalfEdgeToXY(t,r),n.isEqualPoint2D(r))return 0;const i=Qe.getNAN();this.getHalfEdgeFromXY(e,i);const o=Qe.getNAN();o.setSub(n,i);const a=Qe.getNAN();if(a.setSub(r,i),!s||a.y>=0&&o.y>0){return Qe.compareVectors(o,a)}return 0}compareEdgeAngles_(e,t){return this.compareEdgeAnglesHelper_(e,t,!1)}compareEdgeAnglesForPair_(e,t){return this.compareEdgeAnglesHelper_(e,t,!0)}compareEdgeAngles3D_(e,t){return a(0),0}compareEdgeAnglesForPair3D_(e,t){return a(0),0}dbgDumpChains_(){}dbgDumpChainToPolygon_(e,t){}deleteEdgeInternal_(e){const t=this.getHalfEdgeChain(e),s=this.getHalfEdgeTwin(e),n=this.getHalfEdgeChain(s);a(n===t),a(e===this.getHalfEdgeNext(s)||s===this.getHalfEdgeNext(e));let r=this.getHalfEdgeNext(e);r===s&&(r=this.getHalfEdgeNext(r),r===e&&(r=M));const i=this.getChainIndex_(t),o=this.m_chainAreas.read(i);Number.isNaN(o)||(this.setChainArea_(t,Number.NaN),this.setChainPerimeter_(t,Number.NaN));const h=this.getChainHalfEdge(t);h!==e&&h!==s||this.setChainHalfEdge_(t,r),this.updateVertexToHalfEdgeConnection_(e,!0),this.deleteEdgeImpl_(e)}getFirstUnvisitedHalfEdgeOnCluster_(e,t,s){let n=t!==M?t:this.getClusterHalfEdge(e);if(n===M)return M;const r=n;for(;;){if(1!==this.getHalfEdgeUserIndex(n,s))return n;const e=this.getHalfEdgeNext(this.getHalfEdgeTwin(n));if(e===r)return M;n=e}}removeSpikes_(){let e=!1;const t=this.createUserIndexForHalfEdges();for(let s=this.getFirstCluster();s!==M;s=this.getNextCluster(s)){let n=M;for(;;){let r=this.getFirstUnvisitedHalfEdgeOnCluster_(s,n,t);if(r===M)break;n=this.getHalfEdgeNext(this.getHalfEdgeTwin(r));let i=r;for(;;){const s=this.getHalfEdgeNext(i),o=this.getHalfEdgePrev(i),a=this.getHalfEdgeTwin(i);if(o===a){if(this.deleteEdgeInternal_(i),e=!0,n!==i&&n!==a||(n=M),i===r||o===r){if(r=s,i===r||o===r)break;i=s;continue}}else this.setHalfEdgeUserIndex(i,t,1);if(i=s,i===r)break}}}return this.deleteUserIndexForHalfEdges(t),e}progress_(e,t=!1){}newCluster_(){const e=this.m_clusterData.newElement();return this.m_clusterData.setField(e,1,0),e}newHalfEdgePair_(){const e=this.m_halfEdgeData.newElement();this.m_halfEdgeData.setField(e,2,0),this.m_halfEdgeData.setField(e,3,0);const t=this.m_halfEdgeData.newElement();return this.m_halfEdgeData.setField(t,2,0),this.m_halfEdgeData.setField(t,3,0),this.setHalfEdgeTwin_(e,t),this.setHalfEdgeTwin_(t,e),e}newChain_(){const e=this.m_chainData.newElement();return this.m_chainData.setField(e,2,0),e}deleteChain_(e){return a(0),0}getClusterIndex_(e){return this.m_clusterData.elementToIndex(e)}setClusterVertexIterator_(e,t){this.m_clusterData.setField(e,7,t)}setClusterHalfEdge_(e,t){this.m_clusterData.setField(e,2,t)}setClusterParentage_(e,t){this.m_clusterData.setField(e,1,t)}setPrevCluster_(e,t){this.m_clusterData.setField(e,3,t)}setNextCluster_(e,t){this.m_clusterData.setField(e,4,t)}setClusterVertexIndex_(e,t){this.m_clusterData.setField(e,5,t)}getClusterVertexIndex_(e){return this.m_clusterData.getField(e,5)}setClusterChain_(e,t){this.m_clusterData.setField(e,6,t)}addClusterToExteriorChain_(e,t){this.setClusterChain_(t,e)}getHalfEdgeIndex_(e){return this.m_halfEdgeData.elementToIndex(e)}setHalfEdgeOrigin_(e,t){this.m_halfEdgeData.setField(e,1,t)}setHalfEdgeTwin_(e,t){this.m_halfEdgeData.setField(e,4,t)}setHalfEdgePrev_(e,t){this.m_halfEdgeData.setField(e,5,t)}setHalfEdgeNext_(e,t){this.m_halfEdgeData.setField(e,6,t)}setHalfEdgeChain_(e,t){this.m_halfEdgeData.setField(e,2,t)}setHalfEdgeParentage_(e,t){this.m_halfEdgeData.setField(e,3,t)}getHalfEdgeParentageMask_(e){return this.m_halfEdgeData.getField(e,3)}setHalfEdgeVertexIterator_(e,t){this.m_halfEdgeData.setField(e,7,t)}updateVertexToHalfEdgeConnectionHelper_(e,t){const s=t?M:e;for(let n=this.getHalfEdgeVertexIterator(e);n!==M;n=this.incrementVertexIterator(n)){const e=this.getVertexFromVertexIterator(n);this.m_shape.setUserIndex(e,this.m_halfEdgeIndex,s)}}updateVertexToHalfEdgeConnection_(e,t){e!==M&&(this.updateVertexToHalfEdgeConnectionHelper_(e,t),this.updateVertexToHalfEdgeConnectionHelper_(this.getHalfEdgeTwin(e),t))}getChainIndex_(e){return this.m_chainData.elementToIndex(e)}setChainHalfEdge_(e,t){this.m_chainData.setField(e,1,t)}setChainParentage_(e,t){this.m_chainData.setField(e,2,t)}setChainParent_(e,t){this.m_chainData.setField(e,3,t);const s=this.getChainFirstIsland(t);this.setChainNextInParent_(e,s),this.setChainFirstIsland_(t,e)}setChainFirstIsland_(e,t){this.m_chainData.setField(e,4,t)}setChainNextInParent_(e,t){this.m_chainData.setField(e,5,t)}setChainPrev_(e,t){this.m_chainData.setField(e,6,t)}setChainNext_(e,t){this.m_chainData.setField(e,7,t)}setChainArea_(e,t){const s=this.getChainIndex_(e);this.m_chainAreas.write(s,t)}setChainPerimeter_(e,t){const s=this.getChainIndex_(e);this.m_chainPerimeters.write(s,t)}updateChainAreaAndPerimeter_(e){const t=this.m_shape.hasCurves(),s=new gt(0),n=new gt(0),r=this.getChainHalfEdge(e),i=Qe.getNAN(),o=Qe.getNAN(),a=Qe.getNAN();this.getHalfEdgeFromXY(r,i),o.setCoordsPoint2D(i);let h=r;do{this.getHalfEdgeToXY(h,a),t&&this.isCurveEdge(h)||n.pe(Qe.distance(o,a));this.getHalfEdgeChain(this.getHalfEdgeTwin(h))!==e&&s.pe((a.x-i.x-(o.x-i.x))*(a.y-i.y+(o.y-i.y))*.5),o.setCoordsPoint2D(a),h=this.getHalfEdgeNext(h)}while(h!==r);if(t){const t=new F;h=r;do{this.getHalfEdgeToXY(h,a);const r=this.isCurveEdge(h);r&&(this.querySegmentXY(h,t),n.pe(t.get().calculateLength2D()));if(this.getHalfEdgeChain(this.getHalfEdgeTwin(h))!==e&&r){const e=t.get().calculateArea2DHelper();s.pe(e)}h=this.getHalfEdgeNext(h)}while(h!==r)}const m=this.getChainIndex_(e);this.m_chainAreas.write(m,s.getResult()),this.m_chainPerimeters.write(m,n.getResult())}getChainTopmostEdge_(e){return a(0),0}planeSweepParentage_(e,t){const s=new Ws(this),n=new Ee;n.setCapacity(Math.trunc(this.m_pointCount/2)),n.setComparator(s);const r=[],i=this.createUserIndexForHalfEdges();let o=null;const a=Qe.getNAN();for(let h=this.getFirstCluster();h!==M;h=this.getNextCluster(h)){this.progress_(t);const m=this.getClusterHalfEdge(h);if(m!==M){if(r.length=0,!this.tryOptimizedInsertion_(n,i,r,h,m)){this.queryXY(h,a),s.setY(a.y);let e=m;do{const t=this.getHalfEdgeUserIndex(e,i);-1!==t&&(n.deleteNode(t),this.setHalfEdgeUserIndex(e,i,Be.impossibleIndex2())),e=this.getHalfEdgeNext(this.getHalfEdgeTwin(e))}while(m!==e);e=m;do{if(-1===this.getHalfEdgeUserIndex(e,i)){const t=n.addElement(e);r.push(t)}e=this.getHalfEdgeNext(this.getHalfEdgeTwin(e))}while(m!==e)}for(let t=r.length-1;t>=0;t--){const s=r[t],o=n.getElement(s),a=this.getHalfEdgeTwin(o);this.setHalfEdgeUserIndex(a,i,s),this.planeSweepParentagePropagateParentage_(n,s,e)}}else if(this.getClusterChain(h)===M){null===o&&(o=new js(this)),this.queryXY(h,a),o.setPointXY(a);const e=n.searchLowerBound(o);let t=this.m_universeChain;if(-1!==e){let s=n.getElement(e);this.getHalfEdgeChain(s)===this.getHalfEdgeChain(this.getHalfEdgeTwin(s))&&(s=this.getLeftSkipPolylines_(n,e)),s!==M&&(t=this.getHalfEdgeChain(s))}this.addClusterToExteriorChain_(t,h)}}this.deleteUserIndexForHalfEdges(i)}planeSweepParentagePropagateParentage_(e,t,s){const n=e.getElement(t),r=this.getHalfEdgeChain(n);if(this.getChainParent(r)!==M)return;const i=this.getLeftSkipPolylines_(e,t),o=this.getHalfEdgeTwin(n),h=this.getHalfEdgeChain(o);let m=this.getChainParent(r),l=this.getChainParent(h);if(i===M)m===M&&(h===r?(this.setChainParent_(h,this.m_universeChain),l=this.m_universeChain,m=l):(l===M&&(this.setChainParent_(h,this.m_universeChain),l=this.m_universeChain),this.setChainParent_(r,h),m=h));else{const e=this.getHalfEdgeChain(i);if(l===M){if(this.getChainArea(e)<=0){const t=this.getChainParent(e);this.setChainParent_(h,t),l=t}else this.setChainParent_(h,e),l=e;h===r&&(m=l)}}m===M&&(this.trySetChainParentFromTwin_(r,h),m=this.getChainParent(r)),a(m!==M),s===Zs.enumInputModeBuildGraph?this.propagateParentageBuildGraph_(e,t,n,i):s===Zs.enumInputModeSimplifyWinding?this.propagateParentageWinding_(e,t,n,i,o,r,h):s===Zs.enumInputModeSimplifyAlternate&&this.propagateParentageAlternate_(e,t,n,i,o,r,h)}propagateParentageBuildGraph_(e,t,s,n){let r,i=t;n===M?(i=e.getNext(i),r=this.getHalfEdgeChain(s)):r=this.getHalfEdgeChain(n);let o=null,a=this.getChainParentage(r);for(this.m_bBuildGeometryParentageSets&&(o=this.getChainBitSet(r));-1!==i;i=e.getNext(i)){const t=e.getElement(i),s=this.getHalfEdgeTwin(t);r=this.getHalfEdgeChain(t);const n=this.getHalfEdgeChain(s);if(this.m_bBuildGeometryParentageSets){let e=this.getChainBitSet(n);e=new Ls({copy:e}),e.assignOr(o),this.setChainBitSet_(n,e);let s=this.getChainBitSet(r);const i=this.getLeftEdgeBitSet_(t),a=new Ls({copy:o});if(a.assignSubtract(i),a.isZero())break;s=new Ls({copy:s}),s.assignOr(a),this.setChainBitSet_(r,s),o=s}const h=this.getChainParentage(n),m=h|a;m!==h&&this.setChainParentage_(n,m);let l=this.getChainParentage(r);const g=a&~this.getHalfEdgeUserIndex(t,this.m_tmpHalfEdgeParentageIndexLeft);if(g&&(l|=g,this.setChainParentage_(r,l)),0===g)break;a=l}}propagateParentageWinding_(e,t,s,n,r,i,o){if(i===o)return;let h=this.getHalfEdgeUserIndex(s,this.m_tmpHalfEdgeWindingNumberIndex);h+=this.getHalfEdgeUserIndex(r,this.m_tmpHalfEdgeWindingNumberIndex);let m=0;const l=[],g=[];g.push(0);for(let u=e.getFirst();u!==t;u=e.getNext(u)){const t=e.getElement(u),s=this.getHalfEdgeTwin(t),n=this.getHalfEdgeChain(t),r=this.getHalfEdgeChain(s);if(n!==r){let e=this.getHalfEdgeUserIndex(t,this.m_tmpHalfEdgeWindingNumberIndex);e+=this.getHalfEdgeUserIndex(s,this.m_tmpHalfEdgeWindingNumberIndex),m+=e;let i=!1;0!==l.length&&l.at(-1)===r&&(g.pop(),l.pop(),i=!0),a(this.getChainParent(r)!==M),i&&this.getChainParent(r)===n||(g.push(m),l.push(n))}}if(m+=h,0!==l.length&&l.at(-1)===o&&(g.pop(),l.pop()),0!==m){if(0===g.at(-1)){const e=this.m_simplifiedGeometry,t=this.getGeometryID(e);this.setChainParentage_(i,t)}}else if(0!==g.at(-1)){const e=this.m_simplifiedGeometry,t=this.getGeometryID(e);this.setChainParentage_(i,t)}}propagateParentageAlternate_(e,t,s,n,r,i,o){const a=this.m_simplifiedGeometry,h=this.getGeometryID(a);if(n===M){this.setChainParentage_(o,this.m_universeGeomID);1&this.getHalfEdgeUserIndex(s,this.m_tmpHalfEdgeOddEvenNumberIndex)?this.setChainParentage_(i,h):this.setChainParentage_(i,this.m_universeGeomID)}else{const e=this.getChainParentage(o);if(0===e){const e=this.getHalfEdgeChain(n),t=this.getChainParentage(e);this.setChainParentage_(o,t);1&this.getHalfEdgeUserIndex(s,this.m_tmpHalfEdgeOddEvenNumberIndex)?this.setChainParentage_(i,t===h?this.m_universeGeomID:h):this.setChainParentage_(i,t)}else{1&this.getHalfEdgeUserIndex(s,this.m_tmpHalfEdgeOddEvenNumberIndex)?this.setChainParentage_(i,e===h?this.m_universeGeomID:h):this.setChainParentage_(i,e)}}}tryOptimizedInsertion_(e,t,s,n,r){let i=r,o=-1,a=M,h=0;do{if(2===h)return!1;const e=this.getHalfEdgeUserIndex(i,t);if(-1!==e){if(-1!==o)return!1;o=e}else{if(a!==M)return!1;a=i}h++,i=this.getHalfEdgeNext(this.getHalfEdgeTwin(i))}while(r!==i);return a!==M&&-1!==o&&(this.setHalfEdgeUserIndex(e.getElement(o),t,Be.impossibleIndex2()),e.setElement(o,a),s.push(o),!0)}trySetChainParentFromTwin_(e,t){const s=this.getChainArea(e);if(0===s)return!1;const n=this.getChainArea(t);if(s>0&&n<0||s<0&&n>0)return this.setChainParent_(e,t),!0;{const s=this.getChainParent(t);if(s!==M)return this.setChainParent_(e,s),!0}return!1}createHalfEdges_(e,t){this.m_halfEdgeIndex=this.m_shape.createUserIndex();for(let s=0,r=t.size();s<r;s++){const r=t.read(s),i=this.m_shape.getUserIndex(r,this.m_clusterIndex),a=this.m_shape.getPathFromVertex(r),h=this.m_shape.getGeometryFromPath(a),m=this.m_shape.getGeometryType(h);if(o(m)){const t=this.m_shape.getNextVertex(r);if(t===M)continue;const s=this.m_shape.getUserIndex(t,this.m_clusterIndex);if(i===s)continue;const o=this.newHalfEdgePair_(),a=this.getHalfEdgeTwin(o),l=this.m_clusterVertices.newElement();this.m_clusterVertices.setField(l,0,r),this.m_clusterVertices.setField(l,1,-1),this.setHalfEdgeVertexIterator_(o,l),this.m_shape.setUserIndex(r,this.m_halfEdgeIndex,o),this.setHalfEdgeOrigin_(o,i);const g=this.getClusterHalfEdge(i);if(g===M)this.setClusterHalfEdge_(i,o),this.setHalfEdgePrev_(o,a),this.setHalfEdgeNext_(a,o);else{const e=this.getHalfEdgePrev(g);this.setHalfEdgePrev_(g,a),this.setHalfEdgeNext_(a,g),this.setHalfEdgeNext_(e,o),this.setHalfEdgePrev_(o,e)}this.setHalfEdgeOrigin_(a,s);const u=this.getClusterHalfEdge(s);if(u===M)this.setClusterHalfEdge_(s,a),this.setHalfEdgeNext_(o,a),this.setHalfEdgePrev_(a,o);else{const e=this.getHalfEdgePrev(u);this.setHalfEdgePrev_(u,o),this.setHalfEdgeNext_(o,u),this.setHalfEdgeNext_(e,a),this.setHalfEdgePrev_(a,e)}const c=this.getGeometryID(h);if(e===Zs.enumInputModeBuildGraph){const e=m===n.enumPolygon?c:0;if(this.setHalfEdgeUserIndex(a,this.m_tmpHalfEdgeParentageIndex,0),this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndex,e),this.setHalfEdgeUserIndex(a,this.m_tmpHalfEdgeParentageIndexLeft,e),this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndexLeft,0),this.m_bBuildGeometryParentageSets){const e=new Ls,t=this.m_shape.getGeometryUserIndex(h,this.m_geometryIDIndex);e.setBit(t),this.setEdgeBitSet_(o,e),this.setEdgeBitSet_(a,null),this.setLeftEdgeBitSet_(a,e),this.setLeftEdgeBitSet_(o,null)}}else if(e===Zs.enumInputModeSimplifyWinding){const e=this.m_shape.getXY(r),s=this.m_shape.getXY(t);let n=0,i=0;e.compare(s)<0?n=1:i=-1,this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeWindingNumberIndex,n),this.setHalfEdgeUserIndex(a,this.m_tmpHalfEdgeWindingNumberIndex,i)}else e===Zs.enumInputModeSimplifyAlternate&&(this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeOddEvenNumberIndex,1),this.setHalfEdgeUserIndex(a,this.m_tmpHalfEdgeOddEvenNumberIndex,1));const _=m===n.enumPolygon?tn.c_EdgeBitMask:0;this.setHalfEdgeParentage_(o,c|_),this.setHalfEdgeParentage_(a,c|_)}}if(this.m_shape.hasCurves()){this.m_segmentIndexHe=this.createUserIndexForHalfEdges();for(let e=0,s=t.size();e<s;e++){const s=t.read(e);if(this.m_shape.getSegment(s)){const e=this.m_shape.getUserIndex(s,this.m_halfEdgeIndex);e!==M&&(this.setHalfEdgeUserIndex(e,this.m_segmentIndexHe,this.m_shape.getVertexIndex(s)),this.setHalfEdgeUserIndex(this.getHalfEdgeTwin(e),this.m_segmentIndexHe,-2))}}}}mergeVertexListsOfEdges_(e,t){{const s=this.getHalfEdgeVertexIterator(t);if(s!==M){const n=this.getHalfEdgeVertexIterator(e);this.m_clusterVertices.setField(s,1,n),this.setHalfEdgeVertexIterator_(e,s),this.setHalfEdgeVertexIterator_(t,M)}}const s=this.getHalfEdgeTwin(e),n=this.getHalfEdgeTwin(t);{const e=this.getHalfEdgeVertexIterator(n);if(e!==M){const t=this.getHalfEdgeVertexIterator(s);this.m_clusterVertices.setField(e,1,t),this.setHalfEdgeVertexIterator_(s,e),this.setHalfEdgeVertexIterator_(n,M)}}if(-1!==this.m_segmentIndexHe){let r=this.getHalfEdgeUserIndex(e,this.m_segmentIndexHe);if(-1!==r){if(-2===r){const s=this.getHalfEdgeUserIndex(t,this.m_segmentIndexHe);this.setHalfEdgeUserIndex(e,this.m_segmentIndexHe,s)}if(r=this.getHalfEdgeUserIndex(s,this.m_segmentIndexHe),-2===r){const e=this.getHalfEdgeUserIndex(n,this.m_segmentIndexHe);this.setHalfEdgeUserIndex(s,this.m_segmentIndexHe,e)}}}}sortHalfEdgesByAngle_(e){const t=[];for(let s=this.getFirstCluster();s!==M;s=this.getNextCluster(s)){t.length=0;const n=this.getClusterHalfEdge(s);if(n!==M){let r=n;do{t.push(r),r=this.getHalfEdgeNext(this.getHalfEdgeTwin(r))}while(r!==n);if(t.length>1){let r=!0;t.length>2?(t.sort(((e,t)=>this.compareEdgeAngles_(e,t))),t.push(t[0])):this.compareEdgeAnglesForPair_(t[0],t[1])>0?t[1]=rt(t[0],t[0]=t[1]):r=!1;let i=t[0],o=i,a=this.getHalfEdgeTo(o),h=this.getHalfEdgeTwin(o),m=M;for(let s=1,n=t.length;s<n;s++){const n=t[s],r=this.getHalfEdgeTwin(n),l=this.getHalfEdgeOrigin(r);if(l!==a||n===o)this.updateVertexToHalfEdgeConnection_(m,!1),m=M,o=n,a=l,h=r;else{if(e===Zs.enumInputModeBuildGraph){const e=this.getHalfEdgeParentageMask_(o)|this.getHalfEdgeParentageMask_(n);if(this.setHalfEdgeParentage_(o,e),this.setHalfEdgeParentage_(h,e),this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndex,this.getHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndex)|this.getHalfEdgeUserIndex(n,this.m_tmpHalfEdgeParentageIndex)),this.setHalfEdgeUserIndex(h,this.m_tmpHalfEdgeParentageIndex,this.getHalfEdgeUserIndex(h,this.m_tmpHalfEdgeParentageIndex)|this.getHalfEdgeUserIndex(r,this.m_tmpHalfEdgeParentageIndex)),this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndexLeft,this.getHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndexLeft)|this.getHalfEdgeUserIndex(n,this.m_tmpHalfEdgeParentageIndexLeft)),this.setHalfEdgeUserIndex(h,this.m_tmpHalfEdgeParentageIndexLeft,this.getHalfEdgeUserIndex(h,this.m_tmpHalfEdgeParentageIndexLeft)|this.getHalfEdgeUserIndex(r,this.m_tmpHalfEdgeParentageIndexLeft)),this.m_bBuildGeometryParentageSets){let e,t,s;e=this.getEdgeBitSet_(o),t=this.getEdgeBitSet_(n),s=new Ls({copy:e}),s.assignOr(t),this.setEdgeBitSet_(o,s),e=this.getEdgeBitSet_(h),t=this.getEdgeBitSet_(r),s=new Ls({copy:e}),s.assignOr(t),this.setEdgeBitSet_(h,s),e=this.getLeftEdgeBitSet_(o),t=this.getLeftEdgeBitSet_(n),s=new Ls({copy:e}),s.assignOr(t),this.setLeftEdgeBitSet_(o,s),e=this.getLeftEdgeBitSet_(h),t=this.getLeftEdgeBitSet_(r),s=new Ls({copy:e}),s.assignOr(t),this.setLeftEdgeBitSet_(h,s)}}else if(-1!==this.m_tmpHalfEdgeWindingNumberIndex){const e=this.getHalfEdgeUserIndex(o,this.m_tmpHalfEdgeWindingNumberIndex)+this.getHalfEdgeUserIndex(n,this.m_tmpHalfEdgeWindingNumberIndex),t=this.getHalfEdgeUserIndex(h,this.m_tmpHalfEdgeWindingNumberIndex)+this.getHalfEdgeUserIndex(r,this.m_tmpHalfEdgeWindingNumberIndex);this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeWindingNumberIndex,e),this.setHalfEdgeUserIndex(h,this.m_tmpHalfEdgeWindingNumberIndex,t)}else if(-1!==this.m_tmpHalfEdgeOddEvenNumberIndex){const e=this.getHalfEdgeUserIndex(o,this.m_tmpHalfEdgeOddEvenNumberIndex)+this.getHalfEdgeUserIndex(n,this.m_tmpHalfEdgeOddEvenNumberIndex),t=this.getHalfEdgeUserIndex(h,this.m_tmpHalfEdgeOddEvenNumberIndex)+this.getHalfEdgeUserIndex(r,this.m_tmpHalfEdgeOddEvenNumberIndex);this.setHalfEdgeUserIndex(o,this.m_tmpHalfEdgeOddEvenNumberIndex,e),this.setHalfEdgeUserIndex(h,this.m_tmpHalfEdgeOddEvenNumberIndex,t)}this.mergeVertexListsOfEdges_(o,n),this.deleteEdgeImpl_(n),m=o,t[s]=M,n===i&&(t[0]=M,i=M)}}if(this.updateVertexToHalfEdgeConnection_(m,!1),m=M,!r){i=M;for(let e=0,s=t.length;e<s;e++){const s=t[e];if(s!==M){i=s;break}}n!==i&&this.setClusterHalfEdge_(s,i);continue}i=M;for(let e=0,s=t.length;e<s;e++){const s=t[e];if(s===M)continue;if(i===M){i=s,o=i,a=this.getHalfEdgeTo(o),h=this.getHalfEdgeTwin(o);continue}if(s===o)continue;const n=this.getHalfEdgeTwin(s),r=this.getHalfEdgeOrigin(n);this.setHalfEdgeNext_(h,s),this.setHalfEdgePrev_(s,h),o=s,a=r,h=n}this.setClusterHalfEdge_(s,i)}}}}sortHalfEdgesByAngle3D_(e){a(0)}buildChains_(e){this.m_universeChain=this.newChain_(),this.setChainHalfEdge_(this.m_universeChain,M);let t=this.m_universeChain;const s=this.createUserIndexForHalfEdges();for(let n=this.getFirstCluster();n!==M;n=this.getNextCluster(n)){const e=this.getClusterHalfEdge(n);if(e!==M){let n=e;do{if(1!==this.getHalfEdgeUserIndex(n,s)){const e=this.newChain_();this.setChainHalfEdge_(e,n),this.setChainPrev_(e,t),this.setChainNext_(t,e);let r=null;this.m_bBuildGeometryParentageSets&&(r=new Ls),t=e;let i=0,o=n;do{-1!==this.m_tmpHalfEdgeParentageIndex&&(i|=this.getHalfEdgeUserIndex(o,this.m_tmpHalfEdgeParentageIndex)),this.m_bBuildGeometryParentageSets&&r.assignOr(this.getEdgeBitSet_(o)),this.setHalfEdgeChain_(o,e),this.setHalfEdgeUserIndex(o,s,1),o=this.getHalfEdgeNext(o)}while(o!==n);this.m_bBuildGeometryParentageSets&&this.setChainBitSet_(e,r),this.setChainParentage_(e,i)}n=this.getHalfEdgeNext(this.getHalfEdgeTwin(n))}while(n!==e)}}this.m_chainAreas=new Oe(this.m_chainData.size(),Number.NaN),this.m_chainPerimeters=new Oe(this.m_chainData.size(),Number.NaN),this.setChainArea_(this.m_universeChain,Number.POSITIVE_INFINITY),this.setChainPerimeter_(this.m_universeChain,Number.POSITIVE_INFINITY),this.deleteUserIndexForHalfEdges(s)}simplify_(e){a(0)}simplifyAlternate_(){a(0)}simplifyWinding_(){a(0)}setEditShapeImpl_(e,t,s,n,r){this.removeShape(),this.m_bBuildChains=r,this.m_shape=e,this.m_geometryIDIndex=this.m_shape.createGeometryUserIndex();let i=this.m_shape.getTotalPointCount();if(s){i=0;for(let e=0,t=s.length;e<t;e++)i+=this.m_shape.getPointCount(s[e])}const o=new Ce(0);let a=0,h=0;{let e=null!=s?s[0]:this.m_shape.getFirstGeometry(),t=1;for(;e!==M;){this.m_shape.setGeometryUserIndex(e,this.m_geometryIDIndex,h++);for(let t=this.m_shape.getFirstPath(e);t!==M;t=this.m_shape.getNextPath(t)){let e=this.m_shape.getFirstVertex(t);for(let s=0,n=this.m_shape.getPathSize(t);s<n;s++)o.add(e),e=this.m_shape.getNextVertex(e)}p(this.m_shape.getGeometryType(e))||(a+=this.m_shape.getPathCount(e)),null!=s?(e=t<s.length?s[t]:M,t++):e=this.m_shape.getNextGeometry(e)}}this.m_universeGeomID=1<<Math.min(h,31),this.m_pointCount=o.size(),this.m_shape.sortVerticesSimpleByY(o,0,this.m_pointCount),this.m_clusterVertices.setCapacity(this.m_pointCount),this.progress_(n,!0),this.m_clusterData.setCapacity(this.m_pointCount+10),this.m_halfEdgeData.setCapacity(2*this.m_pointCount+32),this.m_chainData.setCapacity(Math.max(32,a)),this.m_clusterIndex=this.m_shape.createUserIndex();const m=Qe.getNAN();let l=0;const g=Qe.getNAN();for(let u=0;u<=this.m_pointCount;u++){if(u<this.m_pointCount){const e=o.read(u);this.m_shape.queryXY(e,g)}else g.setNAN();if(!m.isEqualPoint2D(g)){if(l<u){const e=this.newCluster_();let t=M,s=-1;for(let n=l;n<u;n++){s=o.read(n),this.m_shape.setUserIndex(s,this.m_clusterIndex,e);const r=this.m_clusterVertices.newElement();this.m_clusterVertices.setField(r,0,s),this.m_clusterVertices.setField(r,1,t),t=r;const i=this.m_shape.getPathFromVertex(s),a=this.m_shape.getGeometryFromPath(i),h=this.getGeometryID(a);this.setClusterParentage_(e,this.getClusterParentage(e)|h)}this.setClusterVertexIterator_(e,t),this.setClusterVertexIndex_(e,this.m_shape.getVertexIndex(s)),this.m_lastCluster!==M&&this.setNextCluster_(this.m_lastCluster,e),this.setPrevCluster_(e,this.m_lastCluster),this.m_lastCluster=e,this.m_firstCluster===M&&(this.m_firstCluster=e)}l=u,m.setCoordsPoint2D(g)}}if(this.m_shape.hasSegmentParentage()){-1===this.m_clusterBreakNodeIndex&&(this.m_clusterBreakNodeIndex=this.createUserIndexForClusters());for(let e=0;e<this.m_pointCount;e++){const t=o.read(e);if(this.m_shape.getSegmentParentageBreakVertex(t)){const e=this.getClusterFromVertex(t);this.setBreakNode(e,!0)}}}this.progress_(n,!0);{let e=null!=s?s[0]:this.m_shape.getFirstGeometry(),t=1;for(;e!==M;){for(let t=this.m_shape.getFirstPath(e);t!==M;t=this.m_shape.getNextPath(t)){if(this.m_shape.isStrongPathStart(t)){const e=this.m_shape.getFirstVertex(t),s=this.getClusterFromVertex(e);this.setStrongPathNode(s,!0)}if(this.m_shape.isStrongPathEnd(t)){const e=this.m_shape.isClosedPath(t)?this.m_shape.getFirstVertex(t):this.m_shape.getLastVertex(t),s=this.getClusterFromVertex(e);this.setStrongPathNode(s,!0)}}null!=s?(e=t<s.length?s[t]:M,t++):e=this.m_shape.getNextGeometry(e)}}if(t===Zs.enumInputModeBuildGraph&&(this.m_tmpHalfEdgeParentageIndex=this.createUserIndexForHalfEdges(),this.m_tmpHalfEdgeParentageIndexLeft=this.createUserIndexForHalfEdges()),t===Zs.enumInputModeSimplifyWinding&&(this.m_tmpHalfEdgeWindingNumberIndex=this.createUserIndexForHalfEdges()),t===Zs.enumInputModeSimplifyAlternate&&(this.m_tmpHalfEdgeOddEvenNumberIndex=this.createUserIndexForHalfEdges()),this.createHalfEdges_(t,o),this.dbgNavigate_(),this.sortHalfEdgesByAngle_(t),!Number.isNaN(this.m_checkDirtyPlanesweepTolerance)&&!this.checkStructureAfterDirtySweep_())return this.m_bDirtyCheckFailed=!0,void this.cleanSetEditShapeImpl_();this.buildChains_(t),-1!==this.m_tmpHalfEdgeParentageIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndex),this.m_tmpHalfEdgeParentageIndex=-1),this.m_bBuildChains&&this.planeSweepParentage_(t,n),-1!==this.m_tmpHalfEdgeParentageIndexLeft&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndexLeft),this.m_tmpHalfEdgeParentageIndexLeft=-1),this.dbgChkChainParents_(),this.dbgDumpChains_(),this.mergeSegmentParentage_(),this.dbgNavigate_(),this.dbgDumpChains_(),this.cleanSetEditShapeImpl_()}setEditShapeImpl3D_(e,t,s,n,r){a(0)}cleanSetEditShapeImpl_(){-1!==this.m_tmpHalfEdgeParentageIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndex),this.m_tmpHalfEdgeParentageIndex=-1),-1!==this.m_tmpHalfEdgeParentageIndexLeft&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeParentageIndexLeft),this.m_tmpHalfEdgeParentageIndexLeft=-1),-1!==this.m_tmpHalfEdgeWindingNumberIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeWindingNumberIndex),this.m_tmpHalfEdgeWindingNumberIndex=-1),-1!==this.m_tmpHalfEdgeOddEvenNumberIndex&&(this.deleteUserIndexForHalfEdges(this.m_tmpHalfEdgeOddEvenNumberIndex),this.m_tmpHalfEdgeOddEvenNumberIndex=-1)}cleanSetEditShapeImpl3D_(){a(0)}dbgNavigate_(){}dbgChkChainParents_(){}deleteEdgeImpl_(e){const t=this.getHalfEdgeNext(e),s=this.getHalfEdgePrev(e),n=this.getHalfEdgeTwin(e),r=this.getHalfEdgeNext(n),i=this.getHalfEdgePrev(n);t!==n&&(this.setHalfEdgeNext_(i,t),this.setHalfEdgePrev_(t,i)),s!==n&&(this.setHalfEdgeNext_(s,r),this.setHalfEdgePrev_(r,s));const o=this.getHalfEdgeOrigin(e);this.getClusterHalfEdge(o)===e&&(r!==e?this.setClusterHalfEdge_(o,r):this.setClusterHalfEdge_(o,M));const a=this.getHalfEdgeOrigin(n);this.getClusterHalfEdge(a)===n&&(t!==n?this.setClusterHalfEdge_(a,t):this.setClusterHalfEdge_(a,M)),this.m_halfEdgeData.deleteElement(e),this.m_halfEdgeData.deleteElement(n)}getLeftSkipPolylines_(e,t){let s=t;for(;;){if(s=e.getPrev(s),-1===s)return M;{const t=e.getElement(s);if(this.getHalfEdgeChain(t)!==this.getHalfEdgeChain(this.getHalfEdgeTwin(t)))return t}}}checkStructureAfterDirtySweep_(){const e=ut(this.m_checkDirtyPlanesweepTolerance),t=new Qe,s=new Qe,n=new Qe,r=new Qe,i=new Qe;for(let o=this.getFirstCluster();o!==M;o=this.getNextCluster(o)){const a=this.getClusterHalfEdge(o);if(a!==M){let o=a;this.getHalfEdgeFromXY(o,t),this.getHalfEdgeToXY(o,s),n.setSub(s,t);let h=n.sqrLength();do{const a=o;if(o=this.getHalfEdgeNext(this.getHalfEdgeTwin(o)),o!==a){this.getHalfEdgeToXY(o,r),i.setSub(r,t);const a=i.sqrLength(),m=i.crossProduct(n),l=m*m/(a*h);if(Math.min(a,h)*l<=e){if(i.dotProduct(n)>=0)return!1}n.assign(i),h=a,s.assign(r)}}while(o!==a)}}return!0}extractPolygonPathFromChain_(e,t,s,n,r){const i=this.m_shape.hasSegmentParentage(),o=this.getChainHalfEdge(s);let a=o,h=M;const m=new fe;do{const o=this.getHalfEdgeTwin(a);if(this.getHalfEdgeChain(o)!==s){let s=M;const o=this.getHalfEdgeOrigin(a);if(n===M){const e=this.getClusterVertexIterator(o);s=this.getVertexFromVertexIterator(e)}else for(let e=this.getClusterVertexIterator(o);e!==M;e=this.incrementVertexIterator(e)){const t=this.getVertexFromVertexIterator(e);s===M&&(s=t);const r=this.m_shape.getPathFromVertex(t);if(this.m_shape.getGeometryFromPath(r)===n){s=t;break}}let l;if(h===M&&(h=e.insertPath(t,M),e.setClosedPath(h,!0)),this.m_shape===e?l=e.addVertex(h,s):(this.m_shape.queryPoint(s,m),l=e.addPoint(h,m)),this.isHalfEdgeCurve(a)&&(this.querySegmentXY(a,r),e.setSegmentToIndex(e.getVertexIndex(l),r.get().clone())),i){const t=this.getSegmentParentage(a);e.setSegmentParentageAndBreak(l,t,this.isBreakNode(o))}}a=this.getHalfEdgeNext(a)}while(a!==o)}mergeSegmentParentage_(){if(!this.m_shape.hasSegmentParentage())return;a(-1!==this.m_clusterBreakNodeIndex),a(-1===this.m_segmentParentageIndex);for(let n=this.getFirstCluster();n!==M;n=this.getNextCluster(n)){let e=0;const t=this.getClusterHalfEdge(n);if(t!==M){let s=t;do{e++,s=this.getHalfEdgeNext(this.getHalfEdgeTwin(s))}while(s!==t&&e<3)}2!==e&&this.setBreakNode(n,!0)}let e=[],t=[];this.m_segmentParentageIndex=this.createUserIndexForHalfEdges();const s=this.createUserIndexForHalfEdges();for(let n=this.getFirstCluster();n!==M;n=this.getNextCluster(n)){const r=this.getClusterHalfEdge(n);if(r!==M){let n=!1,i=r;do{let r=i;for(;-1===this.getHalfEdgeUserIndex(r,s);){const i=this.getHalfEdgeNext(r),o=this.getHalfEdgeTwin(r);$s(this,r,t);const a=t.at(-1).parentage;if(!n){const t=this.getHalfEdgeOrigin(r);if(!this.isBreakNode(t)){const t=this.getHalfEdgePrev(r);r!==t&&($s(this,t,e),n=!0)}}if(n&&!Js(t,e)){const e=this.getHalfEdgeOrigin(r);this.setBreakNode(e,!0)}e=rt(t,t=e),n=!0;const h=this.getHalfEdgeOrigin(i);this.isBreakNode(h)&&(n=!1),this.setHalfEdgeUserIndex(r,this.m_segmentParentageIndex,a),this.setHalfEdgeUserIndex(o,this.m_segmentParentageIndex,a),this.setHalfEdgeUserIndex(r,s,1),this.setHalfEdgeUserIndex(o,s,1),r=i}i=this.getHalfEdgeNext(this.getHalfEdgeTwin(i))}while(i!==r)}}this.deleteUserIndexForHalfEdges(s)}registerNewBitSet(e){if(null===this.m_uniqueBitSets&&(this.m_uniqueBitSets=en(),this.m_uniqueBitSets.add(this.getEmptySet())),null===e)return this.getEmptySet();return this.m_uniqueBitSets.has(e)?this.m_uniqueBitSets.get(e):(this.m_uniqueBitSets.add(e),e)}getLeftEdgeBitSet_(e){const t=this.getHalfEdgeUserIndex(e,this.m_edgeBitSetIndexLeft);return a(t>=0),a(this.m_edgeBitSets.at(t)),this.m_edgeBitSets.at(t)}getEdgeBitSet_(e){const t=this.getHalfEdgeUserIndex(e,this.m_edgeBitSetIndex);return a(t>=0),this.m_edgeBitSets.at(t)}setEdgeBitSet_(e,t){a(this.m_bBuildGeometryParentageSets),t=this.registerNewBitSet(t),-1===this.m_edgeBitSetIndex&&(this.m_edgeBitSetIndex=this.createUserIndexForHalfEdges());const s=this.getHalfEdgeUserIndex(e,this.m_edgeBitSetIndex);-1!==s?this.m_edgeBitSets[s]=t:(this.setHalfEdgeUserIndex(e,this.m_edgeBitSetIndex,this.m_edgeBitSets.length),this.m_edgeBitSets.push(t))}setLeftEdgeBitSet_(e,t){a(this.m_bBuildGeometryParentageSets),t=this.registerNewBitSet(t),-1===this.m_edgeBitSetIndexLeft&&(this.m_edgeBitSetIndexLeft=this.createUserIndexForHalfEdges());const s=this.getHalfEdgeUserIndex(e,this.m_edgeBitSetIndexLeft);-1!==s?this.m_edgeBitSets[s]=t:(this.setHalfEdgeUserIndex(e,this.m_edgeBitSetIndexLeft,this.m_edgeBitSets.length),this.m_edgeBitSets.push(t))}setChainBitSet_(e,t){a(this.m_bBuildGeometryParentageSets),t=this.registerNewBitSet(t),-1===this.m_chainBitSetIndex&&(this.m_chainBitSetIndex=this.createUserIndexForChains());const s=this.getChainUserIndex(e,this.m_chainBitSetIndex);-1!==s?this.m_chainBitSets[s]=t:(this.setChainUserIndex(e,this.m_chainBitSetIndex,this.m_chainBitSets.length),this.m_chainBitSets.push(t))}getEmptySet(){return this.m_emptyBitSet||(this.m_emptyBitSet=new Ls),this.m_emptyBitSet}deleteEdgeBitSets_(){-1!==this.m_edgeBitSetIndex&&(this.deleteUserIndexForHalfEdges(this.m_edgeBitSetIndex),this.m_edgeBitSetIndex=-1),-1!==this.m_edgeBitSetIndexLeft&&(this.deleteUserIndexForHalfEdges(this.m_edgeBitSetIndexLeft),this.m_edgeBitSetIndexLeft=-1),this.m_edgeBitSets.length=0,this.m_uniqueBitSets=null}deleteChainBitSets_(){-1!==this.m_chainBitSetIndex&&(this.deleteUserIndexForChains(this.m_chainBitSetIndex),this.m_chainBitSetIndex=-1,this.m_chainBitSets.length=0)}dbgPrintEdge_(e){}dbgVerifyEdgeSegment(e){}}tn.c_EdgeParentageMask=~(1<<31),tn.c_EdgeBitMask=1<<31;class sn{freeNode_(e){this.m_listNodes.deleteElement(e)}newNode_(){return this.m_listNodes.newElement()}freeList_(e){this.m_lists.deleteElement(e)}newList_(){return this.m_lists.newElement()}Init_(e){a(0)}constructor(e){this.m_listNodes=new Be(2),this.m_listOfLists=sn.st_nullNode(),this.m_bAllowNavigationBetweenLists=!0,void 0===e&&(e=!0),this.m_bAllowNavigationBetweenLists=e,this.m_lists=new Be(this.m_bAllowNavigationBetweenLists?4:2)}createList(){const e=this.newList_();return this.m_bAllowNavigationBetweenLists&&(this.m_lists.setField(e,3,this.m_listOfLists),this.m_listOfLists!==sn.st_nullNode()&&this.m_lists.setField(this.m_listOfLists,2,e),this.m_listOfLists=e),e}deleteList(e){let t=this.getFirst(e);for(;t!==sn.st_nullNode();){const e=t;t=this.getNext(t),this.freeNode_(e)}if(this.m_bAllowNavigationBetweenLists){const t=this.m_lists.getField(e,2),s=this.m_lists.getField(e,3);t!==sn.st_nullNode()?this.m_lists.setField(t,3,s):this.m_listOfLists=s,s!==sn.st_nullNode()&&this.m_lists.setField(s,2,t)}this.freeList_(e)}reserveLists(e){this.m_lists.setCapacity(e)}addElement(e,t){this.m_lists.getField(e,0);const s=this.m_lists.getField(e,1),n=this.newNode_();return s!==sn.st_nullNode()?(this.m_listNodes.setField(s,1,n),this.m_lists.setField(e,1,n)):(this.m_lists.setField(e,0,n),this.m_lists.setField(e,1,n)),this.m_listNodes.setField(n,0,t),n}reserveNodes(e){this.m_listNodes.setCapacity(e)}deleteElementDirect(e,t,s){t!==sn.st_nullNode()?(this.m_listNodes.setField(t,1,this.m_listNodes.getField(s,1)),this.m_lists.getField(e,1)===s&&this.m_lists.setField(e,1,t)):(this.m_lists.setField(e,0,this.m_listNodes.getField(s,1)),this.m_lists.getField(e,1)===s&&this.m_lists.setField(e,1,sn.st_nullNode())),this.freeNode_(s)}deleteElementSearch(e,t){let s=-1,n=this.getFirst(e);for(;n!==t;)s=n,n=this.getNext(n);this.deleteElementDirect(e,s,t)}concatenateLists(e,t){const s=this.m_lists.getField(e,1),n=this.m_lists.getField(t,0);if(n!==sn.st_nullNode()&&(s!==sn.st_nullNode()?(this.m_listNodes.setField(s,1,n),this.m_lists.setField(e,1,this.m_lists.getField(t,1))):(this.m_lists.setField(e,0,n),this.m_lists.setField(e,1,this.m_lists.getField(t,1)))),this.m_bAllowNavigationBetweenLists){const e=this.m_lists.getField(t,2),s=this.m_lists.getField(t,3);e!==sn.st_nullNode()?this.m_lists.setField(e,3,s):this.m_listOfLists=s,s!==sn.st_nullNode()&&this.m_lists.setField(s,2,e)}return this.freeList_(t),e}getElement(e){return this.m_listNodes.getField(e,0)}getData(e){return this.getElement(e)}setElement(e,t){a(0)}getNext(e){return this.m_listNodes.getField(e,1)}getFirst(e){return this.m_lists.getField(e,0)}getFirstElement(e){const t=this.getFirst(e);return this.getElement(t)}static st_nullNode(){return-1}clear(){this.m_listNodes.deleteAll(!0),this.m_lists.deleteAll(!0),this.m_listOfLists=sn.st_nullNode()}isEmpty(e){return a(0),!1}getNodeCount(){return this.m_listNodes.size()}getListCount(){return this.m_lists.size()}getFirstList(){return this.m_listOfLists}getNextList(e){return this.m_lists.getField(e,3)}}function nn(e=-1){return{m_value:e,m_line:new H,m_segment:null,m_segmentInfo:new re(-1),m_env:new at(0,0),m_dxdy:55555555,m_bHorizontal:!1,m_bCurve:!1}}const rn=67;class on extends Ye{constructor(e,t,s){super(!0),this.m_bIntersectionDetected=!1,this.m_nonSimpleResult=new ts,this.m_tempSimpleEdge1=nn(),this.m_tempSimpleEdge2=nn(),this.m_prev1=M,this.m_prev2=M,this.m_vertex1=M,this.m_vertex2=M,this.m_currentNode=-1,this.m_prevX1=Number.NaN,this.m_prevX2=Number.NaN,this.m_prevY=Number.NaN,this.m_prevX=0,this.m_sweepY=Number.NaN,this.m_sweepX=0,this.m_ptSweep=new Qe,this.m_simpleEdgesCache=[],this.m_simpleEdgesRecycle=[],this.m_cOutstandingConstructedEdges=0,this.m_shape=e,this.m_bShapeHasSegments=this.m_shape.hasCurves(),this.m_tolerance=t,this.m_tolerance10=10*t,this.m_bIsSimple=s;const n=Math.trunc(Math.min(3*e.getTotalPointCount()/2,rn)),r=Math.min(7,n);this.m_simpleEdgesCache.length=r}tryGetCachedEdge_(e){const t=this.m_simpleEdgesCache[(e&bt())%this.m_simpleEdgesCache.length];return t&&t.m_value===e?t:null}tryDeleteCachedEdge_(e){const t=(e&bt())%this.m_simpleEdgesCache.length,s=this.m_simpleEdgesCache[t];s&&s.m_value===e&&(this.m_simpleEdgesRecycle.push(s),this.m_simpleEdgesCache[t]=null)}tryCreateCachedEdge_(e){const t=(e&bt())%this.m_simpleEdgesCache.length;let s=this.m_simpleEdgesCache[t];return s?null:(0===this.m_simpleEdgesRecycle.length?(s=nn(),this.m_cOutstandingConstructedEdges++):s=this.m_simpleEdgesRecycle.pop(),s.m_value=e,this.m_simpleEdgesCache[t]=s,s)}initSimpleEdge_(e,t){this.m_bShapeHasSegments&&this.initSimpleEdgeHelper_(e,t)||e.m_bCurve||(this.m_shape.queryLineConnector(t,e.m_line,!0),e.m_segment=e.m_line,e.m_env.setCoordsNoNAN(e.m_line.getStartX(),e.m_line.getEndX()),e.m_env.vmax+=this.m_tolerance,e.m_line.orientBottomUp(),e.m_bHorizontal=e.m_line.getEndY()===e.m_line.getStartY(),e.m_bHorizontal||(e.m_dxdy=(e.m_line.getEndX()-e.m_line.getStartX())/(e.m_line.getEndY()-e.m_line.getStartY())))}initSimpleEdgeHelper_(e,t){if(e.m_segment=this.m_shape.getSegment(t),e.m_segmentInfo=this.m_shape.getOriginalSegmentInfo(t),e.m_bCurve=null!==e.m_segment,e.m_bCurve){const t=e.m_segment.clone();return t.orientBottomUp(),e.m_segment=t,e.m_env=e.m_segment.queryInterval(0,0),e.m_env.vmax+=this.m_tolerance,!0}return!1}compareTwoSegments_(e,t){const s=e.getStartXY(),n=e.getEndXY(),r=t.getStartXY(),i=t.getEndXY();if(this.m_ptSweep.setCoords(this.m_sweepX,this.m_sweepY),s.isEqualPoint2D(r)&&this.m_sweepY===s.y){this.m_ptSweep.assign(n.compare(i)<0?n:i);const s=e.intersectionOfYMonotonicWithAxisX(this.m_ptSweep.y,this.m_ptSweep.x),r=t.intersectionOfYMonotonicWithAxisX(this.m_ptSweep.y,this.m_ptSweep.x);if(Math.abs(s-r)>this.m_tolerance)return s<r?-1:1}const o=s.compare(r)<0?r:s,a=n.compare(i)<0?n:i;let h=0,m=0;for(let l=1;l<5;l++){St(o,a,l/5,this.m_ptSweep);const s=e.intersectionOfYMonotonicWithAxisX(this.m_ptSweep.y,this.m_ptSweep.x),n=t.intersectionOfYMonotonicWithAxisX(this.m_ptSweep.y,this.m_ptSweep.x),r=Math.abs(s-n);r>h&&(h=r,m=s<n?-1:1)}return 0===m?this.errorCracking():m}compareNonHorizontal_(e,t){if(e.m_line.getStartY()===t.m_line.getStartY()&&e.m_line.getStartX()===t.m_line.getStartX())return e.m_line.getEndY()===t.m_line.getEndY()&&e.m_line.getEndX()===t.m_line.getEndX()?this.m_bIsSimple?this.errorCoincident():0:this.compareNonHorizontalUpperEnd_(e,t);if(e.m_line.getEndY()===t.m_line.getEndY()&&e.m_line.getEndX()===t.m_line.getEndX())return this.compareNonHorizontalLowerEnd_(e,t);const s=this.compareNonHorizontalLowerEnd_(e,t),n=this.compareNonHorizontalUpperEnd_(e,t);return s<0&&n<0?-1:s>0&&n>0?1:this.errorCracking()}compareHorizontal1Case1_(e,t){if(e.getEndX()>t.getEndX()){if(t.getEndX()>t.getStartX()&&t.getEndY()-t.getStartY()<2*this.m_tolerance&&e.isIntersectingPoint(t.getEndXY(),this.m_tolerance,!0))return this.errorCracking()}else{if((t.getEndY()-t.getStartY())/(t.getEndX()-t.getStartX())*(e.getEndX()-e.getStartX())<this.m_tolerance10&&t.isIntersectingPoint(e.getEndXY(),this.m_tolerance,!0))return this.errorCracking()}return 1}compareHorizontal1Case2_(e,t){if(e.getStartX()<t.getStartX()){if(t.getEndX()>t.getStartX()&&t.getEndY()-t.getStartY()<2*this.m_tolerance&&e.isIntersectingPoint(t.getEndXY(),this.m_tolerance,!0))return this.errorCracking()}else{if((t.getEndY()-t.getStartY())/(t.getEndX()-t.getStartX())*(e.getStartX()-e.getEndX())<this.m_tolerance10&&t.isIntersectingPoint(e.getStartXY(),this.m_tolerance,!0))return this.errorCracking()}return-1}compareHorizontal1Case3_(e,t){const s=Qe.getNAN();s.setSub(t.getEndXY(),t.getStartXY()),s.rightPerpendicularThis(),s.normalize();const n=Qe.getNAN();n.setSub(e.getStartXY(),t.getStartXY());const r=Qe.getNAN();r.setSub(e.getEndXY(),t.getStartXY());const i=n.dotProduct(s),o=r.dotProduct(s),a=Math.abs(i),h=Math.abs(o);if(a<h){if(a<this.m_tolerance10&&t.isIntersectingPoint(e.getStartXY(),this.m_tolerance,!0))return this.errorCracking()}else if(h<this.m_tolerance10&&t.isIntersectingPoint(e.getEndXY(),this.m_tolerance,!0))return this.errorCracking();return i<0&&o<0?-1:i>0&&o>0?1:this.errorCracking()}compareHorizontal1_(e,t){return e.getStartY()===t.getStartY()&&e.getStartX()===t.getStartX()?this.compareHorizontal1Case1_(e,t):e.getEndY()===t.getEndY()&&e.getEndX()===t.getEndX()?this.compareHorizontal1Case2_(e,t):this.compareHorizontal1Case3_(e,t)}compareHorizontal2_(e,t){return e.getEndY()===t.getEndY()&&e.getEndX()===t.getEndX()&&e.getStartY()===t.getStartY()&&e.getStartX()===t.getStartX()?this.m_bIsSimple?this.errorCoincident():0:this.errorCracking()}compareNonHorizontalLowerEnd_(e,t){let s=1;if(e.m_line.getStartY()<t.m_line.getStartY()){s=-1;const n=e;e=t,t=n}const n=e.m_line,r=t.m_line,i=n.getStartX()-r.getStartX(),o=t.m_dxdy*(n.getStartY()-r.getStartY()),a=this.m_tolerance10;return i<o-a?-s:i>o+a?s:r.isIntersectingPoint(n.getStartXY(),this.m_tolerance,!0)?this.errorCracking():i<o?-s:s}compareNonHorizontalUpperEnd_(e,t){let s=1;if(t.m_line.getEndY()<e.m_line.getEndY()){s=-1;const n=e;e=t,t=n}const n=e.m_line,r=t.m_line,i=n.getEndX()-r.getStartX(),o=t.m_dxdy*(n.getEndY()-r.getStartY()),a=this.m_tolerance10;return i<o-a?-s:i>o+a?s:r.isIntersectingPoint(n.getEndXY(),this.m_tolerance,!0)?this.errorCracking():i<o?-s:s}errorCoincident(){this.m_bIntersectionDetected=!0;const e=7;return this.m_nonSimpleResult=new ts(e,this.m_vertex1,this.m_vertex2),-1}errorCracking(){if(this.m_bIntersectionDetected=!0,this.m_bIsSimple){const e=6;this.m_nonSimpleResult=new ts(e,this.m_vertex1,this.m_vertex2)}else this.m_prev1=M,this.m_prev2=M,this.m_vertex1=M,this.m_vertex2=M;return-1}compareSegments_(e,t,s,n){if(s.m_env.vmax<n.m_env.vmin)return-1;if(n.m_env.vmax<s.m_env.vmin)return 1;if(!s.m_bCurve&&!n.m_bCurve){let e=s.m_bHorizontal?1:0;return e|=n.m_bHorizontal?2:0,0===e?this.compareNonHorizontal_(s,n):1===e?this.compareHorizontal1_(s.m_line,n.m_line):2===e?-1*this.compareHorizontal1_(n.m_line,s.m_line):this.compareHorizontal2_(s.m_line,n.m_line)}if(this.m_bIntersectionDetected)return-1;const r=this.m_prevY===this.m_sweepY&&this.m_prevX===this.m_sweepX;let i,o;if(r&&e===this.m_prev1?i=this.m_prevX1:(i=Number.NaN,this.m_prev1=M),r&&t===this.m_prev2?o=this.m_prevX2:(o=Number.NaN,this.m_prev2=M),this.m_prevY=this.m_sweepY,this.m_prevX=this.m_sweepX,Number.isNaN(i)){this.m_prev1=e;const t=s.m_segment.intersectionOfYMonotonicWithAxisX(this.m_sweepY,this.m_sweepX);i=t,this.m_prevX1=t}if(Number.isNaN(o)){this.m_prev2=t;const e=n.m_segment.intersectionOfYMonotonicWithAxisX(this.m_sweepY,this.m_sweepX);o=e,this.m_prevX2=e}const a=j(!0,!0,s.m_segment,n.m_segment,this.m_tolerance,!0);return 0!==a?2===a?this.m_bIsSimple?this.errorCoincident():s.m_segmentInfo.equals(n.m_segmentInfo)?0:this.errorCracking():this.errorCracking():Math.abs(i-o)<=this.m_tolerance?this.compareTwoSegments_(s.m_segment,n.m_segment):i<o?-1:i>o?1:0}clearIntersectionDetectedFlag(){this.m_bIntersectionDetected=!1}intersectionDetected(){return this.m_bIntersectionDetected}getLastComparedNode(){return this.m_currentNode}getResult(){return this.m_nonSimpleResult}setSweepY(e,t){this.m_sweepY=e,this.m_sweepX=t,this.m_prev1=M,this.m_prev2=M,this.m_vertex1=M,this.m_vertex2=M}compare(e,t,s){if(this.m_bIntersectionDetected)return-1;const n=e.getElement(s),r=t;return this.m_currentNode=s,this.compareSegments(r,r,n,n)}compareSegments(e,t,s,n){let r=this.tryGetCachedEdge_(e);null===r?this.m_vertex1===t?r=this.m_tempSimpleEdge1:(this.m_vertex1=t,r=this.tryCreateCachedEdge_(e),null===r&&(r=this.m_tempSimpleEdge1,this.m_tempSimpleEdge1.m_value=e),this.initSimpleEdge_(r,t)):this.m_vertex1=t;let i=this.tryGetCachedEdge_(s);return null===i?this.m_vertex2===n?i=this.m_tempSimpleEdge2:(this.m_vertex2=n,i=this.tryCreateCachedEdge_(s),null===i&&(i=this.m_tempSimpleEdge2,this.m_tempSimpleEdge2.m_value=s),this.initSimpleEdge_(i,n)):this.m_vertex2=n,this.compareSegments_(t,n,r,i)}onDelete(e){this.tryDeleteCachedEdge_(e)}onSet(e){this.tryDeleteCachedEdge_(e)}onEndSearch(e){this.tryDeleteCachedEdge_(e)}onAddUniqueElementFailed(e){this.tryDeleteCachedEdge_(e)}}class an{constructor(e,t){this.m_bIntersectionDetected=!1,this.m_pointOfInterest=Qe.getNAN(),this.m_line1=new H,this.m_seg1=null,this.m_env=at.constructEmpty(),this.m_vertex1=-1,this.m_currentNode=-1,this.m_minDist=Number.MAX_VALUE,this.m_shape=e,this.m_tolerance=t}getCurrentNode(){return this.m_currentNode}clearIntersectionDetectedFlag(){this.m_bIntersectionDetected=!1,this.m_minDist=Number.MAX_VALUE}intersectionDetected(){return this.m_bIntersectionDetected}setPoint(e){this.m_pointOfInterest.assign(e)}compare(e,t){const s=e.getElement(t);return this.compareVertex(e,t,s)}compareVertex(t,s,n){let r,i=this.m_shape.getSegment(n),o=!0;if(null==i)this.m_shape.queryLineConnector(n,this.m_line1,!0),this.m_env.setCoordsNoNAN(this.m_line1.getStartX(),this.m_line1.getEndX()),i=this.m_line1,r=this.m_line1.getStartY()===this.m_line1.getEndY();else{const t=e.constructEmpty();i.queryLooseEnvelope(t),t.queryIntervalX(this.m_env),r=0===t.height(),o=!1}if(this.m_pointOfInterest.x+this.m_tolerance<this.m_env.vmin)return-1;if(this.m_pointOfInterest.x-this.m_tolerance>this.m_env.vmax)return 1;if(r)return this.m_currentNode=s,this.m_bIntersectionDetected=!0,0;let a=0;if(o){Q(this.m_line1);const e=this.m_line1.getStartXY(),t=new Qe;t.setSub(this.m_line1.getEndXY(),e),t.rightPerpendicularThis();const s=new Qe;s.setSub(this.m_pointOfInterest,e),a=t.dotProduct(s),a/=t.length()}else{a=i.intersectionOfYMonotonicWithAxisX(this.m_pointOfInterest.y,this.m_pointOfInterest.x)-this.m_pointOfInterest.x}if(a<10*-this.m_tolerance)return-1;if(a>10*this.m_tolerance)return 1;if(i.isIntersectingPoint(this.m_pointOfInterest,this.m_tolerance)){Math.abs(a)<this.m_minDist&&(this.m_currentNode=s,this.m_minDist=a),this.m_bIntersectionDetected=!0}return a<0?-1:a>0?1:0}}class hn{constructor(e,t){this.m_lists=new sn(!1),this.m_hash=t,this.m_hashBuckets=new Int32Array(e),this.m_hashBuckets.fill(hn.st_nullNode()),this.m_bitFilter=new Int32Array(10*e+31>>5)}reserveElements(e){this.m_lists.reserveLists(Math.min(this.m_hashBuckets.length,e)),this.m_lists.reserveNodes(e)}addElement(e,t){void 0===t&&(t=this.m_hash.getHash(e));const s=t%(this.m_bitFilter.length<<5);this.m_bitFilter[s>>5]|=1<<(31&s);const n=t%this.m_hashBuckets.length;let r=this.m_hashBuckets[n];r===sn.st_nullNode()&&(r=this.m_lists.createList(),this.m_hashBuckets[n]=r);return this.m_lists.addElement(r,e)}deleteElement(e,s){void 0===s&&(s=this.m_hash.getHash(e));const n=s%this.m_hashBuckets.length,r=this.m_hashBuckets[n];r===sn.st_nullNode()&&t("");let i=this.m_lists.getFirst(r),o=sn.st_nullNode();for(;i!==sn.st_nullNode();){const t=this.m_lists.getData(i),s=this.m_lists.getNext(i);t===e?(this.m_lists.deleteElementDirect(r,o,i),this.m_lists.getFirst(r)===sn.st_nullNode()&&(this.m_lists.deleteList(r),this.m_hashBuckets[n]=sn.st_nullNode())):o=i,i=s}}getFirstInBucket(e){const t=e%(this.m_bitFilter.length<<5);if(!(this.m_bitFilter[t>>5]&1<<(31&t)))return sn.st_nullNode();const s=e%this.m_hashBuckets.length,n=this.m_hashBuckets[s];return n===sn.st_nullNode()?sn.st_nullNode():this.m_lists.getFirst(n)}getNextInBucket(e){return this.m_lists.getNext(e)}findNode(e){const t=this.m_hash.getHash(e);let s=this.getFirstInBucket(t);for(;s!==sn.st_nullNode();){const t=this.m_lists.getData(s);if(this.m_hash.equal(t,e))return s;s=this.m_lists.getNext(s)}return sn.st_nullNode()}deleteNode(e){const s=this.getElement(e),n=this.m_hash.getHash(s)%this.m_hashBuckets.length,r=this.m_hashBuckets[n];r===sn.st_nullNode()&&t(""),this.m_lists.deleteElementSearch(r,e),this.m_lists.getFirst(r)===sn.st_nullNode()&&(this.m_lists.deleteList(r),this.m_hashBuckets[n]=sn.st_nullNode())}getElement(e){return this.m_lists.getData(e)}static st_nullNode(){return sn.st_nullNode()}clear(){a(0)}size(){return this.m_lists.getNodeCount()}dbgPrintBucketHistogram(){}}function mn(e,t,s,n,r){const i=new fn(r);return i.m_shape=e,i.m_sqrTolerance=t*t,i.m_cellSize=2*t,i.m_invCellSize=1/i.m_cellSize,i.m_geometry=s,i.m_bTrackChanges=n,i.m_bHasSegmentParentage=e.hasSegmentParentage(),i.clusterNonReciprocal()}function ln(e,t,s,n,r){const i=e-s,o=t-n;return i*i+o*o<=r}function gn(){return{pt:new Qe,weight:0,rank:0,bMerged:!1}}function un(e,t,s,n,r,i){const o=gn(),a=s+r;let h=!1,m=e.x;e.x!==t.x&&(n===i&&(m=(e.x*s+t.x*r)/a),h=!0);let l=e.y;return e.y!==t.y&&(n===i&&(l=(e.y*s+t.y*r)/a),h=!0),n!==i?n>i?(o.rank=n,o.weight=s,o.pt=e):(o.rank=i,o.weight=r,o.pt=t):(o.pt.setCoords(m,l),o.weight=a,o.rank=n),o.bMerged=h,o}function cn(e,t,s,n,r,i,o,a,h){const m=e.equals(t);if(n>i)return o.assignCopy(e),h[0]=n,a[0]=s,m;if(i>n)return o=t,h[0]=i,a[0]=r,m;o.assignCopy(e);const l=un(e.getXY(),t.getXY(),s,n,r,i);return o.setXY(l.pt),a[0]=l.weight,h[0]=l.rank,m}function _n(e,t,s,n,r){const i=new fn(r);return i.m_shape=e,i.m_sqrTolerance=t*t,i.m_cellSize=2*t,i.m_invCellSize=1/i.m_cellSize,i.m_geometry=s,i.m_bTrackChanges=!1,i.needsClustering()}function dn(e,t){const s=Xt(e);return Mt(s,t)}class pn{constructor(e,t,s,n,r){this.m_workPt=new Qe,this.m_shape=e,this.m_sqrTolerance=s,this.m_invCellSize=n,this.m_origin=t.clone(),this.m_hashValues=r}getHash(e){return this.m_shape.getUserIndex(e,this.m_hashValues)}calculateHashFromVertex(e){this.m_shape.queryXY(e,this.m_workPt);const t=this.m_workPt.x-this.m_origin.x,s=Math.trunc(t*this.m_invCellSize+.5),n=this.m_workPt.y-this.m_origin.y;return dn(s,Math.trunc(n*this.m_invCellSize+.5))}equal(e,t){return a(0),!1}}class fn{constructor(e){this.m_origin=Qe.getNAN(),this.m_sqrTolerance=0,this.m_cellSize=0,this.m_invCellSize=0,this.m_geometry=M,this.m_bucketArray=Ke(4,Number.NaN),this.m_bucketHash=Ke(4,Number.NaN),this.m_dbgCandidateCheckCount=0,this.m_nsr=new ts,this.m_hashValues=-1,this.m_newClusters=-1,this.m_bTrackChanges=!1,this.m_bHasSegmentParentage=!1,this.m_shape=null,this.m_clusters=new sn,this.m_hashFunction=null,this.m_hashTable=null,this.m_progressCounter=0,this.m_progressTracker=e}progress_(){}collectClusterCandidates(e,t){const s=Qe.getNAN();this.m_shape.queryXY(e,s);const n=(s.x-this.m_origin.x)*this.m_invCellSize,r=(s.y-this.m_origin.y)*this.m_invCellSize,i=Math.trunc(n),o=Math.trunc(r);let a=0;for(let h=0;h<=1;h+=1)for(let e=0;e<=1;e+=1){const t=dn(i+h,o+e),s=this.m_hashTable.getFirstInBucket(t);s!==hn.st_nullNode()&&(this.m_bucketArray[a]=s,this.m_bucketHash[a]=t,a++)}for(let h=a-1;h>=1;h--){const e=this.m_bucketArray[h];for(let t=h-1;t>=0;t--)if(e===this.m_bucketArray[t]){this.m_bucketHash[t]=-1,a--,h!==a&&(this.m_bucketHash[h]=this.m_bucketHash[a],this.m_bucketArray[h]=this.m_bucketArray[a]);break}}for(let h=0;h<a;h++)this.collectNearestNeighbourCandidates(e,this.m_bucketHash[h],s,this.m_bucketArray[h],t)}collectNearestNeighbourCandidates(e,t,s,n,r){const i=Qe.getNAN();for(let o=n;o!==hn.st_nullNode();o=this.m_hashTable.getNextInBucket(o)){const n=this.m_hashTable.getElement(o);e===n||-1!==t&&this.m_shape.getUserIndex(n,this.m_hashValues)!==t||(this.m_shape.queryXY(n,i),ln(s.x,s.y,i.x,i.y,this.m_sqrTolerance)&&r.push(o))}}mergeClusters(e,t,s){let n=this.m_shape.getUserIndex(e,this.m_newClusters);const r=this.m_shape.getUserIndex(t,this.m_newClusters);-1===n&&(n=this.m_clusters.createList(),this.m_clusters.addElement(n,e),this.m_shape.setUserIndex(e,this.m_newClusters,n)),-1===r?this.m_clusters.addElement(n,t):this.m_clusters.concatenateLists(n,r),this.m_shape.setUserIndex(t,this.m_newClusters,Be.impossibleIndex2());const i=this.mergeVertices(e,t);if(s){const t=this.m_hashFunction.calculateHashFromVertex(e);this.m_shape.setUserIndex(e,this.m_hashValues,t)}return i}mergeVertices(e,t){const s=Qe.getNAN();this.m_shape.queryXY(e,s);const n=Qe.getNAN();this.m_shape.queryXY(t,n);const r=this.m_shape.getRank(e),i=this.m_shape.getRank(t),o=this.m_shape.getWeight(e),a=this.m_shape.getWeight(t);let h,m,l,g,u=!1;if(r===i?(h=r,m=o+a,l=s.x,s.x!==n.x&&(l=(s.x*o+n.x*a)/m,u=!0),g=s.y,s.y!==n.y&&(g=(s.y*o+n.y*a)/m,u=!0)):(r>i?(l=s.x,g=s.y,m=o,h=r):(l=n.x,g=n.y,m=a,h=i),u=!s.equals(n)),u&&(this.m_shape.setXYMonotonic(e,l,g),this.m_bTrackChanges&&this.m_shape.setGeometryModifiedWithVertex(e,!0),this.m_bHasSegmentParentage)){const s=this.m_shape.getSegmentParentageBreakVertex(e)||this.m_shape.getSegmentParentageBreakVertex(t);this.m_shape.setSegmentParentageBreakVertex(e,s),this.m_shape.setSegmentParentageBreakVertex(t,s)}return this.m_shape.setWeight(e,m),this.m_shape.setRank(e,h),u}needsClustering(){const e={stack:[],error:void 0,hasError:!1};try{zt(e,Nt((()=>{this.m_hashTable=null,this.m_hashFunction=null,this.m_shape.removeUserIndex(this.m_hashValues),this.m_shape.removeUserIndex(this.m_newClusters)})),!1);const t=this.m_shape.getSelectedCount(),s=this.m_shape.getEnvelope2D(this.m_progressTracker);this.m_origin.assign(s.getLowerLeft());const n=Math.max(s.height(),s.width())/(vt()-1);this.m_cellSize<n&&(this.m_cellSize=n,this.m_invCellSize=1/this.m_cellSize),this.m_clusters.clear(),this.m_clusters.reserveLists(this.m_shape.getSelectedCount()/3+1),this.m_clusters.reserveNodes(this.m_shape.getSelectedCount()/3+1),this.m_hashValues=this.m_shape.createUserIndex(),this.m_newClusters=this.m_shape.createUserIndex(),this.m_hashFunction=new pn(this.m_shape,this.m_origin,this.m_sqrTolerance,this.m_invCellSize,this.m_hashValues),this.m_hashTable=new hn(4*t/3,this.m_hashFunction),this.m_hashTable.reserveElements(this.m_shape.getSelectedCount());let r=!1;for(let e=0;e<2;e++){const t=[],s=this.m_shape.queryVertexIteratorOnSelection(this.m_geometry);for(let n=s.next();n!==M;n=s.next()){if(this.progress_(),e>0&&this.m_shape.getUserIndex(n,this.m_newClusters)===Be.impossibleIndex2())continue;let s;if(0===e?(s=this.m_hashFunction.calculateHashFromVertex(n),this.m_shape.setUserIndex(n,this.m_hashValues,s)):s=this.m_shape.getUserIndex(n,this.m_hashValues),this.collectClusterCandidates(n,t),0!==t.length){for(let e=0,s=t.length;e<s;e++){this.progress_();const s=t[e],i=this.m_hashTable.getElement(s);if(this.m_hashTable.deleteNode(s),!this.m_shape.isEqualXY(n,i))return this.m_nsr=new ts(5,this.m_shape.getVertexIndex(n),this.m_shape.getVertexIndex(i)),r=!0,r;this.mergeClusters(n,i,!1)}t.length=0}0===e&&this.m_hashTable.addElement(n,s)}}return r}catch(t){e.error=t,e.hasError=!0}finally{Wt(e)}}clusterNonReciprocal(){const e=this.m_shape.getSelectedCount(),t=this.m_shape.getEnvelope2D(this.m_progressTracker);this.m_origin=t.getLowerLeft();const s=Math.max(t.height(),t.width())/(vt()-1);this.m_cellSize<s&&(this.m_cellSize=s,this.m_invCellSize=1/this.m_cellSize),this.m_clusters.clear(),this.m_clusters.reserveLists(Math.trunc(this.m_shape.getSelectedCount()/3+1)),this.m_clusters.reserveNodes(Math.trunc(this.m_shape.getSelectedCount()/3+1)),this.m_hashValues=this.m_shape.createUserIndex(),this.m_newClusters=this.m_shape.createUserIndex(),this.m_hashFunction=new pn(this.m_shape,this.m_origin,this.m_sqrTolerance,this.m_invCellSize,this.m_hashValues),this.m_hashTable=new hn(Math.trunc(4*e/3),this.m_hashFunction),this.m_hashTable.reserveElements(this.m_shape.getSelectedCount());let n=!1;{const e=this.m_shape.queryVertexIteratorOnSelection(this.m_geometry);for(let t=e.next();t!==M;t=e.next()){this.progress_();const e=this.m_hashFunction.calculateHashFromVertex(t);this.m_shape.setUserIndex(t,this.m_hashValues,e),this.m_hashTable.addElement(t,e)}}{const e=[],t=this.m_shape.queryVertexIteratorOnSelection(this.m_geometry);for(let s=t.next();s!==M;s=t.next()){if(this.m_shape.getUserIndex(s,this.m_newClusters)===Be.impossibleIndex2())continue;let t=this.m_shape.getUserIndex(s,this.m_hashValues);this.m_hashTable.deleteElement(s,t);let r=!1;for(;this.collectClusterCandidates(s,e),0!==e.length;){let t=0;for(let n=0,r=e.length;n<r;n++){this.progress_();const i=e[n],o=this.m_hashTable.getElement(i);this.m_hashTable.deleteNode(i);const a=n+1===r;t|=this.mergeClusters(s,o,a)?1:0}if(r||=0!==t,n||=0!==t,e.length=0,!t)break}r&&(t=this.m_shape.getUserIndex(s,this.m_hashValues)),this.m_hashTable.addElement(s,t)}e.length=0}return n&&this.applyClusterPositions_(),this.m_hashTable=null,this.m_hashFunction=null,this.m_shape.removeUserIndex(this.m_hashValues),this.m_shape.removeUserIndex(this.m_newClusters),n}applyClusterPositions_(){const e=Qe.getNAN();for(let t=this.m_clusters.getFirstList();t!==sn.st_nullNode();t=this.m_clusters.getNextList(t)){let s=this.m_clusters.getFirst(t);const n=this.m_clusters.getElement(s);this.m_shape.queryXY(n,e);const r=this.m_shape.getRank(n),i=this.m_shape.getWeight(n);for(s=this.m_clusters.getNext(s);s!==sn.st_nullNode();s=this.m_clusters.getNext(s)){const t=this.m_clusters.getElement(s);if(this.m_bTrackChanges?this.m_shape.isEqualXYPoint2D(t,e)||(this.m_shape.setXYMonotonicPoint2D(t,e),this.m_shape.setGeometryModifiedWithVertex(t,!0)):this.m_shape.setXYMonotonicPoint2D(t,e),this.m_bHasSegmentParentage){const e=this.m_shape.getSegmentParentageBreakVertex(n)||this.m_shape.getSegmentParentageBreakVertex(t);this.m_shape.setSegmentParentageBreakVertex(n,e),this.m_shape.setSegmentParentageBreakVertex(t,e)}this.m_shape.setWeight(t,i),this.m_shape.setRank(t,r)}}}}class xn{constructor(){this.m_inputParts=[],this.m_resultParts1=[],this.m_resultParts2=[],this.m_resultSegments=[],this.m_freeSegments=[],this.m_inputSegments=[],this.m_param1=[],this.m_param2=[],this.m_tolerance=0,this.m_toleranceZ=0,this.m_point=new fe,this.m_pointWeight=1,this.m_maxDensifyLimit=0,this.m_pointRank=0,this.m_changed1=!1,this.m_changed2=!1,this.m_adaptiveDensify=!1}clear(){this.freeAllResultSegments(),this.m_inputSegments.length=0,this.m_inputParts.length=0,this.m_resultParts1.length=0,this.m_resultParts2.length=0,this.m_param1.length=0,this.m_param2.length=0,this.m_adaptiveDensify=!1,this.m_changed1=!1,this.m_changed2=!1}newIntersectionPart_(e,t,s,n,r,i,o,a,h,m){return Pn(e,t,s,n,r,i,o,a,h,m)}pushSegment(e,t,s,n,r,i,o,a,h,m){return this.m_inputParts.push(this.newIntersectionPart_(this.m_inputSegments.length,t,s,n,r,i,o,a,h,m)),this.m_inputSegments.push(e),this.m_inputParts.length-1}getResultSegmentCount(e){return this.m_adaptiveDensify?0===e?this.m_param1.length-1:this.m_param2.length-1:0===e?this.m_resultParts1.length:this.m_resultParts2.length}getResultPart_(e,t){return 0===e?this.m_resultParts1[t]:this.m_resultParts2[t]}getResultSegment(e,t){return this.m_resultSegments[this.getResultPart_(e,t).segmentIndex].get()}getSegmentChanged(e){return 0===e?this.m_changed1:this.m_changed2}getResultSegmentStartPointWeight(e,t){return this.getResultPart_(e,t).weightStart}getResultSegmentStartPointRank(e,t){return this.getResultPart_(e,t).rankStart}getResultSegmentSegmentParentage(e,t){return this.getResultPart_(e,t).segmentParentage}getResultSegmentStartPointIsBreak(e,t){return this.getResultPart_(e,t).u.bBreakStart}getResultSegmentEndPointWeight(e,t){return this.getResultPart_(e,t).weightEnd}getResultSegmentEndPointRank(e,t){return this.getResultPart_(e,t).rankEnd}getResultSegmentEndPointIsBreak(e,t){return this.getResultPart_(e,t).u.bBreakEnd}getResultSegmentInteriorRank(e,t){return this.getResultPart_(e,t).rankInterior}getResultSegmentInteriorWeight(e,t){return this.getResultPart_(e,t).weightInterior}getResultPoint(){return this.m_point}getResultPointWeight(){return this.m_pointWeight}getResultPointRank(){return this.m_pointRank}getResultPointChanged(){return this.m_changed2}intersectLines(e,t){2!==this.m_inputSegments.length&&i(""),this.m_changed1=!1,this.m_changed2=!1,this.m_tolerance=e;const s=ut(e*xn.c_smallToleranceFactor);let n=!1;const r=this.m_inputParts[0],o=this.m_inputParts[1],a=this.m_inputSegments[r.segmentIndex],h=this.m_inputSegments[o.segmentIndex];if(t||5&U(!0,a,h,e,!0)){const t=Z(!0,a,h,null,this.m_param1,this.m_param2,e);0===t&&i("");const m=new Array(t);for(let e=0;e<t;++e)m[e]=Qe.getNAN();const l=new Float64Array(t),g=new Int32Array(t),u=new Array(t),c=new Array(t);for(let e=0;e<t;++e)u[e]=En(),c[e]=En();for(let e=0;e<t;e++){const t=this.m_param1[e],i=this.m_param2[e];let _,d=r.rankInterior,p=r.weightInterior;0===t?(d=r.rankStart,p=r.weightStart,_=r.u.bBreakStart):1===t?(d=r.rankEnd,p=r.weightEnd,_=r.u.bBreakEnd):(this.m_changed1=!0,_=!1);let f,x=o.rankInterior,y=o.weightInterior;0===i?(x=o.rankStart,y=o.weightStart,f=o.u.bBreakStart):1===i?(x=o.rankEnd,y=o.weightEnd,f=o.u.bBreakEnd):(this.m_changed2=!0,f=!1);const P=d,E=x;let S=1,C=0,I=Qe.getNAN();if(P===E){const n=a.getCoord2D(t),r=h.getCoord2D(i);S=p+y;C=d,St(n,r,y/S,I);const o=Qe.sqrDistance(I,n),m=Qe.sqrDistance(I,r);u[e].bBigMove=o>s,c[e].bBigMove=m>s,this.m_changed1||n.equals(I)||(this.m_changed1=!0),this.m_changed2||r.equals(I)||(this.m_changed2=!0)}else if(P>E){I=a.getCoord2D(t);const n=h.getCoord2D(i);S=p,C=d;const r=Qe.sqrDistance(I,n);u[e].bBigMove=!1,c[e].bBigMove=r>s,this.m_changed2||n.equals(I)||(this.m_changed2=!0)}else{I=h.getCoord2D(i),S=y,C=x;const n=a.getCoord2D(t),r=Qe.sqrDistance(I,n);u[e].bBigMove=r>s,c[e].bBigMove=!1,this.m_changed1||n.equals(I)||(this.m_changed1=!0)}m[e].assign(I),l[e]=S,g[e]=C,u[e].bIsBreak=_||f,c[e].bIsBreak=_||f,n||=u[e].bBigMove||c[e].bBigMove}const _=r.rankInterior,d=r.weightInterior;let p=0,f=-1;for(let s=0;s<=t;s++){const n=s<t?this.m_param1[s]:1;if(n!==p){const i=this.allocResultSegment(),o=this.m_resultSegments[i];let h,c,x,y;a.queryCut(p,n,o,!1),o.get().snapControlPoints(e*e);let P=!1,E=!1,S=!1,C=!1,I=!1,b=Qe.getNAN(),w=Qe.getNAN();-1!==f?(c=g[f],h=l[f],P=u[f].bBigMove,b.assign(m[f]),S=u[f].bIsBreak,I=!0):(h=r.weightStart,c=r.rankStart,b=o.get().getStartXY(),S=r.u.bBreakStart),s<t?(y=g[s],x=l[s],E=u[s].bBigMove,w.assign(m[s]),C=u[s].bIsBreak,I=!0):(x=r.weightEnd,y=r.rankEnd,w=o.get().getEndXY(),C=r.u.bBreakEnd),I&&o.get().setCoordsForIntersector(b,w,!0),this.m_resultParts1.push(this.newIntersectionPart_(i,h,c,x,y,d,_,S,C,r.segmentParentage));const v=this.m_resultParts1.at(-1);v.u.bBigMoveStart=P,v.u.bBigMoveEnd=E,p=n,f=s}else-1===f&&(f=s)}const x=Ke(t,0);for(let e=0;e<t;e++)x[e]=e;t>2?(x.sort(((e,t)=>this.m_param2[e]<this.m_param2[t]?-1:this.m_param2[e]>this.m_param2[t]?1:0)),$e(this.m_param2)):2===t&&this.m_param2[0]>this.m_param2[1]&&(this.m_param2[1]=rt(this.m_param2[0],this.m_param2[0]=this.m_param2[1]),x[1]=rt(x[0],x[0]=x[1]));const y=o.rankInterior,P=o.weightInterior;p=0,f=-1;for(let s=0;s<=t;s++){const n=s<t?this.m_param2[s]:1;if(n!==p){const r=this.allocResultSegment(),i=this.m_resultSegments[r];let a,u,_,d;h.queryCut(p,n,i,!1),i.get().snapControlPoints(e*e);let E=Qe.getNAN(),S=Qe.getNAN(),C=!1,I=!1,b=!1,w=!1,v=!1;if(-1!==f){const e=x[f];a=l[e],u=g[e],E.assign(m[e]),b=c[e].bBigMove,C=c[e].bIsBreak,v=!0}else a=o.weightStart,u=o.rankStart,E=i.get().getStartXY(),C=o.u.bBreakStart;if(s!==t){const e=x[s];_=l[e],d=g[e],S.assign(m[e]),w=c[e].bBigMove,I=c[e].bIsBreak,v=!0}else _=o.weightEnd,d=o.rankEnd,S=i.get().getEndXY(),I=o.u.bBreakEnd;v&&i.get().setCoordsForIntersector(E,S,!0),this.m_resultParts2.push(this.newIntersectionPart_(r,a,u,_,d,P,y,C,I,o.segmentParentage));const N=this.m_resultParts2.at(-1);N.u.bBigMoveStart=b,N.u.bBigMoveEnd=w,p=n,f=s}else-1===f&&(f=s)}return n?3:2}return 0}intersectLines3D(e,t,s,n){return a(0),1}intersect2D(e,t){const s=this.m_inputParts[0],r=this.m_inputParts[1],i=this.m_inputSegments[s.segmentIndex].getGeometryType(),o=this.m_inputSegments[r.segmentIndex].getGeometryType();if(i!==n.enumLine||o!==n.enumLine){return new bn(this).intersectCurves(e,t)}return this.intersectLines(e,t)}intersect2DEx(e,t,s,n,r){this.m_point.assignCopy(t),1!==this.m_inputSegments.length&&i(""),this.m_tolerance=e,this.m_changed1=!1,this.m_changed2=!1;const o=ut(e*xn.c_smallToleranceFactor);let a=!1;const h=this.m_inputParts[0],m=this.m_inputSegments[h.segmentIndex];if(r||m.isIntersectingPoint(t.getXY(),e,!0)){this.m_param1=Ke(16,Number.NaN);const r=m.getClosestCoordinate(t.getXY(),!1);this.m_param1[0]=r;let i=h.rankInterior,l=h.weightInterior;0===r?(i=h.rankStart,l=h.weightStart):1===r?(i=h.rankEnd,l=h.weightEnd):this.m_changed1=!0;let g=i;const u=s,c=n;g===u&&m.isCurve()&&(g=u+1);let _=1,d=0;const p=new Qe;if(g===u){const e=m.getCoord2D(r),s=t.getXY();_=l+c,d=i;St(e,s,c/_,p),this.m_changed1||e.equals(p)||(this.m_changed1=!0),this.m_changed2||s.equals(p)||(this.m_changed2=!0);a=Qe.sqrDistance(p,e)>o}else if(g>u)p.assign(m.getCoord2D(r)),_=l,d=i,this.m_changed2||p.equals(t.getXY())||(this.m_changed2=!0);else{p.assign(m.getCoord2D(r)),_=c,d=u,this.m_changed1||p.equals(t.getXY())||(this.m_changed1=!0);a=Qe.sqrDistance(p,t.getXY())>o}let f=0,x=-1;const y=1;for(let t=0;t<=y;t++){const s=t<y?this.m_param1[0]:1;if(s!==f){const n=this.allocResultSegment(),r=this.m_resultSegments[n];m.queryCut(f,s,r),r.get().snapControlPoints(e*e);let i=h.weightStart,o=h.weightEnd,a=h.rankStart,l=h.rankEnd;const g=h.rankInterior,u=h.weightInterior;let c=h.u.bBreakStart,P=h.u.bBreakEnd;-1!==x&&(i=_,a=d,c=!0,r.get().setCoordsForIntersector(p,r.get().getEndXY(),!0)),t!==y&&(o=_,l=d,P=!0,r.get().setCoordsForIntersector(r.get().getStartXY(),p,!0)),f=s,this.m_resultParts1.push(this.newIntersectionPart_(n,i,a,o,l,u,g,c,P,h.segmentParentage))}x=t}return this.m_point.setXY(p),this.m_pointWeight=_,this.m_pointRank=d,a?3:2}return 0}intersect3D(e,t,s,n){return a(0),1}intersect3DEx(e,t,s,n,r,i,o){return a(0),1}getTolerance(){return this.m_tolerance}freeAllResultSegments(){this.m_resultSegments.length=0,this.m_freeSegments.length=0}freeResultSegment(e){this.m_freeSegments.push(e)}allocResultSegment(){if(this.m_freeSegments.length){return this.m_freeSegments.pop()}const e=new F,t=this.m_resultSegments.length;return this.m_resultSegments.push(e),t}allocResultSegmentFromBuffer(e){if(this.m_freeSegments.length){return this.m_freeSegments.pop()}const t=new F({copy:e}),s=this.m_resultSegments.length;return this.m_resultSegments.push(t),s}allocResultSegmentFromSegment(e){if(this.m_freeSegments.length){return this.m_freeSegments.pop()}const t=new F({segment:e}),s=this.m_resultSegments.length;return this.m_resultSegments.push(t),s}}function yn(e,t){return{bBigMoveStart:!1,bBigMoveEnd:!1,bBreakStart:e,bBreakEnd:t}}function Pn(e,t,s,n,r,i,o,a,h,m){return{segmentIndex:e,weightStart:t,rankStart:s,weightEnd:n,rankEnd:r,weightInterior:i,rankInterior:o,segmentParentage:m,u:yn(a,h)}}function En(){return{bBigMove:!1,bIsBreak:!1}}xn.maxWeight=.1*Number.MAX_VALUE,xn.c_smallToleranceFactor=.01,xn.c_maxGeometryTypeToRankDelta=8;let Sn=class{constructor(){this.start=null,this.end=null,this.equalEdge=null,this.segmentIndex=-1,this.segmentParentage=-1,this.weight=0,this.rank=0}hasSegment(){return this.segmentIndex>=0}transferAttributes(e,t,s){if(1===t.getDescription().getAttributeCount())return;const n=e.parent.m_resultSegments[this.segmentIndex].get().getStartXY(),r=e.parent.m_resultSegments[this.segmentIndex].get().getEndXY(),i=new fe;t.queryStart(i),s?(i.setXY(n),e.parent.m_resultSegments[this.segmentIndex].get().setStart(i)):(i.setXY(r),e.parent.m_resultSegments[this.segmentIndex].get().setEnd(i)),t.queryEnd(i),s?(i.setXY(r),e.parent.m_resultSegments[this.segmentIndex].get().setEnd(i)):(i.setXY(n),e.parent.m_resultSegments[this.segmentIndex].get().setStart(i))}copyFromWhenOverlap(e,t,s){this.equalEdge=t,t.equalEdge=this,this.segmentIndex=e.parent.allocResultSegmentFromBuffer(e.parent.m_resultSegments[t.segmentIndex]),this.segmentParentage=t.segmentParentage,this.weight=t.weight,this.rank=t.rank,s?(this.start.copyFrom(t.start),this.end.copyFrom(t.end)):(this.start.copyFrom(t.end),this.end.copyFrom(t.start),e.parent.m_resultSegments[this.segmentIndex].get().reverse())}getEnd(){return this.end}getNextInChain(){return this.end.nextInChain}getPrevInChain(){return this.start.prevInChain}};class Cn{constructor(){this.hash=0,this.pt=new Qe,this.prevInChain=null,this.nextInChain=null,this.prevInHash=null,this.nextInHash=null,this.prevEqual=null,this.nextEqual=null,this.weight=0,this.rank=0,this.bBigMove=!1,this.bIsBreak=!1}copyFrom(e){this.pt.assign(e.pt),this.weight=e.weight,this.rank=e.rank,this.bBigMove=e.bBigMove,this.bIsBreak=e.bIsBreak}nextNode(){return this.nextInChain?this.nextInChain.end:null}prevNode(){return this.prevInChain?this.prevInChain.start:null}equalListHead(){let e=this;for(;null!==e.prevEqual;e=e.prevEqual);return e}}function In(e,t,s,n){return{edge1:e,edge2:t,recursion:s,bIsIntersecting:n}}class bn{constructor(e){this.m_pairs=[],this.m_chainOrigin1=null,this.m_chainOrigin2=null,this.m_newNodes=[],this.m_hashTableOfEquals=[],this.m_hashTableOfEqualsSize=0,this.m_origin=new Qe,this.m_cell=new Qe,this.parent=e}addSegment(e,t,s,n,r,i,o,h,m,l,g){const u=this.newNode(this.parent.m_resultSegments[e].get().getStartXY(),s,n,m),c=this.newNode(this.parent.m_resultSegments[e].get().getEndXY(),r,i,l);this.newEdge(u,c,e,o,h,g),null===this.m_chainOrigin1?this.m_chainOrigin1=u:null===this.m_chainOrigin2?this.m_chainOrigin2=u:a(0)}intersectCurvesHelper(e,t,s,r,o){const h=this.getSegment(e).get(),m=this.getSegment(t).get();if(h.isDegenerate(0)||m.isDegenerate(0))return 0;const l=this.tryOverlapIntersectCurves(e,t,s,r);if(0!==l)return l;const g=ut(.01*s);let u=!1,c=this.processSharpCorners(h,m,s,o>4);const _=c>0;if(!_){if(!(r||5&j(!0,!1,h,m,s,!0)))return 0;c=Z(!0,h,m,null,this.parent.m_param1,this.parent.m_param2,s)}0===c&&i("");const d=h.getGeometryType(),p=m.getGeometryType(),f=lt(Qe,c),x=lt(Qe,c),y=Ke(c,Number.NaN),P=Ke(c,Number.NaN),E=Ke(c,Number.NaN),S=Ke(c,Number.NaN),C=Tt(En,c),I=Tt(En,c);let b=!1,w=!1;for(let n=0;n<c;n++){const r=this.parent.m_param1[n],i=this.parent.m_param2[n];let o=e.rank,a=e.weight,l=!0,c=!1;0===r?(o=e.start.rank,a=e.start.weight,c=e.start.bIsBreak):1===r?(o=e.end.rank,a=e.end.weight,c=e.end.bIsBreak):(b=!0,l=!1);let v=t.rank,N=t.weight,T=!1,G=!0;0===i?(v=t.start.rank,N=t.start.weight,T=t.start.bIsBreak):1===i?(v=t.end.rank,N=t.end.weight,T=t.end.bIsBreak):(w=!0,G=!1);let D=o,V=v;if(D===V&&(D*=xn.c_maxGeometryTypeToRankDelta,V*=xn.c_maxGeometryTypeToRankDelta,D+=wn(d,h,!1),V+=wn(p,m,!1)),l&&G&&V===D){const e=h.getCoord2D(r),t=m.getCoord2D(i);e.equals(t)&&(V=D-1)}let F=1,H=0,k=1,A=0;const M=new Qe,U=new Qe,q=h.getCoord2D(r),B=m.getCoord2D(i);if(_&&Qe.distance(q,B)>s)M.setCoordsPoint2D(q),U.setCoordsPoint2D(B),F=a,k=N,H=o,A=v,C[n].bBigMove=!1,I[n].bBigMove=!1,c=!0,T=!0;else if(D===V){k=F=a+N,A=H=o;St(q,B,N/F,M),U.setCoordsPoint2D(M);const e=Qe.sqrDistance(M,q),t=Qe.sqrDistance(M,B);C[n].bBigMove=e>g,I[n].bBigMove=t>g,b||q.equals(M)||(b=!0),w||B.equals(U)||(w=!0)}else if(D>V){M.setCoordsPoint2D(q),U.setCoordsPoint2D(M),k=F=a,A=H=o;const e=Qe.sqrDistance(M,B);C[n].bBigMove=!1,I[n].bBigMove=e>g,w||B.equals(U)||(w=!0)}else{U.setCoordsPoint2D(B),M.setCoordsPoint2D(U),k=F=N,A=H=v;const e=Qe.sqrDistance(M,q);C[n].bBigMove=e>g,I[n].bBigMove=!1,b||q.equals(M)||(b=!0)}f[n].assign(M),x[n].assign(U),y[n]=F,P[n]=k,E[n]=H,S[n]=A,C[n].bIsBreak=c||T,I[n].bIsBreak=c||T,u||=C[n].bBigMove||I[n].bBigMove,n>0&&(r!==this.parent.m_param1[n-1]&&i!==this.parent.m_param2[n-1]||(E[n]<=E[n-1]?(f[n].assign(x[n-1]),y[n]=P[n-1],E[n]=S[n-1],x[n].assign(x[n-1]),P[n]=P[n-1],S[n]=S[n-1],C[n].bBigMove||=C[n-1].bBigMove,I[n].bBigMove||=I[n-1].bBigMove,C[n].bIsBreak||=C[n-1].bIsBreak,I[n].bIsBreak||=I[n-1].bIsBreak):(f[n-1].assign(f[n]),y[n-1]=y[n],E[n-1]=E[n],x[n-1].assign(x[n]),P[n-1]=P[n],S[n-1]=S[n],C[n-1].bBigMove||=C[n].bBigMove,I[n-1].bBigMove||=I[n].bBigMove,C[n-1].bIsBreak||=C[n].bIsBreak,I[n-1].bIsBreak||=I[n].bIsBreak)))}if(!(b||w||2!==c||d===n.enumLine&&p===n.enumLine)){if(this.processDoublyConnectedEdges(e,t,o+1,s))return this.parent.m_changed1=!0,this.parent.m_changed2=!0,2;a(0)}this.parent.m_changed1||=b,this.parent.m_changed2||=w;let v=e,N=e.end.weight,T=e.end.rank,G=e.end.bBigMove,D=e.end.bIsBreak,V=0,F=-1;for(let n=0;n<=c;n++){const t=n<c?this.parent.m_param1[n]:1;if(t!==V){const r=this.parent.allocResultSegment(),i=this.parent.m_resultSegments[r];let o,a,m,l;h.queryCut(V,t,i,!1),i.get().snapControlPoints(s*s);let g=!1,u=!1,_=!1,d=!1;const p=new Qe,x=new Qe;-1!==F?(a=E[F],o=y[F],_=C[F].bBigMove,g=C[F].bIsBreak,p.assign(f[F])):(o=e.start.weight,a=e.start.rank,_=e.start.bBigMove,g=e.start.bIsBreak,p.assign(i.get().getStartXY())),n<c?(l=E[n],m=y[n],d=C[n].bBigMove,u=C[n].bIsBreak,x.assign(f[n])):(m=N,l=T,d=G,u=D,x.assign(i.get().getEndXY()));let P=v;t<1&&(this.splitEdgeInPlace(v),P=v.getNextInChain()),this.updateSegmentOnly(v,r),0===v.start.hash||v.start.pt.equals(p)||(this.m_newNodes.push(v.start),this.removeNodeFromHash(v.start),v.start.hash=0),0===v.end.hash||v.end.pt.equals(x)||(this.m_newNodes.push(v.end),this.removeNodeFromHash(v.end),v.end.hash=0),v.start.pt.assign(p),v.end.pt.assign(x),v.start.bBigMove||=_,v.end.bBigMove||=d,v.start.bIsBreak||=g,v.end.bIsBreak||=u,v.start.weight=o,v.start.rank=a,v.end.weight=m,v.end.rank=l,v=P,V=t,F=n}else-1===F&&(F=n)}const H=v.getNextInChain(),k=[];k.length=c;for(let n=0;n<c;n++)k[n]=n;c>2?(k.sort(((e,t)=>Gt(this.parent.m_param2[e],this.parent.m_param2[t]))),this.parent.m_param2.sort(Gt)):2===c&&this.parent.m_param2[0]>this.parent.m_param2[1]&&(this.parent.m_param2[1]=rt(this.parent.m_param2[0],this.parent.m_param2[0]=this.parent.m_param2[1]),k[1]=rt(k[0],k[0]=k[1])),v=t,N=t.end.weight,T=t.end.rank,G=t.end.bBigMove,D=t.end.bIsBreak,V=0,F=-1;for(let n=0;n<=c;n++){const e=n<c?this.parent.m_param2[n]:1;if(e!==V){const r=this.parent.allocResultSegment(),i=this.parent.m_resultSegments[r];let o,a,h,l;m.queryCut(V,e,i,!1),i.get().snapControlPoints(s*s);const g=new Qe,u=new Qe;let _=!1,d=!1,p=!1,f=!1;if(-1!==F){const e=k[F];o=P[e],a=S[e],g.assign(x[e]),p=I[e].bBigMove,_=I[e].bIsBreak}else o=t.start.weight,a=t.start.rank,p=t.start.bBigMove,_=t.start.bIsBreak,g.assign(i.get().getStartXY());if(n!==c){const e=k[n];h=P[e],l=S[e],u.assign(x[e]),f=I[e].bBigMove,d=I[e].bIsBreak}else h=N,l=T,f=G,d=D,u.assign(i.get().getEndXY());let y=v;e<1&&(this.splitEdgeInPlace(v),y=v.getNextInChain()),this.updateSegmentOnly(v,r),0===v.start.hash||v.start.pt.equals(g)||(this.m_newNodes.push(v.start),this.removeNodeFromHash(v.start),v.start.hash=0),0===v.end.hash||v.end.pt.equals(u)||(this.m_newNodes.push(v.end),this.removeNodeFromHash(v.end),v.end.hash=0),v.start.pt.assign(g),v.end.pt.assign(u),v.start.bBigMove||=p,v.end.bBigMove||=f,v.start.bIsBreak||=_,v.end.bIsBreak||=d,v.start.weight=o,v.start.rank=a,v.end.weight=h,v.end.rank=l,v=y,V=e,F=n}else-1===F&&(F=n)}const A=v.getNextInChain();return this.postProcessResultPartsForCurves(e,H,t,A,o+1),u?3:2}intersectCurves(t,s){2!==this.parent.m_inputSegments.length&&i(""),this.parent.m_changed1=!1,this.parent.m_changed2=!1,this.parent.m_tolerance=t,this.m_hashTableOfEqualsSize=0,this.m_hashTableOfEquals=Je(16);const n=e.constructEmpty();for(let i=0;i<2;i++){const t=this.parent.allocResultSegmentFromSegment(this.parent.m_inputSegments[this.parent.m_inputParts[i].segmentIndex]),s=e.constructEmpty();this.parent.m_inputSegments[this.parent.m_inputParts[i].segmentIndex].queryLooseEnvelope(s),n.mergeEnvelope2D(s);const r=this.parent.m_inputParts[i];this.addSegment(t,0,r.weightStart,r.rankStart,r.weightEnd,r.rankEnd,r.weightInterior,r.rankInterior,r.u.bBreakStart,r.u.bBreakEnd,r.segmentParentage)}n.inflateCoords(100*t,100*t),this.m_origin.assign(n.getLowerLeft()),this.m_cell.setCoords(2*t,2*t),this.m_pairs.push(In(this.m_chainOrigin1.nextInChain,this.m_chainOrigin2.nextInChain,0,s));let r=0,o=!0;for(;this.m_pairs.length;){const e=this.m_pairs.at(-1);this.m_pairs.pop(),a(e.recursion>=0),a(e.recursion<=256),this.clusterNodes(t);const s=this.intersectCurvesHelper(e.edge1,e.edge2,t,e.bIsIntersecting,e.recursion);o&&(o=!1,r=s)}for(let e=0;e<2;e++){const t=0===e?this.parent.m_resultParts1:this.parent.m_resultParts2;for(let s=(0===e?this.m_chainOrigin1:this.m_chainOrigin2).nextInChain;null!=s;s=s.getNextInChain())t.push(this.parent.newIntersectionPart_(s.segmentIndex,s.start.weight,s.start.rank,s.end.weight,s.end.rank,s.weight,s.rank,s.start.bIsBreak,s.end.bIsBreak,s.segmentParentage)),t.at(-1).u.bBigMoveStart=s.start.bBigMove,t.at(-1).u.bBigMoveEnd=s.end.bBigMove}return r}tryOverlapIntersectCurves(e,t,s,n){const r=this.parent.m_resultSegments[e.segmentIndex].get(),i=this.parent.m_resultSegments[t.segmentIndex].get(),o=r.getStartXY().equals(i.getStartXY())&&r.getEndXY().equals(i.getEndXY()),h=r.getStartXY().equals(i.getEndXY())&&r.getEndXY().equals(i.getStartXY());if(!o&&!h)return 0;const m=$(r,i,!0);if(0!==m&&ee(r,i)&&e.segmentParentage===t.segmentParentage){let e=!1;if(m>0)e=r.equals(i);else{a(-1===m);const t=new F({segment:i});t.get().reverse(),e=r.equals(t.get())}if(e)return 1}const l=s*xn.c_smallToleranceFactor;let g=!1;if(0===m){const e=[.5,.25,.75,.125,.375,.625,.875,.5625,.3125];for(let t=0,n=e.length;t<n;++t){const n=e[t],o=new Qe;r.queryCoord2D(n,o);const a=i.getClosestCoordinate(o,!1),h=new Qe;i.queryCoord2D(a,h);const m=Qe.distance(o,h);if(m>s)return 0;g||=m>l}for(let t=0,n=e.length;t<n;++t){const n=e[t],o=new Qe;i.queryCoord2D(n,o);const a=r.getClosestCoordinate(o,!1),h=new Qe;r.queryCoord2D(a,h);const m=Qe.distance(o,h);if(m>s)return 0;g||=m>l}}let u=e.rank,c=t.rank;return u===c&&(u*=xn.c_maxGeometryTypeToRankDelta,c*=xn.c_maxGeometryTypeToRankDelta,u+=wn(r.getGeometryType(),r,!0),c+=wn(i.getGeometryType(),i,!0)),u>c?(t.copyFromWhenOverlap(this,e,o),t.transferAttributes(this,r,o)):c>u?(e.copyFromWhenOverlap(this,t,o),e.transferAttributes(this,i,o)):e.segmentParentage<=t.segmentParentage?(e.weight=e.weight+t.weight,t.copyFromWhenOverlap(this,e,o),t.transferAttributes(this,r,o)):(t.weight=e.weight+t.weight,e.copyFromWhenOverlap(this,t,o),e.transferAttributes(this,i,o)),g?3:2}postProcessResultPartsForCurves(e,t,s,n,r){r===Dt()&&i("curve_helper");for(let i=e;i!==t;i=i.getNextInChain())this.updateSegmentToNodes(i);for(let i=s;i!==n;i=i.getNextInChain())this.updateSegmentToNodes(i);for(let o=e;o!==t;o=o.getNextInChain()){const e=o.end.pt.sub(o.start.pt);for(let t=s;t!==n;t=t.getNextInChain()){let s=0;if(o.start.pt.equals(t.start.pt)&&o.end.pt.equals(t.end.pt)?s=1:o.start.pt.equals(t.end.pt)&&o.end.pt.equals(t.start.pt)&&(s=-1),!s){let s=o.start.pt.equals(t.start.pt)?1:0;if(s||(s=o.end.pt.equals(t.end.pt)?2:0,s||(s=o.end.pt.equals(t.start.pt)?3:0,s||(s=o.start.pt.equals(t.end.pt)?4:0))),s){const n=t.end.pt.sub(t.start.pt),a=e.dotProduct(n);let h;switch(s){case 1:case 2:h=a>0;break;case 3:case 4:h=a<0;break;default:i("post_process_result_parts_for_curves_")}h&&this.m_pairs.push(In(o,t,r,!1))}continue}const n=this.parent.m_resultSegments[o.segmentIndex],a=this.parent.m_resultSegments[t.segmentIndex],h=[.5,.25,.75];for(let e=0,t=h.length;e<t;++e){const t=h[e],r=new Qe;n.get().queryCoord2D(t,r);const i=a.get().getClosestCoordinate(r,!1),o=new Qe;a.get().queryCoord2D(i,o);if(Qe.distance(r,o)>this.parent.m_tolerance){s=0;break}}if(!s){this.m_pairs.push(In(o,t,r,!1));continue}for(let e=0,t=h.length;e<t;++e){const t=h[e],r=new Qe;a.get().queryCoord2D(t,r);const i=n.get().getClosestCoordinate(r,!1),o=new Qe;n.get().queryCoord2D(i,o);if(Qe.distance(r,o)>this.parent.m_tolerance){s=0;break}}if(!s){this.m_pairs.push(In(o,t,r,!1));continue}o.equalEdge=t,t.equalEdge=o;let m=o.rank,l=t.rank;m===l&&(m*=xn.c_maxGeometryTypeToRankDelta,l*=xn.c_maxGeometryTypeToRankDelta,m+=wn(n.get().getGeometryType(),n.get(),!0),l+=wn(a.get().getGeometryType(),a.get(),!0)),m>l||m===l&&o.segmentParentage<=t.segmentParentage?(n.copyTo(a,!1),t.segmentParentage=o.segmentParentage,-1===s&&a.get().reverse()):(a.copyTo(n,!1),o.segmentParentage=t.segmentParentage,-1===s&&n.get().reverse());break}}this.updateAttachedEdgesAfterNodeChange(e.start),t&&this.updateAttachedEdgesAfterNodeChange(t.start),this.updateAttachedEdgesAfterNodeChange(s.start),n&&this.updateAttachedEdgesAfterNodeChange(n.start)}processDoublyConnectedEdges(e,t,s,n){s===Dt()&&i("curve_helper");const r=this.getSegment(e).get(),o=this.getSegment(t).get(),a=r.getStartXY().equals(o.getStartXY())&&r.getEndXY().equals(o.getEndXY())?1:r.getEndXY().equals(o.getStartXY())&&r.getStartXY().equals(o.getEndXY())?-1:0;if(0!==a){const i=new F;r.queryCut(0,.5,i),i.get().snapControlPoints(n*n);const h=new F;r.queryCut(.5,1,h),h.get().snapControlPoints(n*n),this.splitEdgeInPlace(e),e.end.pt=i.get().getEndXY(),e.segmentIndex=this.parent.allocResultSegmentFromBuffer(i),e.getNextInChain().segmentIndex=this.parent.allocResultSegmentFromBuffer(h);let m=o.getClosestCoordinate(e.end.pt,!1);return Math.abs(m-.5)>.2&&(m=.5),o.queryCut(0,m,i),i.get().snapControlPoints(n*n),o.queryCut(m,1,h),h.get().snapControlPoints(n*n),this.splitEdgeInPlace(t),t.end.pt=i.get().getEndXY(),t.segmentIndex=this.parent.allocResultSegmentFromBuffer(i),t.getNextInChain().segmentIndex=this.parent.allocResultSegmentFromBuffer(h),a>0?(this.m_pairs.push(In(e,t,s,!1)),this.m_pairs.push(In(e.getNextInChain(),t.getNextInChain(),s,!1))):(this.m_pairs.push(In(e,t.getNextInChain(),s,!1)),this.m_pairs.push(In(e.getNextInChain(),t,s,!1))),!0}return!1}newNode(e,t,s,n){const r=new Cn;return this.m_newNodes.push(r),r.pt=e,r.rank=s,r.weight=t,r.bIsBreak=n,r}newEdge(e,t,s,n,r,i){const o=new Sn;return o.start=e,o.end=t,e.nextInChain=o,t.prevInChain=o,o.segmentIndex=s,o.segmentParentage=i,o.rank=r,o.weight=n,o}splitEdgeInPlace(e){e.segmentIndex=-1;const t=new Sn,s=new Cn;this.m_newNodes.push(s),s.pt.setNAN(),s.nextInChain=t,s.prevInChain=e,s.prevInHash=null,s.nextInHash=null,s.prevEqual=null,s.nextEqual=null,s.weight=e.weight,s.rank=e.rank,s.bIsBreak=!1,s.bBigMove=!1,t.start=s,t.segmentIndex=-1,t.end=e.end,t.end.prevInChain=t,t.rank=e.rank,t.weight=e.weight,t.segmentParentage=e.segmentParentage,e.end=s,e.equalEdge&&(e.equalEdge.equalEdge=null),e.equalEdge=null}updateSegmentOnly(e,t){e.segmentIndex=t}updateAttachedEdgesAfterNodeChange(e){for(let t=e.equalListHead();null!==t;t=t.nextEqual)this.updateAttachedEdgesAfterNodeChangeImpl(t)}updateAttachedEdgesAfterNodeChangeImpl(e){const t=e.prevInChain;if(t&&t.hasSegment()){const s=this.getSegment(t).get();e.pt.equals(s.getEndXY())||(s.setCoordsForIntersector(t.start.pt,t.end.pt,!1),s.ensureXYMonotone())}const s=e.nextInChain;if(s&&s.hasSegment()){const t=this.getSegment(s).get();e.pt.equals(t.getStartXY())||(t.setCoordsForIntersector(s.start.pt,s.end.pt,!1),t.ensureXYMonotone())}}updateSegmentToNodes(e){const t=this.getSegment(e).get();e.start.pt.equals(t.getStartXY())&&e.end.pt.equals(t.getEndXY())||(t.setCoordsForIntersector(e.start.pt,e.end.pt,!1),t.ensureXYMonotone()),this.updateAttachedEdgesAfterNodeChange(e.start),this.updateAttachedEdgesAfterNodeChange(e.end)}getSegment(e){return this.parent.m_resultSegments[e.segmentIndex]}clusterNodes(e){let t=!1;const s=[],n=[],r=[];for(let i=0,o=this.m_newNodes.length;i<o;i++){const e=this.m_newNodes[i];if(null===e)continue;let t=e;for(let s=i+1;s<o;s++){const n=this.m_newNodes[s];null!==n&&(e.pt.equals(n.pt)&&(t.nextInHash=n,n.prevInHash=t,t=n,this.m_newNodes[s]=null))}}for(let i=0,o=this.m_newNodes.length;i<o;i++){const o=this.m_newNodes[i];if(null==o)continue;for(o.hash=this.calculateHash(o.pt);;){const i=Je(4),a=this.hashTableBinsToCheck(o,i);for(let t=0;t<a;t++)if(null!==i[t])for(let a=i[t];null!==a;){const t=a.nextInHash;Qe.distance(o.pt,a.pt)<=e&&(s.push(a),this.removeNodeFromHash(a),a.hash=0,r.push(a),n.push(a)),a=t}let h=!1;for(const e of s)if(!o.pt.equals(e.pt)){const s=un(o.pt,e.pt,o.weight,o.rank,e.weight,e.rank);o.pt.assign(s.pt),o.weight=s.weight,o.rank=s.rank,h=!0,t=!0}if(s.length=0,!h)break;o.hash=this.calculateHash(o.pt)}r.push(o),n.push(o);for(let e=o.nextInHash;null!==e;){e.prevInHash=null;const t=e.nextInHash;e.nextInHash=null,r.push(e),n.push(e),e=t}const a=o.hash;let h=null,m=null;for(const e of n)o!==e&&(e.hash=a,e.pt.assign(o.pt),e.rank=o.rank,e.weight=o.weight),e.prevInHash=h,h&&(h.nextInHash=e),e.prevEqual=m,e.nextEqual=null,m&&(m.nextEqual=e),m=e,h=e;const l=a%this.m_hashTableOfEquals.length;h.nextInHash=this.m_hashTableOfEquals[l],null!==this.m_hashTableOfEquals[l]&&(this.m_hashTableOfEquals[l].prevInHash=h),this.m_hashTableOfEquals[l]=n[0],this.m_hashTableOfEqualsSize+=n.length,n.length=0,this.rehashIfNeeded()}if(this.m_newNodes.length=0,t)for(const i of r)this.updateAttachedEdgesAfterNodeChange(i)}rehashIfNeeded(){if(2*this.m_hashTableOfEqualsSize>this.m_hashTableOfEquals.length){const e=this.m_hashTableOfEquals;this.m_hashTableOfEquals=Je(2*e.length),this.m_hashTableOfEqualsSize=0;for(const t of e){let e=t;for(;e;){const t=e.nextInHash;e.nextInHash=null,e.prevInHash=null,this.addNodeToHashImpl(e),e=t}}}}addNodeToHashImpl(e){const t=e.hash%this.m_hashTableOfEquals.length,s=this.m_hashTableOfEquals[t];e.nextInHash=s,null!==s&&(s.prevInHash=e),this.m_hashTableOfEquals[t]=e,this.m_hashTableOfEqualsSize++}removeNodeFromHash(e){const t=e.hash%this.m_hashTableOfEquals.length,s=e.prevInHash,n=e.nextInHash;s?s.nextInHash=n:this.m_hashTableOfEquals[t]=n,n&&(n.prevInHash=s),this.m_hashTableOfEqualsSize--,e.prevInHash=null,e.nextInHash=null}hashTableBinsToCheck(e,t){const s=(e.pt.x-this.m_origin.x)/this.m_cell.x,n=(e.pt.y-this.m_origin.y)/this.m_cell.y,r=vt()-1,i=Math.round(It(s,-2147483646,r)),o=Math.round(It(n,-2147483646,r));let a=i|o<<32;a=Ze(a),t[0]=this.m_hashTableOfEquals[a%this.m_hashTableOfEquals.length];let h=i+1|o<<32;h=Ze(h);let m=1;t[1]=this.m_hashTableOfEquals[h%this.m_hashTableOfEquals.length],t[1]!==t[0]&&(m=2);let l=i+1|o+1<<32;l=Ze(l),t[m]=this.m_hashTableOfEquals[l%this.m_hashTableOfEquals.length];for(let u=0;u<m;u++)if(t[m]===t[u]){m--;break}m++;let g=i|o+1<<32;g=Ze(g),t[m]=this.m_hashTableOfEquals[g%this.m_hashTableOfEquals.length];for(let u=0;u<m;u++)if(t[m]===t[u]){m--;break}return m++,m}calculateHash(e){const t=(e.x-this.m_origin.x)/this.m_cell.x,s=(e.y-this.m_origin.y)/this.m_cell.y,n=vt()-1;let r=Math.round(It(t,-2147483646,n))|Math.round(It(s,-2147483646,n))<<32;return r=Ze(r),0===r&&(r=1),r}processSharpCorners(e,t,s,n){if(this.parent.m_param1.length=0,this.parent.m_param2.length=0,e.getStartXY().equals(t.getStartXY())){const r=[0,0],i=[0,0],o=te(e,t,0,0,s,2,r,i,n);if(o){this.parent.m_param1.push(0),this.parent.m_param2.push(0);for(let e=0;e<o;e++)this.parent.m_param1.push(r[e]),this.parent.m_param2.push(i[e]);return o+1}}if(e.getEndXY().equals(t.getEndXY())){const r=[0,0],i=[0,0],o=te(e,t,1,1,s,2,r,i,n);if(o){for(let e=0;e<o;e++)this.parent.m_param1.push(r[e]),this.parent.m_param2.push(i[e]);return this.parent.m_param1.push(1),this.parent.m_param2.push(1),o+1}}if(e.getStartXY().equals(t.getEndXY())){const r=[0,0],i=[0,0],o=te(e,t,0,1,s,2,r,i,n);if(o){this.parent.m_param1.push(0),this.parent.m_param2.push(1);for(let e=0;e<o;e++)this.parent.m_param1.push(r[e]),this.parent.m_param2.push(i[e]);return o+1}}if(e.getEndXY().equals(t.getStartXY())){const r=[0,0],i=[0,0],o=te(e,t,1,0,s,2,r,i,n);if(o){for(let e=0;e<o;e++)this.parent.m_param1.push(r[e]),this.parent.m_param2.push(i[e]);return this.parent.m_param1.push(1),this.parent.m_param2.push(0),o+1}}return 0}}function wn(e,t,s){let r=0;switch(e){case n.enumLine:r=0;break;case n.enumBezier:r=2;break;case n.enumRationalBezier2:r=3;break;case n.enumBezier2:r=1;break;case n.enumEllipticArc:r=0===t.projectionBehavior()?5:4;break;default:i("")}return s?5-r:r}class vn extends on{constructor(e){super(e.m_shape,e.m_tolerance,!1),this.m_parent=e}compare(e,t,s){if(this.m_bIntersectionDetected)return-1;const n=e.getElement(s),r=this.m_parent.getEdgeOriginVertices(t),i=this.m_parent.m_edgeVertices.getFirstElement(r),o=this.m_parent.getEdgeOriginVertices(n),a=this.m_parent.m_edgeVertices.getFirstElement(o);return this.m_currentNode=s,this.compareSegments(t,i,n,a)}}class Nn extends an{constructor(e){super(e.m_shape,e.m_tolerance),this.m_parent=e}compare(e,t){if(this.m_bIntersectionDetected)return-1;const s=e.getElement(t),n=this.m_parent.getEdgeOriginVertices(s),r=this.m_parent.m_edgeVertices.getFirstElement(n);return this.m_currentNode=t,this.compareVertex(e,t,r)}}class Tn extends Ye{constructor(e){super(),this.pt1=Qe.getNAN(),this.pt2=Qe.getNAN(),this.m_shape=e}compare(e,t,s){this.m_shape.queryXY(t,this.pt1);const n=e.getElement(s);return this.m_shape.queryXY(n,this.pt2),this.pt1.compare(this.pt2)}}class Gn{constructor(e){this.m_point=Qe.getNAN(),this.m_pt=Qe.getNAN(),this.m_shape=e}setPoint(e){this.m_point.setCoordsPoint2D(e)}compare(e,t){const s=e.getElement(t);return this.m_shape.queryXY(s,this.m_pt),this.m_point.compare(this.m_pt)}}class Dn{constructor(e,t){this.m_shape=null,this.m_progressTracker=null,this.m_edges=new Be(8),this.m_clusters=new Be(5),this.m_clusterVertices=new sn(!1),this.m_edgeVertices=new sn(!1),this.m_helperPoint=new fe,this.m_eventQ=new Ee,this.m_sweepStructure=new Ee,this.m_bComplications=!1,this.m_sweepComparator=null,this.m_tempEdgeBuffer=[],this.m_modifiedClusters=[],this.m_edgesToInsertInSweepStructure=[],this.m_prevNeighbour=-1,this.m_nextNeighbour=-1,this.m_bContinuingSegmentChainOptimization=!1,this.m_progressCounter=0,this.m_segmentIntersector=new xn,this.m_segBuf1=new F,this.m_segBuf2=new F,this.m_sweepPoint=new Qe(0,0),this.m_tolerance=0,this.m_toleranceSqr=0,this.m_sweepPointCluster=-1,this.m_vertexClusterIndex=-1,this.m_bCracked=!1,this.m_bSweepPointClusterWasModified=!1,this.m_progressTracker=e,this.m_bTrackChanges=t}hadComplications(){return this.m_bComplications}sweep(e,t){const s=new jt;s.setSwapCoordinates(),e.applyTransformation(s),this.setEditShape_(e),this.m_bCracked=!1,this.m_tolerance=t,this.m_toleranceSqr=t*t;let n=this.sweepImpl_();return e.applyTransformation(s),n||(this.fillEventQueuePass2(),n=this.sweepImpl_()||n),this.m_shape.removeUserIndex(this.m_vertexClusterIndex),this.m_shape=null,this.m_bCracked}sweepVertical(e,t){this.setEditShape_(e),this.m_bCracked=!1,this.m_tolerance=t,this.m_toleranceSqr=t*t,this.m_bComplications=!1;let s=this.sweepImpl_();if(!this.m_bComplications){const n=e.filterClosePoints(t,!0,!1,this.m_bTrackChanges,M);this.m_bComplications=1===n,s||=1===n}return-1!==this.m_vertexClusterIndex&&(this.m_shape.removeUserIndex(this.m_vertexClusterIndex),this.m_vertexClusterIndex=-1),this.m_shape=null,s}getEdgeCluster(e,t){return this.m_edges.getField(e,0+t)}setEdgeCluster_(e,t,s){this.m_edges.setField(e,0+t,s)}getEdgeOriginVertices(e){return this.m_edges.getField(e,2)}setEdgeOriginVertices_(e,t){this.m_edges.setField(e,2,t)}getNextEdgeEx(e,t){return this.m_edges.getField(e,3+t)}setNextEdgeEx_(e,t,s){this.m_edges.setField(e,3+t,s)}getEdgeSweepNode(e){return this.m_edges.getField(e,7)}setEdgeSweepNode_(e,t){this.m_edges.setField(e,7,t)}getNextEdge(e,t){const s=this.getEdgeEnd(e,t);return this.m_edges.getField(e,3+s)}setNextEdge_(e,t,s){const n=this.getEdgeEnd(e,t);this.m_edges.setField(e,3+n,s)}getPrevEdge(e,t){const s=this.getEdgeEnd(e,t);return this.m_edges.getField(e,5+s)}setPrevEdge_(e,t,s){const n=this.getEdgeEnd(e,t);this.m_edges.setField(e,5+n,s)}getClusterVertices(e){return this.m_clusters.getField(e,0)}setClusterVertices_(e,t){this.m_clusters.setField(e,0,t)}getClusterSweepEdgeList(e){return this.m_clusters.getField(e,2)}setClusterSweepEdgeList_(e,t){this.m_clusters.setField(e,2,t)}getClusterFirstEdge(e){return this.m_clusters.getField(e,1)}setClusterFirstEdge_(e,t){this.m_clusters.setField(e,1,t)}getClusterEventQNode(e){return this.m_clusters.getField(e,3)}setClusterEventQNode_(e,t){this.m_clusters.setField(e,3,t)}newCluster_(e){const t=this.m_clusters.newElement(),s=this.m_clusterVertices.createList();return this.setClusterVertices_(t,s),e!==M&&(this.m_clusterVertices.addElement(s,e),this.m_shape.setUserIndex(e,this.m_vertexClusterIndex,t)),t}deleteCluster_(e){this.m_clusters.deleteElement(e)}addVertexToCluster_(e,t){const s=this.getClusterVertices(e);this.m_clusterVertices.addElement(s,t),this.m_shape.setUserIndex(t,this.m_vertexClusterIndex,e)}newEdge_(e){const t=this.m_edges.newElement(),s=this.m_edgeVertices.createList();return this.setEdgeOriginVertices_(t,s),-1!==e&&this.m_edgeVertices.addElement(s,e),t}addVertexToEdge_(e,t){const s=this.getEdgeOriginVertices(e);this.m_edgeVertices.addElement(s,t)}deleteEdge_(e){this.m_edges.deleteElement(e);const t=this.m_edgesToInsertInSweepStructure.findIndex((t=>t===e));t>=0&&yt(this.m_edgesToInsertInSweepStructure,t)}addEdgeToCluster(e,t){-1===this.getEdgeCluster(e,0)?this.setEdgeCluster_(e,0,t):-1===this.getEdgeCluster(e,1)?this.setEdgeCluster_(e,1,t):i(""),this.addEdgeToClusterImpl_(e,t)}addEdgeToClusterImpl_(e,t){const s=this.getClusterFirstEdge(t);if(-1!==s){const n=this.getNextEdge(s,t);this.setPrevEdge_(n,t,e),this.setNextEdge_(e,t,n),this.setNextEdge_(s,t,e),this.setPrevEdge_(e,t,s)}else this.setPrevEdge_(e,t,e),this.setNextEdge_(e,t,e),this.setClusterFirstEdge_(t,e)}getEdgeEnd(e,t){return this.getEdgeCluster(e,0)===t?0:1}mergeClusters_(e,t){this.dbgCheckCluster_(e),this.dbgCheckCluster_(t);const s=this.getClusterEventQNode(t);-1!==s&&(this.m_eventQ.deleteNode(s),this.setClusterEventQNode_(t,-1));let n=this.getClusterFirstEdge(e),r=this.getClusterFirstEdge(t);if(-1!==r){let s=r,i=r,o=!1;do{this.dbgCheckEdge_(s),o=!1;const n=this.getEdgeEnd(s,t),a=this.getNextEdgeEx(s,n);if(this.getEdgeCluster(s,n+1&1)===e){this.disconnectEdge_(s);const e=this.getEdgeOriginVertices(s);if(this.m_edgeVertices.deleteList(e),this.deleteEdge_(s),s===a){r=-1;break}r===s&&(r=this.getClusterFirstEdge(t),i=a,o=!0)}s=a}while(s!==i||o);if(-1!==r){do{const n=this.getEdgeEnd(s,t),r=this.getNextEdgeEx(s,n);this.setEdgeCluster_(s,n,e),s=r}while(s!==i);if(n=this.getClusterFirstEdge(e),-1!==n){const t=this.getNextEdge(n,e),s=this.getNextEdge(r,e);t===n?(this.setClusterFirstEdge_(e,r),this.addEdgeToClusterImpl_(n,e),this.setClusterFirstEdge_(e,n)):s===r&&this.addEdgeToClusterImpl_(r,e),this.setNextEdge_(r,e,t),this.setPrevEdge_(t,e,r),this.setNextEdge_(n,e,s),this.setPrevEdge_(s,e,n)}else this.setClusterFirstEdge_(e,r)}}const i=this.getClusterVertices(e),o=this.getClusterVertices(t);for(let a=this.m_clusterVertices.getFirst(o);-1!==a;a=this.m_clusterVertices.getNext(a)){const t=this.m_clusterVertices.getElement(a);this.m_shape.setUserIndex(t,this.m_vertexClusterIndex,e)}this.m_clusterVertices.concatenateLists(i,o),this.deleteCluster_(t),this.dbgCheckCluster_(e)}mergeEdges_(e,t){this.dbgCheckEdge_(e),this.dbgCheckEdge_(t);const s=this.getEdgeCluster(e,0),n=this.getEdgeCluster(e,1),r=this.getEdgeCluster(t,0),i=this.getEdgeCluster(t,1),o=this.getEdgeOriginVertices(e),a=this.getEdgeOriginVertices(t);if(this.m_edgeVertices.concatenateLists(o,a),t===this.getClusterFirstEdge(s)&&this.setClusterFirstEdge_(s,e),t===this.getClusterFirstEdge(n)&&this.setClusterFirstEdge_(n,e),this.disconnectEdge_(t),this.deleteEdge_(t),!(s===r&&n===i||n===r&&s===i)){const e=this.getClusterXY(s),t=this.getClusterXY(r);e.isEqualPoint2D(t)?(s!==r&&this.mergeClusters_(s,r),n!==i&&this.mergeClusters_(n,i)):(n!==r&&this.mergeClusters_(n,r),s!==i&&this.mergeClusters_(s,i))}this.dbgCheckEdge_(e)}disconnectEdge_(e){const t=this.getEdgeCluster(e,0),s=this.getEdgeCluster(e,1);this.disconnectEdgeFromCluster_(e,t),this.disconnectEdgeFromCluster_(e,s)}disconnectEdgeFromCluster_(e,t){const s=this.getNextEdge(e,t),n=this.getPrevEdge(e,t),r=this.getClusterFirstEdge(t);s!==e?(this.setNextEdge_(n,t,s),this.setPrevEdge_(s,t,n),r===e&&this.setClusterFirstEdge_(t,s)):this.setClusterFirstEdge_(t,-1)}applyIntersectorToEditShape_(e,t,s){let n=this.m_edgeVertices.getFirst(e);const r=this.m_edgeVertices.getElement(n),i=this.getClusterFromVertex(r),o=this.m_shape.getNextVertex(r),a=this.getClusterFromVertex(o),h=this.m_shape.getXY(r),m=this.m_shape.getXY(o);let l=!1,g=!1;const u=t.getResultSegment(s,0).getStartXY(),c=t.getResultSegment(s,t.getResultSegmentCount(s)-1).getEndXY();h.equals(u)||(l=!0),m.equals(c)||(g=!0),this.m_shape.splitSegmentWithIntersector(r,t,s,!0,!0);const _=this.m_bTrackChanges&&t.getSegmentChanged(s);for(_&&this.m_shape.setGeometryModifiedWithVertex(r,!0),n=this.m_edgeVertices.getNext(n);-1!==n;n=this.m_edgeVertices.getNext(n)){const e=this.m_edgeVertices.getElement(n),r=this.getClusterFromVertex(e)===i;this.m_shape.splitSegmentWithIntersector(e,t,s,r,!0),_&&this.m_shape.setGeometryModifiedWithVertex(e,!0)}if(l&&this.updateClusterXY(!0,i,u,t.getResultSegmentStartPointWeight(s,0),t.getResultSegmentStartPointRank(s,0)),g){const e=t.getResultSegmentCount(s)-1;this.updateClusterXY(!0,a,c,t.getResultSegmentEndPointWeight(s,e),t.getResultSegmentEndPointRank(s,e))}}createEdgesAndClustersFromSplitEdge_(e,t,s){this.dbgCheckNewEdgesArray_();const n=this.getEdgeOriginVertices(e),r=this.getEdgeCluster(e,0),i=this.getEdgeCluster(e,1);let o=this.newEdge_(-1);this.m_edgesToInsertInSweepStructure.push(o);const a=Be.impossibleIndex3();this.setEdgeSweepNode_(o,a),this.m_tempEdgeBuffer.push(o),this.addEdgeToCluster(o,r);const h=t.getResultSegmentCount(s);for(let m=1;m<h;m++){const e=this.newCluster_(-1);this.m_modifiedClusters.push(e),this.m_tempEdgeBuffer.push(e),this.addEdgeToCluster(o,e);const t=this.newEdge_(-1);this.m_edgesToInsertInSweepStructure.push(t),this.setEdgeSweepNode_(t,a),this.m_tempEdgeBuffer.push(t),this.addEdgeToCluster(t,e),o=t}this.addEdgeToCluster(o,i);for(let m=this.m_edgeVertices.getFirst(n);-1!==m;m=this.m_edgeVertices.getNext(m)){let e=this.m_edgeVertices.getElement(m);if(this.getClusterFromVertex(e)===r){let t=0;const s=this.m_tempEdgeBuffer.length;do{if(t>0){const s=this.m_tempEdgeBuffer[t-1];this.addVertexToCluster_(s,e)}const s=this.m_tempEdgeBuffer[t];t+=2,this.addVertexToEdge_(s,e),e=this.m_shape.getNextVertex(e)}while(t<s)}else{let t=this.m_tempEdgeBuffer.length-1;do{if(t<this.m_tempEdgeBuffer.length-2){const s=this.m_tempEdgeBuffer[t+1];this.addVertexToCluster_(s,e)}const s=this.m_tempEdgeBuffer[t];t-=2,this.addVertexToEdge_(s,e),e=this.m_shape.getNextVertex(e)}while(t>=0)}}this.m_tempEdgeBuffer.length=0,this.dbgCheckNewEdgesArray_()}getVertexFromClusterIndex(e){const t=this.getClusterVertices(e);return this.m_clusterVertices.getFirstElement(t)}getClusterFromVertex(e){return this.m_shape.getUserIndex(e,this.m_vertexClusterIndex)}processSplitHelper1_(e,t,s){const n=this.getEdgeCluster(t,0),r=this.getClusterXY(n),i=this.getEdgeCluster(t,1),o=this.getClusterXY(i),a=s.getResultSegmentCount(e);let h=s.getResultSegment(e,0);const m=h.getStartXY();if(!r.isEqualPoint2D(m)){if(!this.m_bComplications){r.compare(this.m_sweepPoint)*m.compare(this.m_sweepPoint)<0&&(this.m_bComplications=!0)}this.getAffectedEdges(n,this.m_tempEdgeBuffer),this.m_modifiedClusters.push(n)}if(!this.m_bComplications&&a>1){const e=r.compare(o),t=h.getEndXY();(r.compare(t)!==e||t.compare(o)!==e||t.compare(this.m_sweepPoint)<0)&&(this.m_bComplications=!0)}h=s.getResultSegment(e,a-1);const l=h.getEndXY();if(!o.isEqualPoint2D(l)){if(!this.m_bComplications){o.compare(this.m_sweepPoint)*l.compare(this.m_sweepPoint)<0&&(this.m_bComplications=!0)}this.getAffectedEdges(i,this.m_tempEdgeBuffer),this.m_modifiedClusters.push(i)}this.m_tempEdgeBuffer.push(t);for(let g=0,u=this.m_tempEdgeBuffer.length;g<u;g++){const e=this.m_tempEdgeBuffer[g],s=this.getEdgeSweepNode(e);Be.isValidElement(s)&&(this.m_sweepStructure.deleteNode(s),this.setEdgeSweepNode_(e,-1));const n=Be.impossibleIndex3();e!==t&&this.getEdgeSweepNode(e)!==n&&(this.m_edgesToInsertInSweepStructure.push(e),this.setEdgeSweepNode_(e,n))}this.m_tempEdgeBuffer.length=0}checkAndFixIntersection_(e,t){const s=this.m_sweepStructure.getElement(e);return this.m_sweepComparator.compare(this.m_sweepStructure,s,t),!!this.m_sweepComparator.intersectionDetected()&&(this.m_sweepComparator.clearIntersectionDetectedFlag(),this.fixIntersection_(e,t),!0)}fixIntersection_(e,t){this.m_bCracked=!0;const s=this.m_sweepStructure.getElement(e),n=this.m_sweepStructure.getElement(t);let r=null,i=null;const o=this.getEdgeOriginVertices(s),a=this.m_edgeVertices.getFirstElement(o),h=this.getEdgeOriginVertices(n),m=this.m_edgeVertices.getFirstElement(h);this.m_shape.querySegment(a,this.m_segBuf1,!1,!1),r=this.m_segBuf1.get();const l=this.m_shape.getNextVertex(a),g=this.m_shape.getWeight(a),u=this.m_shape.getSegmentParentageBreakVertex(a),c=this.m_shape.getWeight(l),_=this.m_shape.getSegmentParentageBreakVertex(l),d=this.m_shape.getSegmentWeight(a),p=this.m_shape.getRank(a),f=this.m_shape.getRank(l),x=this.m_shape.getSegmentRank(a),y=this.m_shape.getSegmentParentage(a);this.m_shape.querySegment(m,this.m_segBuf2,!1,!1),i=this.m_segBuf2.get();const P=this.m_shape.getNextVertex(m),E=this.m_shape.getWeight(m),S=this.m_shape.getSegmentParentageBreakVertex(m),C=this.m_shape.getWeight(P),I=this.m_shape.getSegmentParentageBreakVertex(P),b=this.m_shape.getSegmentWeight(m),w=this.m_shape.getRank(m),v=this.m_shape.getRank(P),N=this.m_shape.getSegmentRank(m),T=this.m_shape.getSegmentParentage(m);this.m_segmentIntersector.pushSegment(r,g,p,c,f,d,x,u,_,y),this.m_segmentIntersector.pushSegment(i,E,w,C,v,b,N,S,I,T),3===this.m_segmentIntersector.intersect2D(this.m_tolerance,!0)&&(this.m_bComplications=!0),this.splitEdge_(s,n,-1,this.m_segmentIntersector),this.m_segmentIntersector.clear()}fixIntersectionPointSegment_(e,t){this.m_bCracked=!0;const s=this.m_sweepStructure.getElement(t);let n=null;const r=this.getEdgeOriginVertices(s),i=this.m_edgeVertices.getFirstElement(r);this.m_shape.querySegment(i,this.m_segBuf1,!1,!1),n=this.m_segBuf1.get();const o=this.m_shape.getNextVertex(i),a=this.m_shape.getWeight(i),h=this.m_shape.getSegmentParentageBreakVertex(i),m=this.m_shape.getWeight(o),l=this.m_shape.getSegmentParentageBreakVertex(o),g=this.m_shape.getSegmentWeight(i),u=this.m_shape.getRank(i),c=this.m_shape.getRank(o),_=this.m_shape.getSegmentRank(i),d=this.m_shape.getSegmentParentage(i),p=this.getClusterFirstVertex(e);this.m_segmentIntersector.pushSegment(n,a,u,m,c,g,_,h,l,d),this.m_shape.queryPoint(p,this.m_helperPoint);const f=this.m_shape.getWeight(p),x=this.m_shape.getRank(p);this.m_segmentIntersector.intersect2DEx(this.m_tolerance,this.m_helperPoint,x,f,!0),this.splitEdge_(s,-1,e,this.m_segmentIntersector),this.m_segmentIntersector.clear()}insertNewEdges_(){if(0===this.m_edgesToInsertInSweepStructure.length)return!0;this.dbgCheckNewEdgesArray_();let e=!0,t=0;const s=this.m_edgesToInsertInSweepStructure.length,n=Math.max(2*s+200,this.m_sweepStructure.size()+200);for(;this.m_edgesToInsertInSweepStructure.length;){if(this.m_edgesToInsertInSweepStructure.length>Math.max(100,this.m_shape.getTotalPointCount())||t>n){this.m_edgesToInsertInSweepStructure.length=0,this.m_bComplications=!0,e=!1;break}const s=this.m_edgesToInsertInSweepStructure.at(-1);this.m_edgesToInsertInSweepStructure.pop(),this.setEdgeSweepNode_(s,-1);const r=this.isEdgeOnSweepLine_(s);Be.isValidElement(r)?(this.insertNewEdgeToSweepStructure_(s,r),t++):r!==Be.impossibleIndex2()&&(e=!1),this.m_bContinuingSegmentChainOptimization=!1}return e}insertNewEdgeToSweepStructure_(e,t){let s;if(this.m_bContinuingSegmentChainOptimization?(s=this.m_sweepStructure.addElementAtPosition(this.m_prevNeighbour,this.m_nextNeighbour,e,!0,!0),this.m_bContinuingSegmentChainOptimization=!1):s=this.m_sweepStructure.addUniqueElement(e),-1===s){const t=this.m_sweepStructure.getDuplicateElement(),s=this.m_sweepStructure.getElement(t);return this.mergeEdges_(s,e),!1}if(this.setEdgeSweepNode_(e,s),this.m_sweepComparator.intersectionDetected()){this.m_sweepComparator.clearIntersectionDetectedFlag();const e=this.m_sweepComparator.getLastComparedNode();return this.m_prevNeighbour===e&&(this.m_prevNeighbour=-1),this.m_nextNeighbour===e&&(this.m_nextNeighbour=-1),this.fixIntersection_(e,s),!0}return!1}isEdgeOnSweepLine_(e){const t=this.getEdgeCluster(e,0),s=this.getEdgeCluster(e,1),n=this.getClusterXY(t),r=this.getClusterXY(s);if(Qe.sqrDistance(n,r)<=this.m_toleranceSqr)return this.m_bComplications=!0,-1;const i=n.compare(this.m_sweepPoint),o=r.compare(this.m_sweepPoint);return i<=0&&o>0?s:o<=0&&i>0?t:i>0&&o>0?Be.impossibleIndex2():-1}fillEventQueue(){const e=new Ce(0),t=this.m_shape.queryVertexIteratorOnSelection();for(let r=t.next();r!==M;r=t.next())-1!==this.m_shape.getUserIndex(r,this.m_vertexClusterIndex)&&e.add(r);this.m_shape.sortVerticesSimpleByY(e,0,e.size()),this.progress_(!0),this.m_eventQ.clear(),this.m_eventQ.setCapacity(e.size()),this.m_eventQ.setComparator(new Tn(this.m_shape));const s=Qe.getNAN();s.setNAN();let n=-1;for(let r=0,i=e.size();r<i;r++){const t=e.read(r);if(this.m_shape.getXY(t).isEqualPoint2D(s)){const e=this.m_shape.getUserIndex(t,this.m_vertexClusterIndex);this.mergeClusters_(n,e);continue}n=this.getClusterFromVertex(t),this.m_shape.queryXY(t,s);const i=this.m_eventQ.addBiggestElement(t);this.setClusterEventQNode_(n,i)}}fillEventQueuePass2(){const e=new Ce(0);for(let t=this.m_eventQ.getFirst();-1!==t;t=this.m_eventQ.getNext(t)){const s=this.m_eventQ.getElement(t);e.add(s)}this.m_eventQ.clear(),this.m_shape.sortVerticesSimpleByY(e,0,e.size()),this.progress_(!0);for(let t=0,s=e.size();t<s;t++){const s=e.read(t),n=this.getClusterFromVertex(s),r=this.m_eventQ.addBiggestElement(s);this.setClusterEventQNode_(n,r)}}getAffectedEdges(e,t){const s=this.getClusterFirstEdge(e);if(-1===s)return;let n=s;do{const s=this.getEdgeSweepNode(n);Be.isValidElement(s)&&t.push(n),n=this.getNextEdge(n,e)}while(n!==s)}updateClusterXY(e,t,s,n,r){const i=this.getClusterVertices(t);for(let o=this.m_clusterVertices.getFirst(i);-1!==o;o=this.m_clusterVertices.getNext(o)){const t=this.m_clusterVertices.getElement(o);this.m_shape.setXYMonotonicPoint2D(t,s),this.m_shape.setWeight(t,n),this.m_shape.setRank(t,r),e&&this.m_bTrackChanges&&this.m_shape.setGeometryModifiedWithVertex(t,!0),this.m_shape.setSegmentParentageBreakVertex(t,!0)}}splitEdge_(e,t,s,n){this.dbgCheckEdge_(e),-1!==t&&this.dbgCheckEdge_(t),this.disconnectEdge_(e),-1!==t&&this.disconnectEdge_(t),this.processSplitHelper1_(0,e,n),-1!==t&&this.processSplitHelper1_(1,t,n),-1!==s&&n.getResultPointChanged()&&this.m_modifiedClusters.push(s);for(let o=0,a=this.m_modifiedClusters.length;o<a;o++){const e=this.m_modifiedClusters[o],t=this.getClusterEventQNode(e);-1!==t&&(this.m_eventQ.deleteNode(t),this.setClusterEventQNode_(e,-1))}const r=this.getEdgeOriginVertices(e),i=-1!==t?this.getEdgeOriginVertices(t):-1;if(this.applyIntersectorToEditShape_(r,n,0),-1!==i)this.applyIntersectorToEditShape_(i,n,1);else{const e=n.getResultPoint().getXY();this.updateClusterXY(n.getResultPointChanged(),s,e,n.getResultPointWeight(),n.getResultPointRank())}this.createEdgesAndClustersFromSplitEdge_(e,n,0),-1!==t&&this.createEdgesAndClustersFromSplitEdge_(t,n,1),this.m_edgeVertices.deleteList(r),this.deleteEdge_(e),-1!==t&&(this.m_edgeVertices.deleteList(i),this.deleteEdge_(t));for(let o=0,a=this.m_modifiedClusters.length;o<a;o++){const e=this.m_modifiedClusters[o];e===this.m_sweepPointCluster&&(this.m_bSweepPointClusterWasModified=!0);let t=this.getClusterEventQNode(e);if(-1===t){const s=this.getClusterFirstVertex(e);if(t=this.m_eventQ.addUniqueElement(s),-1===t){const t=this.m_eventQ.getDuplicateElement(),s=this.m_eventQ.getElement(t),n=this.getClusterFromVertex(s);this.mergeClusters_(n,e)}else this.setClusterEventQNode_(e,t)}}this.m_modifiedClusters.length=0}getClusterXY(e){const t=this.getClusterFirstVertex(e);return this.m_shape.getXY(t)}getClusterFirstVertex(e){const t=this.getClusterVertices(e);return this.m_clusterVertices.getFirstElement(t)}dbgCheckEdge_(e){}dbgCheckCluster_(e){}dbgCheckNewEdgesArray_(){}dbgSaveSweepStructure_(e){}sweepImpl_(){this.progress_(!0),this.m_bSweepPointClusterWasModified=!1,this.m_sweepPointCluster=-1,null===this.m_sweepComparator&&(this.m_sweepStructure.disableBalancing(),this.m_sweepComparator=new vn(this),this.m_sweepStructure.setComparator(this.m_sweepComparator));const e=[];let t=null,s=null;this.m_prevNeighbour=-1,this.m_nextNeighbour=-1,this.m_bContinuingSegmentChainOptimization=!1;const n=Be.impossibleIndex2(),r=Be.impossibleIndex3();for(let i=this.m_eventQ.getFirst();-1!==i;){this.progress_(),this.dbgCheckSweepStructure_(),this.m_bContinuingSegmentChainOptimization=!1,this.m_prevNeighbour=-1,this.m_nextNeighbour=-1;const o=this.m_eventQ.getElement(i);this.m_sweepPointCluster=this.getClusterFromVertex(o),this.m_shape.queryXY(o,this.m_sweepPoint),this.m_sweepComparator.setSweepY(this.m_sweepPoint.y,this.m_sweepPoint.x);let a=!1;{const t=this.getClusterFirstEdge(this.m_sweepPointCluster);if(a=-1===t,!a){let s=t;do{const t=this.getEdgeSweepNode(s);-1===t?(this.m_edgesToInsertInSweepStructure.push(s),this.setEdgeSweepNode_(s,r)):t!==r&&e.push(t),s=this.getNextEdge(s,this.m_sweepPointCluster)}while(s!==t)}}if(!this.m_sweepStructure.isAutoBalancing()&&(this.m_sweepStructure.getMaxDepthEver()>4||this.m_edgesToInsertInSweepStructure.length>10)&&this.m_sweepStructure.enableBalancing(),e.length>0){this.m_bContinuingSegmentChainOptimization=1===e.length&&1===this.m_edgesToInsertInSweepStructure.length;for(let r=0,i=e.length;r<i;r++){const t=this.m_sweepStructure.getElement(e[r]);this.setEdgeSweepNode_(t,n)}let t=n,s=n;for(let r=0,i=e.length;r<i;r++){const i=e[r];if(t===n){const e=this.m_sweepStructure.getPrev(i);if(-1!==e){const s=this.m_sweepStructure.getElement(e);this.getEdgeSweepNode(s)!==n&&(t=e)}else t=-1}if(s===n){const e=this.m_sweepStructure.getNext(i);if(-1!==e){const t=this.m_sweepStructure.getElement(e);this.getEdgeSweepNode(t)!==n&&(s=e)}else s=-1}if(t!==n&&s!==n)break}for(let n=0,r=e.length;n<r;n++){const t=e[n],s=this.m_sweepStructure.getElement(t);this.m_sweepStructure.deleteNode(t),this.setEdgeSweepNode_(s,-1)}e.length=0,this.m_prevNeighbour=t,this.m_nextNeighbour=s,-1!==t&&-1!==s?this.m_bContinuingSegmentChainOptimization||this.checkAndFixIntersection_(t,s):-1===t&&-1===s&&(this.m_bContinuingSegmentChainOptimization=!1)}else a&&(null===t&&(t=new Nn(this)),t.setPoint(this.m_sweepPoint),this.m_sweepStructure.searchUpperBound(t),t.intersectionDetected()&&(t.clearIntersectionDetectedFlag(),this.fixIntersectionPointSegment_(this.m_sweepPointCluster,t.getCurrentNode())));const h=this.m_bContinuingSegmentChainOptimization;!this.insertNewEdges_()&&h&&-1!==this.m_prevNeighbour&&-1!==this.m_nextNeighbour&&this.checkAndFixIntersection_(this.m_prevNeighbour,this.m_nextNeighbour),this.m_bSweepPointClusterWasModified?(this.m_bSweepPointClusterWasModified=!1,null===s&&(s=new Gn(this.m_shape)),s.setPoint(this.m_sweepPoint),i=this.m_eventQ.searchUpperBound(s)):i=this.m_eventQ.getNext(i)}return this.m_bCracked}setEditShape_(e){this.m_shape=e,this.m_vertexClusterIndex=this.m_shape.createUserIndex(),this.m_edges.setCapacity(e.getSelectedCount()+32),this.m_clusters.setCapacity(e.getSelectedCount()),this.m_clusterVertices.reserveLists(e.getSelectedCount()),this.m_clusterVertices.reserveNodes(e.getSelectedCount()),this.m_edgeVertices.reserveLists(e.getSelectedCount()+32),this.m_edgeVertices.reserveNodes(e.getSelectedCount()+32);for(let t=this.m_shape.getFirstGeometry();t!==M;t=this.m_shape.getNextGeometry(t)){if(o(this.m_shape.getGeometryType(t)))for(let s=this.m_shape.getFirstPath(t);s!==M;s=this.m_shape.getNextPath(s)){const t=this.m_shape.getPathSize(s),n=this.m_shape.getFirstVertex(s);if(n===M)continue;let r=this.m_shape.getNextVertex(n);if(r===M||r===n)continue;let i=-1;e.selected(n)&&(i=this.newCluster_(n));let o=-1;-1!==i&&e.selected(r)&&(o=this.newEdge_(n),this.addEdgeToCluster(o,i));let a=o;for(let e=0,s=t-2;e<s;e++){const e=this.m_shape.getNextVertex(r);let t=-1;if(this.m_shape.selected(r)){const s=this.newCluster_(r);-1!==a&&this.addEdgeToCluster(a,s),this.m_shape.selected(e)&&(t=this.newEdge_(r),this.addEdgeToCluster(t,s))}a=t,r=e}if(this.m_shape.isClosedPath(s)){const e=this.m_shape.getNextVertex(r);if(this.m_shape.selected(r)){const t=this.newCluster_(r);if(-1!==a&&this.addEdgeToCluster(a,t),this.m_shape.selected(e)){const e=this.newEdge_(r);this.addEdgeToCluster(e,t),this.addEdgeToCluster(e,i)}}}else{let e=-1;this.m_shape.selected(r)&&(e=this.newCluster_(r),-1!==a&&this.addEdgeToCluster(a,e))}}else for(let e=this.m_shape.getFirstPath(t);e!==M;e=this.m_shape.getNextPath(e)){let t=this.m_shape.getFirstVertex(e);for(let s=0,n=this.m_shape.getPathSize(e);s<n;s++)this.m_shape.selected(t)&&this.newCluster_(t),t=this.m_shape.getNextVertex(t)}}this.fillEventQueue()}progress_(e=!1){}dbgCheckSweepStructure_(){}}function Vn(e,t,s,n){s>0&&mn(e,s,t,!1,n);new Hn(n).executeImpl_(e,t)}function Fn(e,t,s){return{vertex0:e,vertex1:t,dir:s}}class Hn{constructor(e){this.m_shape=null,this.m_spikes=[],this.m_points=new Ce(0),this.m_pointsIndex=-1,this.m_dissolvedEdges=0,this.m_progressTracker=e}executeImpl_(e,t){if(this.m_shape=e,e.getPathCount(t)<2&&e.getPointCount(t)<6)return;this.m_points.resize(0);for(let a=e.getFirstPath(t);a!==M;a=e.getNextPath(a)){let t=e.getFirstVertex(a);for(let s=0,n=e.getPathSize(a);s<n;s++,t=e.getNextVertex(t))this.m_points.add(t)}this.m_pointsIndex=e.createUserIndex();for(let a=0,g=this.m_points.size();a<g;++a)e.setUserIndex(this.m_points.read(a),this.m_pointsIndex,a);e.sortVerticesSimpleByY(this.m_points,0,this.m_points.size());let s=this.m_points.read(0);const n=e.getXY(s);let r=1,i=0;const o=[];for(let a=1;a<this.m_points.size();a++){const t=this.m_points.read(a);if(t===M)continue;if(-1===e.getUserIndex(t,this.m_pointsIndex))continue;const h=e.getXY(t);if(h.isEqualPoint2D(n))r++;else{if(r>1){for(let t=i;t<a;t++){const s=this.m_points.read(t);if(-1===e.getUserIndex(s,this.m_pointsIndex))continue;const r=e.getNextVertex(s),i=e.getPrevVertex(s);if(s!==r&&!e.isEqualXYPoint2D(r,n)){const e=Fn(s,r,1);o.push(e)}if(s!==i&&i!==r&&!e.isEqualXYPoint2D(i,n)){const e=Fn(s,i,-1);o.push(e)}}o.length>0&&this.processBunch_(o,n)}s=t,n.assign(h),r=1,i=a}}if(0===this.m_dissolvedEdges)return e.removeUserIndex(this.m_pointsIndex),void(this.m_pointsIndex=-1);let h=e.getPointCount(t);for(let a=0;a<this.m_points.size();a++){const t=this.m_points.read(a);if(t===M)continue;if(-1!==e.getUserIndex(t,this.m_pointsIndex)){e.setUserIndex(t,this.m_pointsIndex,-1);continue}const s=e.getPathFromVertex(t);e.getFirstVertex(s)===t&&e.setFirstVertex(s,M),e.freeVertex(t),this.m_points.write(a,M),h--}const m=e.createPathUserIndex();let l=e.getPathCount(t);for(let g=0,u=this.m_points.size();g<u;++g){if(this.m_points.read(g)===M)continue;let s=this.m_points.read(g);if(-1!==e.getUserIndex(s,this.m_pointsIndex))continue;let n=e.getPathFromVertex(s),r=-1;if(2===e.getPathUserIndex(n,m)){n=M;for(let t=e.getNextVertex(s);t!==s;t=e.getNextVertex(t)){const r=e.getPathFromVertex(t);if(2!==e.getPathUserIndex(r,m)){n=r,s=t;break}}n===M&&(n=e.insertPath(t,M),e.setClosedPath(n,!0),l++),a(n!==M)}e.setPathUserIndex(n,m,2),r=e.getFirstVertex(n);let i=0,o=!1,h=s;do{r===h&&(o=!0),e.setUserIndex(h,this.m_pointsIndex,1);const t=e.getPathFromVertex(h);t!==n&&(2!==e.getPathUserIndex(t,m)&&(e.setPathUserIndex(t,m,1),e.setFirstVertex(t,M)),e.setPathToVertex(h,n)),i++,h=e.getNextVertex(h)}while(h!==s);o||e.setFirstVertex(n,s),e.setPathSize(n,i)}for(let a=e.getFirstPath(t);a!==M;){const t=e.getNextPath(a);1!==e.getPathUserIndex(a,m)&&e.getFirstVertex(a)!==M||(e.removePathOnly(a),l--),a=t}e.setGeometryVertexCount(t,h),e.setGeometryPathCount(t,l),e.removePathUserIndex(m),e.removeUserIndex(this.m_pointsIndex),this.m_pointsIndex=-1,e.dbgVerifyVertexCounts(),e.filterClosePoints(0,!0,!1,!1,t)}processBunch_(e,t){e.sort(((e,s)=>{const n=this.m_shape.getXY(e.vertex1).sub(t),r=this.m_shape.getXY(s.vertex1).sub(t),i=Qe.compareVectors(n,r);return 0===i?e.dir<s.dir?-1:1:i}));let s=0;const n=this.m_shape.getXY(e[0].vertex1);let r=1;const i=this.m_shape.hasCurves();for(let o=1,a=e.length;o<a;o++){const t=this.m_shape.getXY(e[o].vertex1);if(!(t.isEqualPoint2D(n)&&(r++,o+1<a))){if(2===r){const t=e[s],n=e[s+1],r=t.dir;if(r!==n.dir){let e=!0;if(i&&(e=!this.m_shape.isCurve(1===t.dir?t.vertex0:t.vertex1)&&!this.m_shape.isCurve(1===n.dir?n.vertex0:n.vertex1)),e){if(1===r){const e=t.vertex0,s=n.vertex0;this.m_shape.setNextVertex(e,s),this.m_shape.setPrevVertex(s,e),this.m_shape.getPrevVertex(e)===s&&(this.m_shape.setUserIndex(e,this.m_pointsIndex,-1),this.m_shape.setUserIndex(s,this.m_pointsIndex,-1));const r=t.vertex1,i=n.vertex1;this.m_shape.setPrevVertex(r,i),this.m_shape.setNextVertex(i,r),this.m_shape.getNextVertex(r)===i&&(this.m_shape.setUserIndex(r,this.m_pointsIndex,-1),this.m_shape.setUserIndex(i,this.m_pointsIndex,-1))}else{const e=t.vertex0,s=n.vertex0;this.m_shape.setPrevVertex(e,s),this.m_shape.setNextVertex(s,e),this.m_shape.getNextVertex(e)===s&&(this.m_shape.setUserIndex(e,this.m_pointsIndex,-1),this.m_shape.setUserIndex(s,this.m_pointsIndex,-1));const r=t.vertex1,i=n.vertex1;this.m_shape.setNextVertex(r,i),this.m_shape.setPrevVertex(i,r),this.m_shape.getPrevVertex(r)===i&&(this.m_shape.setUserIndex(r,this.m_pointsIndex,-1),this.m_shape.setUserIndex(i,this.m_pointsIndex,-1))}this.m_dissolvedEdges+=2}}}n.assign(t),s=o,r=1}}e.length=0}}function kn(e){for(let t=e.getFirstGeometry();t!==M;t=e.getNextGeometry(t))if(o(e.getGeometryType(t)))return!0;return!1}function An(e,t,s,n){if(!kn(e))return!1;const r=new Bn(n);r.m_shape=e,r.m_tolerance=t,r.m_bTrackChanges=s;let i=!1;const o=e.hasCurves()?5:15;return i=e.getTotalPointCount()<o?r.crackBruteForce_():r.crackerPlaneSweep_(),i}function Mn(e,t,s,n,r){if(!kn(t))return!1;let i=new Bn(r);if(i.m_shape=t,i.m_tolerance=s,i.m_bAllowCoincident=e,i.m_bNeedsNonSimpleResult=null!==n,i.needsCrackingImpl_())return n&&n.assign(i.m_nonSimpleResult),!0;const o=new jt;o.setSwapCoordinates(),t.applyTransformation(o),i=new Bn(r),i.m_shape=t,i.m_tolerance=s,i.m_bAllowCoincident=e,i.m_bNeedsNonSimpleResult=null!==n;const a=i.needsCrackingImpl_();return t.applyTransformation(o),!!a&&(n&&n.assign(i.m_nonSimpleResult),!0)}function Un(e,t,s,n){const r=t.getGeometryType();if(o(r)){return new Bn(n).crackAWithBMultiPath_(e,t,s)}u("crack_A_with_B")}function qn(e,t){return{t:e,index:t}}class Bn{crackBruteForce_(){let e=this.crackBruteForceImpl_();if(!e&&this.m_shape.hasCurves()){const t=new jt;t.setSwapCoordinates(),this.m_shape.applyTransformation(t),e=this.crackBruteForceImpl_(),this.m_shape.applyTransformation(t)}return e}crackBruteForceImpl_(){let t=!1;const s=new F,n=new F,r=e.constructEmpty(),i=e.constructEmpty(),o=!1,h=new fe,m=new xn,l=this.m_shape.getTotalPointCount(),g=l*l*2,u=this.m_shape.queryVertexIteratorOnSelection();for(let e=u.next();e!==M;e=u.next()){const l=this.m_shape.getGeometryType(u.currentGeometry());let c=1,_=1,d=1,f=0,x=0,y=0;const P=this.m_shape.getSegmentParentage(e);let E=!1,S=!1,C=null,I=!1;if(p(l))c=this.m_shape.getWeight(e),f=this.m_shape.getRank(e);else{if(C=this.getSegment_(e,s),null===C)continue;const t=this.m_shape.getVertexIndex(e);c=this.m_shape.getWeightWithIndex(t),f=this.m_shape.getRankWithIndex(t),d=this.m_shape.getSegmentWeightWithIndex(t),y=this.m_shape.getSegmentRankWithIndex(t),E=this.m_shape.getSegmentParentageBreakVertex(e);{const t=this.m_shape.getNextVertex(e);_=this.m_shape.getWeight(t),x=this.m_shape.getRank(t),S=this.m_shape.getSegmentParentageBreakVertex(t)}if(C.queryLooseEnvelope(r),r.inflateCoords(this.m_tolerance,this.m_tolerance),C.isDegenerate(this.m_tolerance)){if(!C.isDegenerate(0))continue;I=!0,C=null}}const b=new W({copy:u});let w=b.next();w!==M&&(w=b.next());let v=0;for(;w!==M;w=b.next()){if(0!==v){v--;continue}if(this.m_shape.getTotalPointCount()>g)return t;this.progress_();const l=this.m_shape.getGeometryType(b.currentGeometry());let N=null,T=!1,G=0,D=0,V=0,F=0,H=0,k=0,A=!1,U=!1;const q=this.m_shape.getSegmentParentage(w);if(p(l))G=this.m_shape.getWeight(w),F=this.m_shape.getRank(w);else{if(N=this.getSegment_(w,n),null===N)continue;const e=this.m_shape.getVertexIndex(w);G=this.m_shape.getWeightWithIndex(e),F=this.m_shape.getRankWithIndex(e),V=this.m_shape.getSegmentWeightWithIndex(e),k=this.m_shape.getSegmentRankWithIndex(e),A=this.m_shape.getSegmentParentageBreakVertex(w);{const e=this.m_shape.getNextVertex(w);D=this.m_shape.getWeight(e),H=this.m_shape.getRank(e),U=this.m_shape.getSegmentParentageBreakVertex(e)}if(N.queryLooseEnvelope(i),N.isDegenerate(this.m_tolerance)){if(!N.isDegenerate(0))continue;T=!0,N=null}}let B=0,O=0;if(null!==C&&null!==N){if(r.isIntersectingNe(i)){0!==j(!0,!0,C,N,this.m_tolerance,!0)&&(m.pushSegment(C,c,f,_,x,d,y,E,S,P),m.pushSegment(N,G,F,D,H,V,k,A,U,q),m.intersect2D(this.m_tolerance,!0),t||=m.getSegmentChanged(0)||m.getSegmentChanged(1),B=m.getResultSegmentCount(0),O=m.getResultSegmentCount(1),B+O>0&&(this.m_shape.splitSegmentWithIntersector(e,m,0,!0,!0),this.m_shape.splitSegmentWithIntersector(w,m,1,!0,!0),this.m_bTrackChanges&&(m.getSegmentChanged(0)&&this.m_shape.setGeometryModifiedWithVertex(e,!0),m.getSegmentChanged(1)&&this.m_shape.setGeometryModifiedWithVertex(w,!0))),O>1&&(v+=O-1),m.clear())}}else if(null!==C){const s=this.m_shape.getXY(w);if(r.contains(s)){if(m.pushSegment(C,c,f,_,x,d,y,E,S,P),this.m_shape.queryPoint(w,h),m.intersect2DEx(this.m_tolerance,h,F,G,o),t||=m.getSegmentChanged(0)||m.getResultPointChanged(),B=m.getResultSegmentCount(0),B>0)if(this.m_bTrackChanges&&(m.getSegmentChanged(0)&&this.m_shape.setGeometryModifiedWithVertex(e,!0),m.getSegmentChanged(1)&&this.m_shape.setGeometryModifiedWithVertex(w,!0)),this.m_shape.splitSegmentWithIntersector(e,m,0,!0,!0),T){let e=M;for(let t=this.m_shape.getNextVertex(w);t!==M&&t!==w&&(N=this.getSegment_(t,n),e=t,null!=N&&N.isDegenerate(0));t=this.m_shape.getNextVertex(t));for(let t=w;t!==M&&(this.m_shape.setPoint(t,m.getResultPoint(),!0),t!==e);t=this.m_shape.getNextVertex(t));}else this.m_shape.setPoint(w,m.getResultPoint(),!0);m.clear()}}else{if(null===N)continue;{const s=this.m_shape.getXY(e);if(i.inflateCoords(this.m_tolerance,this.m_tolerance),i.contains(s)){if(m.pushSegment(N,G,F,D,H,V,k,A,U,q),this.m_shape.queryPoint(e,h),m.intersect2DEx(this.m_tolerance,h,f,c,o),t||=m.getSegmentChanged(0)||m.getResultPointChanged(),O=m.getResultSegmentCount(0),O>0)if(this.m_bTrackChanges&&(m.getSegmentChanged(0)&&this.m_shape.setGeometryModifiedWithVertex(w,!0),m.getSegmentChanged(1)&&this.m_shape.setGeometryModifiedWithVertex(e,!0)),this.m_shape.splitSegmentWithIntersector(w,m,0,!0,!0),v+=O-1,I){let t=M;for(let s=this.m_shape.getNextVertex(e);s!==M&&s!==e&&(N=this.getSegment_(s,n),t=s,null!=N&&N.isDegenerate(0));s=this.m_shape.getNextVertex(s));for(let s=e;s!==M&&(this.m_shape.setPoint(s,m.getResultPoint(),!0),s!==t);s=this.m_shape.getNextVertex(s));}else this.m_shape.setPoint(e,m.getResultPoint(),!0);m.clear()}}}if(B+O!==0&&0!==B){let t=!1;for(;C=this.getSegment_(e,s),null!=C&&(C.queryEnvelope(r),C.isDegenerate(this.m_tolerance));){if(!(B>1)){t=!0;break}e=u.next(),B--,a(e!==M)}if(t)break}}}return t}crackerPlaneSweep_(){return this.planesweep_()}planesweep_(){return new Dn(this.m_progressTracker,this.m_bTrackChanges).sweep(this.m_shape,this.m_tolerance)}needsCrackingImpl_(){let e=!1;const t=new Ce(0);t.resize(this.m_shape.getSelectedCount());const s=this.m_shape.queryVertexIteratorOnSelection();for(let i=0,g=s.next();g!==M;++i,g=s.next())t.write(i,g);this.m_shape.sortVerticesSimpleByY(t,0,t.size()),t.add(M);const n=this.m_shape.createUserIndex(),r=this.m_shape.createUserIndex();this.m_sweepComparator=new on(this.m_shape,this.m_tolerance,!this.m_bAllowCoincident),this.m_sweepStructure.setComparator(this.m_sweepComparator);let o=null;const a=[],h=[];let m=0;const l=new Qe;for(let g=t.read(m++);g!==M;){this.m_shape.queryXY(g,l);let s=!1;do{let e=this.m_shape.getNextVertex(g),i=this.m_shape.getPrevVertex(g);s||=e!==M||i!==M,e===M||this.m_shape.selected(e)||(e=M),i===M||this.m_shape.selected(i)||(i=M),e!==M&&this.m_shape.compareVerticesSimpleY(g,e)<0&&(h.push(g),h.push(e)),i!==M&&this.m_shape.compareVerticesSimpleY(g,i)<0&&(h.push(i),h.push(i));const o=this.m_shape.getUserIndex(g,n);-1!==o&&(a.push(o),this.m_shape.setUserIndex(g,n,-1));const l=this.m_shape.getUserIndex(g,r);-1!==l&&(a.push(l),this.m_shape.setUserIndex(g,r,-1)),g=t.read(m++)}while(g!==M&&this.m_shape.isEqualXYPoint2D(g,l));if(!s&&(null===o&&(o=new an(this.m_shape,this.m_tolerance)),o.setPoint(l),this.m_sweepStructure.searchUpperBound(o),o.intersectionDetected())){e=!0,this.m_bNeedsNonSimpleResult&&(i("needsCrackingIMpl_"),this.m_nonSimpleResult=new ts(6,-1,-1));break}let u=1===a.length&&2===h.length;const c=32;a.length>c&&$e(a);let _=-1,d=-1;if(!u)for(let t=0,n=a.length;t<n;t++){const s=a[t],n=this.m_sweepStructure.getPrev(s);if(-1!==n&&-1===a.indexOf(n))if(-1===_)_=n;else{if(e=!0,!this.m_bNeedsNonSimpleResult)break;this.m_nonSimpleResult=new ts(6,-1,-1)}const r=this.m_sweepStructure.getNext(s);if(-1!==r&&-1===a.indexOf(r))if(-1===d)d=r;else{if(e=!0,!this.m_bNeedsNonSimpleResult)break;this.m_nonSimpleResult=new ts(6,-1,-1)}if(-1!==_&&-1!==d)break}if(e&&!this.m_bNeedsNonSimpleResult)break;if(this.m_sweepComparator.setSweepY(l.y,l.x),!u){for(let e=0,t=a.length;e<t;e++){const t=a[e];this.m_sweepStructure.deleteNode(t)}a.length=0}if(!u&&-1!==_&&-1!==d&&this.checkForIntersections_(_,d)){e=!0,this.m_bNeedsNonSimpleResult&&(this.m_nonSimpleResult=this.m_sweepComparator.getResult());break}for(let t=0,i=h.length;t<i;t+=2){const s=h[t],i=h[t+1];let o;if(u?(o=this.m_sweepStructure.replaceElementAtPosition(a[0],s,!0,!0),a.length=0,u=!1):o=this.m_sweepStructure.addElement(s),this.m_sweepComparator.intersectionDetected()){this.m_bNeedsNonSimpleResult&&(this.m_nonSimpleResult=this.m_sweepComparator.getResult()),e=!0;break}-1===this.m_shape.getUserIndex(i,n)?this.m_shape.setUserIndex(i,n,o):this.m_shape.setUserIndex(i,r,o)}if(e)break;h.length=0}return this.m_shape.removeUserIndex(n),this.m_shape.removeUserIndex(r),e}checkForIntersections_(e,t){const s=this.m_sweepStructure.getElement(e);this.m_sweepComparator.compare(this.m_sweepStructure,s,t);const n=this.m_sweepComparator.intersectionDetected();return this.m_sweepComparator.clearIntersectionDetectedFlag(),n}getSegment_(e,t){return Bn.st_getSegment(this.m_shape,e,t)}static st_getSegment(e,t,s){return e.querySegment(t,s,!1,!1)?s.get():null}dbgPrintSweepEdge(e){}dbgPrintSweepStructure(){}dbgSaveSweepStructure(e=null){}dbgCheckSweepStructure(){}progress_(e=!1){this.m_progressCounter++}crackAWithBMultiPath_(t,s,r){const i=e.constructEmpty();t.queryLooseEnvelope(i);const o=e.constructEmpty();if(s.queryLooseEnvelope(o),o.inflateCoords(r,r),!o.isIntersecting(i))return t;const h=t.getImpl(),m=h.getAccelerators();let g=null,u=null;m&&(u=m.getQuadTree()),On(t,l(s))&&(g=Ve(h,o),u=g);const c=u?u.getIteratorForQT():null,_=s.querySegmentIterator(),d=t.querySegmentIterator(),p=Ke(15,Number.NaN),f=[];for(;_.nextPath();)for(;_.hasNextSegment();){const t=_.nextSegment();if(u){c.resetIterator(t,r);for(let e=c.next();-1!==e;e=c.next()){this.progress_();const s=u.getElement(e);if(d.resetToVertex(s,-1),d.hasNextSegment()){const e=d.nextSegment().intersect(t,null,p,null,r);for(let t=0;t<e;t++){const e=p[t];if(0===e||1===e)continue;const s=qn(e,d.getStartPointIndex());f.push(s)}}}}else{const s=e.constructEmpty();if(t.queryLooseEnvelope(s),s.inflateCoords(r,r),!i.isIntersecting(s))continue;for(d.resetToFirstPath();d.nextPath();)for(;d.hasNextSegment();){const n=d.nextSegment(),i=e.constructEmpty();if(n.queryLooseEnvelope(i),!i.isIntersecting(s))continue;const o=n.intersect(t,null,p,null,r);for(let e=0;e<o;e++){const t=p[e];if(0===t||1===t)continue;const s=qn(t,d.getStartPointIndex());f.push(s)}}}}if(0===f.length)return t;f.sort(((e,t)=>e.index<t.index?-1:e.index>t.index?1:e.t<t.t?-1:e.t>t.t?1:0));const x=t.createInstance();if(x.getGeometryType()===n.enumPolygon){x.setFillRule(t.getFillRule())}for(d.resetToFirstPath();d.nextPath()&&!d.hasNextSegment(););a(d.hasNextSegment());let y=d.nextSegment();const P=new F;let E=-1;for(let e=0,n=f.length;e<n;){const t=f[e].index;let s=e+1;for(;s<n&&f[s].index===t;)++s;for(;d.getStartPointIndex()<t;){this.progress_();const e=d.hasNextSegment(),t=d.getPathIndex();if((e||!d.isClosingSegment()||d.isCurve())&&(a(null!==y),x.addSegment(y,E!==t)),E=t,!e){for(d.isPathClosed();d.nextPath()&&!d.hasNextSegment(););a(d.hasNextSegment())}y=d.nextSegment()}let r=0;for(let n=e;n<s;n++){const e=f[n].t;if(e===r)continue;a(null!==y),y.queryCut(r,e,P),r=e;const t=d.getPathIndex();x.addSegment(P.get(),E!==t),E=t}const i=d.hasNextSegment();if((i||!d.isClosingSegment()||d.isCurve())&&(a(null!=y),y.queryCut(r,1,P),x.addSegment(P.get(),!1)),i)y=d.nextSegment();else{for(;d.nextPath()&&!d.hasNextSegment(););y=d.hasNextSegment()?d.nextSegment():null}e=s}if(null!==y){const e=d.getPathIndex();(d.hasNextSegment()||!d.isClosingSegment()||d.isCurve())&&x.addSegment(y,E!==e),E=e}let S=d.hasNextSegment();for(;;){if(!S){for(;d.nextPath()&&(S=d.hasNextSegment(),!S););if(!S)break}y=d.nextSegment();const e=d.getPathIndex();S=d.hasNextSegment();(S||!d.isClosingSegment()||d.isCurve())&&x.addSegment(y,E!==e),E=e}return x}constructor(e){this.m_shape=null,this.m_progressTracker=null,this.m_nonSimpleResult=new ts,this.m_tolerance=0,this.m_sweepComparator=null,this.m_progressCounter=0,this.m_bTrackChanges=!1,this.m_bNeedsNonSimpleResult=!1,this.m_bAllowCoincident=!0,this.m_sweepStructure=new Ee,this.m_progressTracker=e}}function On(e,t){const s=e.getPointCount();if(s<16)return!1;const n=1;return 2*s+1*(Math.log(s)/Math.log(2))*t<n*s*t}Bn.s_bForceBruteForce=!0;class Yn{constructor(e,t){this.m_monotoneParts=lt(F,16),this.m_xOrds=Ke(16,Number.NaN),this.m_inputPoint=Qe.getNAN(),this.m_miny=0,this.m_maxy=0,this.m_windnum=0,this.m_bAlternate=e,this.m_tolerance=t,this.m_toleranceSqr=t*t,this.m_bTestBorder=!!t,this.m_bBreak=!1}_DoOne(e){if(!this.m_bTestBorder&&(this.m_bAlternate&&this.m_inputPoint.equals(e.getStartXY())||this.m_inputPoint.equals(e.getEndXY())))return void(this.m_bBreak=!0);if(e.getStartY()===this.m_inputPoint.y&&e.getStartY()===e.getEndY()){if(this.m_bAlternate&&!this.m_bTestBorder){const t=Math.min(e.getStartX(),e.getEndX()),s=Math.max(e.getStartX(),e.getEndX());this.m_inputPoint.x>t&&this.m_inputPoint.x<s&&(this.m_bBreak=!0)}return}let t=!1;const s=Math.max(e.getStartX(),e.getEndX());if(this.m_inputPoint.x>s)t=!0;else if(this.m_inputPoint.x>=Math.min(e.getStartX(),e.getEndX())){const n=e.intersectionOfYMonotonicWithAxisX(this.m_inputPoint.y,s);t=!Number.isNaN(n)&&n<=this.m_inputPoint.x}if(t){if(this.m_inputPoint.y===e.getStartY()){if(this.m_inputPoint.y<e.getEndY())return}else if(this.m_inputPoint.y===e.getEndY()&&this.m_inputPoint.y<e.getStartY())return;this.m_bAlternate?this.m_windnum^=1:this.m_windnum+=e.getStartY()>e.getEndY()?1:-1}}_Result(){return!!this.m_windnum}testBorder(e){const t=e.getClosestCoordinate(this.m_inputPoint,!1),s=e.getCoord2D(t);return Qe.sqrDistance(s,this.m_inputPoint)<=this.m_toleranceSqr}setInputPoint(e){this.m_inputPoint.setCoordsPoint2D(e),this.m_miny=e.y-this.m_tolerance,this.m_maxy=e.y+this.m_tolerance}processSegment(e){const t=e.queryInterval(0,1);if(t.vmin>this.m_maxy||t.vmax<this.m_miny)return!1;if(this.m_bTestBorder&&this.testBorder(e))return!0;if(t.vmin>this.m_inputPoint.y||t.vmax<this.m_inputPoint.y)return!1;let s=0;if(e.isCurve()&&(0===this.m_monotoneParts.length&&(this.m_monotoneParts.length=128),s=e.getMonotonicParts(this.m_monotoneParts,!0),a(this.m_monotoneParts.length>=s)),s>0)for(let n=0;n<s;n++){const e=this.m_monotoneParts[n].get(),t=at.construct(e.getStartY(),e.getEndY());if(!(t.vmin>this.m_inputPoint.y||t.vmax<this.m_inputPoint.y)&&(this._DoOne(e),this.m_bBreak))return!0}else if(this._DoOne(e),this.m_bBreak)return!0;return!1}result(){return a(0),2}}function Rn(t,s,n,r){const i=new e;t.queryLooseEnvelope(i),i.inflateCoords(r,r);const o=0===t.getFillRule(),a=new Yn(o,r);a.setInputPoint(n);const h=i.clone();h.xmax=n.x+r,h.ymin=n.y-r,h.ymax=n.y+r;const m=t.getImpl().querySegmentIterator(),l=s.getIterator(h,r);for(let e=l.next();-1!==e;e=l.next())if(m.resetToVertex(s.getElement(e),-1),m.hasNextSegment()){const e=m.nextSegment();if(a.processSegment(e))return-1}return a._Result()?1:0}function Xn(e,t,s){const n=0===e.getFillRule(),r=new Yn(n,s);r.setInputPoint(t);const i=e.getImpl().querySegmentIterator();for(;i.nextPath();)for(;i.hasNextSegment();){const e=i.nextSegment();if(r.processSegment(e))return-1}return r._Result()?1:0}function Ln(e,t,s){return t.isEmpty()?0:zn(e,t.getXY(),s)}function zn(t,s,n){if(t.isEmpty())return 0;const r=e.constructEmpty();if(t.queryLooseEnvelope(r),r.inflateCoords(n,n),!r.contains(s))return 0;const i=t.getImpl().getAccelerators();if(i){i.getRasterizedGeometry()&&a(0);const e=i.getQuadTree();if(e)return Rn(t,e,s,n)}return Xn(t,s,n)}function Wn(e,t){const s=e.getPointCount();if(s<16)return!1;const n=1;return 2*s+1*(Math.log(s)/Math.log(2))*t<n*s*t}function jn(e,t,s,n,r){const i=new $n(r);return i.m_shape=e,i.m_geometry=t,i.m_sortedVertices=s,i.m_bFixSelfTangency=n,i.fixRingOrientation_()}function Zn(e,t,s){const n=new $n(s);return n.m_shape=e,n.m_geometry=t,n.m_sortedVertices=null,n.m_bFixSelfTangency=!1,n.fixRingOrientationForMp2sp_()}class Kn{getDirection_(e){return this.m_shape.getNextVertex(this.getEnd1(e))===this.getEnd2(e)}getEnd_(e){const t=this.getEnd1(e),s=this.getEnd2(e);return this.m_shape.getNextVertex(t)===s?s:t}constructor(e){this.m_end1Nodes=[],this.m_end2Nodes=[],this.m_directions=[],this.m_shape=e,this.m_firstFree=-1}getSegment(e){return this.m_shape.getSegment(this.getStart(e))}isBottomUp(e){let t=this.getEnd1(e),s=this.getEnd2(e);this.m_shape.getPrevVertex(t)===s&&(s=rt(t,t=s));const n=Qe.getNAN(),r=Qe.getNAN();return this.m_shape.queryXY(t,n),this.m_shape.queryXY(s,r),a(!n.equals(r)),n.y<r.y}getStart(e){const t=this.getEnd1(e),s=this.getEnd2(e);return this.m_shape.getNextVertex(t)===s?t:s}getEnd1(e){return this.m_end1Nodes[e]}getEnd2(e){return this.m_end2Nodes[e]}freeEdge(e){this.m_end1Nodes[e]=this.m_firstFree,this.m_firstFree=e}newEdge(e){if(-1!==this.m_firstFree){const t=this.m_firstFree;return this.m_firstFree=this.m_end1Nodes[t],this.m_end1Nodes[t]=e,this.m_end2Nodes[t]=this.m_shape.getNextVertex(e),t}const t=this.m_end1Nodes.length;return this.m_end1Nodes.push(e),this.m_end2Nodes.push(this.m_shape.getNextVertex(e)),t}getShape(){return this.m_shape}getPath(e){return this.m_shape.getPathFromVertex(this.getEnd1(e))}}let Qn=class extends Ye{constructor(e){super(),this.m_line1=new H,this.m_line2=new H,this.m_leftElm=-1,this.m_leftx=0,this.m_seg1=null,this.m_helper=e}compare(e,t,s){const n=e.getElement(s),r=this.m_helper.m_edges;let i;if(this.m_leftElm===t)i=this.m_leftx;else{if(this.m_seg1=r.getSegment(t),this.m_seg1)i=this.m_seg1.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0);else{r.getShape().queryLineConnector(r.getStart(t),this.m_line1,!0),this.m_seg1=this.m_line1,i=this.m_line1.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0)}this.m_leftx=i,this.m_leftElm=t}let o,a=r.getSegment(n);if(a)o=a.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0);else{r.getShape().queryLineConnector(r.getStart(n),this.m_line2,!0),a=this.m_line2,o=this.m_line2.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0)}if(i===o){const e=r.isBottomUp(t),s=r.isBottomUp(n),h=e?this.m_seg1.getEndY():this.m_seg1.getStartY(),m=s?a.getEndY():a.getStartY(),l=Math.min(h,m);let g=.5*(l+this.m_helper.m_yScanline);g===this.m_helper.m_yScanline&&(g=l),i=this.m_seg1.intersectionOfYMonotonicWithAxisX(g,0),o=a.intersectionOfYMonotonicWithAxisX(g,0),i===o&&P("")}return i<o?-1:i>o?1:0}reset(){this.m_leftElm=-1}};class Jn{constructor(e){this.m_node=-1,this.m_index=0,this.m_sortedVertices=e.m_sortedVertices,this.m_sortedVerticesArray=e.m_sortedVerticesArray,this.m_sortedVertices&&(this.m_node=this.m_sortedVertices.getFirst(this.m_sortedVertices.getFirstList()))}next(){if(this.m_sortedVertices){const e=this.m_node;if(-1===e)return M;const t=this.m_sortedVertices.getData(e);return this.m_node=this.m_sortedVertices.getNext(e),t}if(this.m_index<this.m_sortedVerticesArray.size()){const e=this.m_sortedVerticesArray.read(this.m_index);return this.m_index++,e}return M}}class $n{constructor(e){this.m_edges=null,this.m_shape=null,this.m_AET=new Ee,this.m_yScanline=0,this.m_geometry=M,this.m_unknownRingOrientationCount=-1,this.m_sortedVertices=null,this.m_sortedVerticesArray=null,this.m_unknownNodes=[],this.m_node1UserIndex=-1,this.m_node2UserIndex=-1,this.m_pathOrientationIndex=-1,this.m_pathParentageIndex=-1,this.m_pathParentsIndex=-1,this.m_progressCounter=0,this.m_bFixSelfTangency=!1,this.m_progressTracker=e,this.m_AET.disableBalancing(),this.m_sweepComparator=new Qn(this),this.m_AET.setComparator(this.m_sweepComparator)}fixRingOrientation_(){const e=this.fixRingOrientationImplMain_();return-1===this.m_pathOrientationIndex||this.fixRingOrientationImplSimplify_(),e}fixRingOrientationForMp2sp_(){return this.fixRingOrientationImplMain_(),-1===this.m_pathOrientationIndex?-1:this.fixRingOrientationImplMp2sp_()}processBunchForRingOrientationTest_(e){return this.processBunchForRingOrientationTestOddEven_(e)}processBunchForRingOrientationTestOddEven_(e){let t=!1;if(this.m_edges||(this.m_edges=new Kn(this.m_shape)),this.m_unknownNodes.length=0,this.processBunchForRingOrientationRemoveEdges_(e),!this.m_AET.isAutoBalancing()){let t=0;for(let s=0,n=e.length;s<n;s++){-1!==e[s]&&t++}(t>10||this.m_AET.getMaxDepthEver()>4)&&this.m_AET.enableBalancing()}for(let s=0,n=e.length;s<n;s++){const t=e[s];t!==M&&this.insertEdge_(t,-1)}for(let s=0;s<this.m_unknownNodes.length&&this.m_unknownRingOrientationCount>0;s++){const e=this.m_unknownNodes[s],n=this.m_AET.getElement(e),r=this.m_edges.getPath(n),i=this.m_shape.getPathUserIndex(r,this.m_pathOrientationIndex);let o=M;if(0===i){let s=this.m_AET.getPrev(e),n=e,r=!1;for(;s!==Ee.st_nullNode();){const e=this.m_AET.getElement(s),t=this.m_edges.getPath(e);if(0!==this.m_shape.getPathUserIndex(t,this.m_pathOrientationIndex)){o=t;break}n=s,s=this.m_AET.getPrev(s)}if(s===Ee.st_nullNode())r=!0,s=n;else{const e=this.m_AET.getElement(s);r=this.m_edges.isBottomUp(e),s=this.m_AET.getNext(s),r=!r}do{const e=this.m_AET.getElement(s),i=this.m_edges.getPath(e);if(0===this.m_shape.getPathUserIndex(i,this.m_pathOrientationIndex)){if(r!==this.m_edges.isBottomUp(e)){const e=this.m_shape.getFirstVertex(i);this.m_shape.reverseRingInternal(e),this.m_shape.setLastVertex(i,this.m_shape.getPrevVertex(e)),t=!0}if(this.m_shape.setPathUserIndex(i,this.m_pathOrientationIndex,r?3:2),!r){let e=this.m_shape.getPathUserIndex(o,this.m_pathOrientationIndex);2===e?(o=this.m_shape.getPathUserIndex(o,this.m_pathParentsIndex),e=this.m_shape.getPathUserIndex(o,this.m_pathOrientationIndex),a(3===e)):a(3===e);const t=this.m_shape.getPathUserIndex(o,this.m_pathParentageIndex);this.m_shape.setPathUserIndex(o,this.m_pathParentageIndex,i),this.m_shape.setPathUserIndex(i,this.m_pathParentageIndex,t),this.m_shape.setPathUserIndex(i,this.m_pathParentsIndex,o)}if(this.m_unknownRingOrientationCount--,!this.m_unknownRingOrientationCount)return t}o=i,n=s,s=this.m_AET.getNext(s),r=!r}while(n!==e)}}return t}processBunchForRingOrientationRemoveEdges_(e){for(let t=0,s=e.length;t<s;t++){const s=e[t],n=this.m_shape.getUserIndex(s,this.m_node1UserIndex),r=this.m_shape.getUserIndex(s,this.m_node2UserIndex);if(-1!==n){const e=this.m_AET.getElement(n);this.m_edges.freeEdge(e),this.m_shape.setUserIndex(s,this.m_node1UserIndex,-1)}if(-1!==r){const e=this.m_AET.getElement(r);this.m_edges.freeEdge(e),this.m_shape.setUserIndex(s,this.m_node2UserIndex,-1)}let i=-1;-1!==n&&-1!==r?(this.m_AET.deleteNode(n),this.m_AET.deleteNode(r),e[t]=M):i=-1!==n?n:r,-1!==i&&(this.insertEdge_(s,i)||this.m_AET.deleteNode(i),e[t]=M)}}dbgVerifyRingOrientation_(){}insertEdge_(e,t){const s=Qe.getNAN(),n=Qe.getNAN();this.m_shape.queryXY(e,s);const r=this.m_shape.getNextVertex(e);this.m_shape.queryXY(r,n);let i=!1;if(s.y<n.y){i=!0;const s=this.m_edges.newEdge(e);let n;-1===t?n=this.m_AET.addElement(s):(n=t,this.m_AET.setElement(n,s));-1===this.m_shape.getUserIndex(r,this.m_node1UserIndex)?this.m_shape.setUserIndex(r,this.m_node1UserIndex,n):this.m_shape.setUserIndex(r,this.m_node2UserIndex,n);const o=this.m_shape.getPathFromVertex(e);0===this.m_shape.getPathUserIndex(o,this.m_pathOrientationIndex)&&this.m_unknownNodes.push(n)}const o=this.m_shape.getPrevVertex(e);if(this.m_shape.queryXY(o,n),s.y<n.y){i=!0;const s=this.m_edges.newEdge(o);let n;-1===t?n=this.m_AET.addElement(s):(n=t,this.m_AET.setElement(n,s));-1===this.m_shape.getUserIndex(o,this.m_node1UserIndex)?this.m_shape.setUserIndex(o,this.m_node1UserIndex,n):this.m_shape.setUserIndex(o,this.m_node2UserIndex,n);const r=this.m_shape.getPathFromVertex(e);0===this.m_shape.getPathUserIndex(r,this.m_pathOrientationIndex)&&this.m_unknownNodes.push(n)}return i}fixRingSelfTangency_(){const e=[],t=[];let s=-1,n=-1;const r=new Qe;let i=M,o=M,h=-1;const m=new Jn(this);for(let a=m.next();a!==M;a=m.next()){const m=new Qe;this.m_shape.queryXY(a,m);const l=this.m_shape.getPathFromVertex(a);if(r.equals(m)&&o===l){if(-1===n&&(s=this.m_shape.createPathUserIndex(),this.m_shape.fillPathUserIndexForGeometry(this.m_geometry,s,-1),n=this.m_shape.createUserIndex(),this.m_shape.fillUserIndexForGeometry(this.m_geometry,n,-1)),-1===h){h=t.length,this.m_shape.setUserIndex(i,n,h),t.push(1);-1===this.m_shape.getPathUserIndex(l,s)&&(this.m_shape.setPathUserIndex(l,s,i),e.push(l))}this.m_shape.setUserIndex(a,n,h),t[t.length-1]++}else h=-1,r.assign(m);i=a,o=l}if(0===e.length)return!1;a(-1!==s);for(let a=0,l=e.length;a<l;a++){const r=e[a];let i=this.m_shape.getPathUserIndex(r,s);const o=this.m_shape.getUserIndex(i,n),h=[],m=[];h.push(i),m.push(o);for(let e=this.m_shape.getNextVertex(i);e!==i;e=this.m_shape.getNextVertex(e)){const s=e,r=this.m_shape.getUserIndex(s,n);if(-1!==r){if(0===m.length){m.push(r),h.push(s);continue}if(m.at(-1)===r){const o=h.at(-1);this.m_shape.peelALoopIntoAPath(o,s),this.m_shape.setUserIndex(e,n,-1),t[r]--,1===t[r]&&(t[r]=0,m.pop(),h.pop()),i=o,e=o}else h.push(e),m.push(r)}}}return this.m_shape.removePathUserIndex(s),this.m_shape.removeUserIndex(n),this.m_shape.dbgVerifyVertexCounts(),!0}progress_(e=!1){}fixRingOrientationImplMain_(){const e={stack:[],error:void 0,hasError:!1};try{let t,s=!1;const n=zt(e,Nt((()=>{this.m_sortedVerticesArray=null})),!1);if(null===this.m_sortedVertices){const e=this.m_shape.getPointCount(this.m_geometry);t=new Ce(0);for(let s=this.m_shape.getFirstPath(this.m_geometry);s!==M;s=this.m_shape.getNextPath(s)){let e=this.m_shape.getFirstVertex(s);for(let n=0,r=this.m_shape.getPathSize(s);n<r;n++)t.add(e),e=this.m_shape.getNextVertex(e)}this.m_shape.sortVerticesSimpleByY(t,0,e),this.progress_(!0),this.m_sortedVerticesArray=t}else n.bForget=!0;if(this.m_bFixSelfTangency&&(s=this.fixRingSelfTangency_()),1===this.m_shape.getPathCount(this.m_geometry)){const e=this.m_shape.getFirstPath(this.m_geometry),t=this.m_shape.getRingArea(e);if(this.m_shape.setExterior(e,!0),t<0){const t=this.m_shape.getFirstVertex(e);return this.m_shape.reverseRingInternal(t),this.m_shape.setLastVertex(e,this.m_shape.getPrevVertex(t)),!0}return!1}this.m_shape.dbgVerifyCurves(),this.m_pathOrientationIndex=this.m_shape.createPathUserIndex(),this.m_pathParentageIndex=this.m_shape.createPathUserIndex(),this.m_pathParentsIndex=this.m_shape.createPathUserIndex();for(let e=this.m_shape.getFirstPath(this.m_geometry);e!==M;e=this.m_shape.getNextPath(e))this.m_shape.setPathUserIndex(e,this.m_pathOrientationIndex,0),this.m_shape.setPathUserIndex(e,this.m_pathParentageIndex,-1),this.m_shape.setPathUserIndex(e,this.m_pathParentsIndex,-1);const r=[];this.m_yScanline=Number.NaN;const i=Qe.getNAN();this.m_unknownRingOrientationCount=this.m_shape.getPathCount(this.m_geometry),this.m_node1UserIndex=this.m_shape.createUserIndexUninitialized(),this.m_shape.fillUserIndexForGeometry(this.m_geometry,this.m_node1UserIndex,-1),this.m_node2UserIndex=this.m_shape.createUserIndexUninitialized(),this.m_shape.fillUserIndexForGeometry(this.m_geometry,this.m_node2UserIndex,-1);const o=new Jn(this);for(let e=o.next();e!==M&&(this.progress_(),this.m_shape.queryXY(e,i),i.y!==this.m_yScanline&&r.length&&(s=this.processBunchForRingOrientationTest_(r)||s,this.m_sweepComparator.reset(),r.length=0),r.push(e),this.m_yScanline=i.y,0!==this.m_unknownRingOrientationCount);e=o.next());return this.m_unknownRingOrientationCount>0&&(s=this.processBunchForRingOrientationTest_(r)||s,r.length=0),this.m_shape.removeUserIndex(this.m_node1UserIndex),this.m_shape.removeUserIndex(this.m_node2UserIndex),this.dbgVerifyRingOrientation_(),s}catch(t){e.error=t,e.hasError=!0}finally{Wt(e)}}fixRingOrientationImplSimplify_(){const e=[];for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==M;)if(this.progress_(),3===this.m_shape.getPathUserIndex(t,this.m_pathOrientationIndex)){this.m_shape.setExterior(t,!0);for(let r=this.m_shape.getPathUserIndex(t,this.m_pathParentageIndex);r!==M;){const s=this.m_shape.getPathUserIndex(r,this.m_pathParentageIndex);e.push(r),this.m_shape.setExterior(r,!1),this.m_shape.setPathUserIndex(r,this.m_pathParentageIndex,t),r=s}let s=t,n=e.length;for(let e=this.m_shape.getNextPath(t);n>0&&e!==M;e=this.m_shape.getNextPath(e),--n){if(this.m_shape.getPathUserIndex(e,this.m_pathParentageIndex)!==t){s=M;break}s=e}if(0!==n){s=t;for(let t=0,n=e.length;t<n;t++){const n=e[t];this.m_shape.setPathUserIndex(n,this.m_pathParentageIndex,ze),this.m_shape.movePath(this.m_geometry,this.m_shape.getNextPath(s),n),s=n}}e.length=0,t=this.m_shape.getNextPath(s)}else t=this.m_shape.getNextPath(t);this.m_shape.removePathUserIndex(this.m_pathOrientationIndex),this.m_shape.removePathUserIndex(this.m_pathParentageIndex),this.m_shape.removePathUserIndex(this.m_pathParentsIndex)}fixRingOrientationImplMp2sp_(){const e=this.m_shape.createPathUserIndex();let t=0;const s=[];for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==M;)if(this.progress_(),3===this.m_shape.getPathUserIndex(n,this.m_pathOrientationIndex)){this.m_shape.setExterior(n,!0),this.m_shape.setPathUserIndex(n,e,t),t++;for(let e=this.m_shape.getPathUserIndex(n,this.m_pathParentageIndex);e!==M;){const t=this.m_shape.getPathUserIndex(e,this.m_pathParentageIndex);s.push(e),this.m_shape.setExterior(e,!1),this.m_shape.setPathUserIndex(e,this.m_pathParentageIndex,n),e=t}let r=n,i=s.length,o=t;for(let t=this.m_shape.getNextPath(n);i>0&&t!==M;t=this.m_shape.getNextPath(t),--i){if(this.m_shape.getPathUserIndex(t,this.m_pathParentageIndex)!==n){r=M;break}r=t,this.m_shape.setPathUserIndex(t,e,-o),o++}if(0!==i){r=n,o=t;for(let t=0,n=s.length;t<n;t++){const n=s[t];this.m_shape.setPathUserIndex(n,e,-o),o++,this.m_shape.setPathUserIndex(n,this.m_pathParentageIndex,ze)}r=n}t=o,s.length=0,n=this.m_shape.getNextPath(r)}else n=this.m_shape.getNextPath(n);return this.m_shape.removePathUserIndex(this.m_pathOrientationIndex),this.m_shape.removePathUserIndex(this.m_pathParentageIndex),this.m_shape.removePathUserIndex(this.m_pathParentsIndex),e}}function er(e,t,s,n,r,i){const o=new tr(i);return o.m_shape=e,o.m_geometry=t,o.m_knownSimpleResult=s,o.m_bFixSelfTangency=n,o.m_polylineDegeneracies=r,o.m_bHasSegmentParentage=e.hasSegmentParentage(),o.m_bHasSegments=e.hasCurves(),o.simplify_()}class tr{constructor(e){this.m_shape=null,this.m_geometry=M,this.m_sortedVertices=new Pe,this.m_bunchEdgeEndPoints=[],this.m_bunchEdgeCenterPoints=[],this.m_bunchEdgeIndices=[],this.m_sorterSegmentBuffer1=null,this.m_sorterSegmentBuffer2=null,this.m_knownSimpleResult=-1,this.m_sortedVerticesListIndex=-1,this.m_polylineDegeneracies=M,this.m_userIndexSortedIndexToVertex=-1,this.m_userIndexSortedAngleIndexToVertex=-1,this.m_nextVertexToProcess=-1,this.m_firstCoincidentVertex=-1,this.m_progressCounter=0,this.m_bFixSelfTangency=!1,this.m_bHasSegmentParentage=!1,this.m_bHasSegments=!1,this.m_progressTracker=e}compareAngles_(e,t){return this.m_bHasSegments?this.compareAnglesCurves_(e,t):this.compareAnglesLines_(e,t)}compareAnglesLines_(e,t){const s=this.m_bunchEdgeEndPoints[e],n=new Qe;this.m_shape.queryXY(s,n);const r=new Qe,i=this.m_bunchEdgeEndPoints[t];if(this.m_shape.queryXY(i,r),n.equals(r))return 0;const o=this.m_bunchEdgeCenterPoints[e],a=new Qe;this.m_shape.queryXY(o,a);const h=this.m_bunchEdgeCenterPoints[t],m=new Qe;this.m_shape.queryXY(h,m);const l=new Qe;l.setSub(n,a);const g=new Qe;g.setSub(r,m),(l.isZero()||g.isZero())&&P("");return Qe.compareVectors(l,g)}compareAnglesCurves_(e,t){const s=this.m_bunchEdgeEndPoints[e],n=this.m_bunchEdgeEndPoints[t],r=this.m_bunchEdgeCenterPoints[e],i=this.m_bunchEdgeCenterPoints[t],o=this.m_shape.getNextVertex(r)===s,a=this.m_shape.getNextVertex(i)===n,h=o?this.m_shape.isCurve(r):this.m_shape.isCurve(s),m=a?this.m_shape.isCurve(i):this.m_shape.isCurve(n);if(!h&&!m)return this.compareAnglesLines_(e,t);this.m_sorterSegmentBuffer1||(this.m_sorterSegmentBuffer1=new F),this.m_sorterSegmentBuffer2||(this.m_sorterSegmentBuffer2=new F),o?this.m_shape.querySegment(r,this.m_sorterSegmentBuffer1,!1,!0):(this.m_shape.querySegment(s,this.m_sorterSegmentBuffer1,!1,!0),this.m_sorterSegmentBuffer1.get().reverse()),a?this.m_shape.querySegment(i,this.m_sorterSegmentBuffer2,!1,!0):(this.m_shape.querySegment(n,this.m_sorterSegmentBuffer2,!1,!0),this.m_sorterSegmentBuffer2.get().reverse());return q(this.m_sorterSegmentBuffer1.get(),this.m_sorterSegmentBuffer2.get())}beforeRemoveVertex_(e,t){const s=this.m_shape.getUserIndex(e,this.m_userIndexSortedIndexToVertex);if(this.m_nextVertexToProcess===s&&(this.m_nextVertexToProcess=this.m_sortedVertices.getNext(this.m_nextVertexToProcess)),this.m_firstCoincidentVertex===s&&(this.m_firstCoincidentVertex=this.m_sortedVertices.getNext(this.m_firstCoincidentVertex)),this.m_sortedVertices.deleteElement(this.m_sortedVerticesListIndex,s),this.removeAngleSortInfo_(e),t){const t=this.m_shape.getPathFromVertex(e);if(t!==M){if(this.m_shape.getFirstVertex(t)===e){const s=this.m_shape.getNextVertex(e);if(s!==e){if(this.m_shape.getPathFromVertex(s)===t)return void this.m_shape.setFirstVertex(t,s);{const s=this.m_shape.getPrevVertex(e);if(s!==e){if(this.m_shape.getPathFromVertex(s)===t)return void this.m_shape.setFirstVertex(t,s)}}}this.m_shape.setFirstVertex(t,M),this.m_shape.setLastVertex(t,M)}}}}processBunch_(){let e=!1;const t=new Qe(0,0);for(;;){this.m_bunchEdgeEndPoints.length=0,this.m_bunchEdgeCenterPoints.length=0,this.m_bunchEdgeIndices.length=0;let s=this.m_firstCoincidentVertex,n=0,r=!0;for(;s!==this.m_nextVertexToProcess;){const e=this.m_sortedVertices.getData(s);r&&(this.m_shape.queryXY(e,t),r=!1);const i=this.m_shape.getPrevVertex(e),o=this.m_shape.getNextVertex(e);this.m_shape.getUserIndex(i,this.m_userIndexSortedAngleIndexToVertex)!==ze&&(this.m_bunchEdgeEndPoints.push(i),this.m_shape.setUserIndex(i,this.m_userIndexSortedAngleIndexToVertex,ze),this.m_bunchEdgeCenterPoints.push(e),this.m_bunchEdgeIndices.push(n++));this.m_shape.getUserIndex(o,this.m_userIndexSortedAngleIndexToVertex)!==ze&&(this.m_bunchEdgeEndPoints.push(o),this.m_shape.setUserIndex(o,this.m_userIndexSortedAngleIndexToVertex,ze),this.m_bunchEdgeCenterPoints.push(e),this.m_bunchEdgeIndices.push(n++)),s=this.m_sortedVertices.getNext(s)}if(this.m_bunchEdgeEndPoints.length<2){1===this.m_bunchEdgeEndPoints.length&&this.m_shape.setUserIndex(this.m_bunchEdgeEndPoints[0],this.m_userIndexSortedAngleIndexToVertex,-1);break}this.m_bunchEdgeIndices.sort(((e,t)=>this.compareAngles_(e,t)));for(let e=0,t=this.m_bunchEdgeIndices.length;e<t;e++){const t=this.m_bunchEdgeIndices[e],s=this.m_bunchEdgeEndPoints[t];this.m_shape.setUserIndex(s,this.m_userIndexSortedAngleIndexToVertex,e)}const i=this.processCrossOvers_(t);for(let e=0,t=this.m_bunchEdgeIndices.length;e<t;e++){const t=this.m_bunchEdgeIndices[e];if(-1===t)continue;const s=this.m_bunchEdgeEndPoints[t];this.m_shape.setUserIndex(s,this.m_userIndexSortedAngleIndexToVertex,-1)}if(!i)break;e=!0}return e}processCrossOvers_(e){let t=!1,s=!0;for(;s;){s=!1;let n=0;-1===this.m_bunchEdgeIndices[n]&&(n=this.getNextEdgeIndex_(n));let r=this.getNextEdgeIndex_(n);for(let i=0,o=this.m_bunchEdgeIndices.length;i<o&&-1!==n&&-1!==r&&n!==r;i++){const i=this.m_bunchEdgeIndices[n],o=this.m_bunchEdgeIndices[r],a=this.m_bunchEdgeEndPoints[i],h=this.m_bunchEdgeEndPoints[o];let m=this.m_shape.getNextVertex(a),l=!1;this.m_shape.isEqualXYPoint2D(m,e)||(m=this.m_shape.getPrevVertex(a),l=!0);let g=this.m_shape.getNextVertex(h),u=!1;this.m_shape.isEqualXYPoint2D(g,e)||(g=this.m_shape.getPrevVertex(h),u=!0);const c=l?this.m_shape.getPrevVertex(m):this.m_shape.getNextVertex(m),_=u?this.m_shape.getPrevVertex(g):this.m_shape.getNextVertex(g);let d=!1;(this.removeSpike_(m)||this.removeSpike_(g)||this.removeSpike_(a)||this.removeSpike_(h)||this.removeSpike_(c)||this.removeSpike_(_))&&(d=!0),m!==g&&(!d&&this.m_shape.isEqualXY(a,h)&&(d=this.resolveOverlap_(l,u,m,a,g,h)),!d&&this.m_shape.isEqualXY(c,_)&&(d=this.resolveOverlap_(!l,!u,m,c,g,_)),!d&&this.m_shape.isEqualXY(a,_)&&(d=this.resolveOverlap_(l,!u,m,a,g,_)),!d&&this.m_shape.isEqualXY(c,h)&&(d=this.resolveOverlap_(!l,u,m,c,g,h))),d&&(t=!0),s||=d,n=d?this.getNextEdgeIndex_(n):r,r=this.getNextEdgeIndex_(n)}}if(!t){let s=0;-1===this.m_bunchEdgeIndices[s]&&(s=this.getNextEdgeIndex_(s));let n=this.getNextEdgeIndex_(s);for(let r=0,i=this.m_bunchEdgeIndices.length;r<i&&-1!==s&&-1!==n&&s!==n;r++){const r=this.m_bunchEdgeIndices[s],i=this.m_bunchEdgeIndices[n],o=this.m_bunchEdgeEndPoints[r],a=this.m_bunchEdgeEndPoints[i];let h=this.m_shape.getNextVertex(o);this.m_shape.isEqualXYPoint2D(h,e)||(h=this.m_shape.getPrevVertex(o));let m=this.m_shape.getNextVertex(a);this.m_shape.isEqualXYPoint2D(m,e)||(m=this.m_shape.getPrevVertex(a));const l=this.getDirection_(h,o),g=this.getDirection_(m,a),u=l?this.m_shape.getPrevVertex(h):this.m_shape.getNextVertex(h),c=g?this.m_shape.getPrevVertex(m):this.m_shape.getNextVertex(m),_=this.detectAndResolveCrossOver_(l,g,o,h,u,a,m,c);1!==_?0===_?(s=this.getNextEdgeIndex_(s),n=this.getNextEdgeIndex_(s)):(s=this.getPrevEdgeIndex_(s),n=this.getNextEdgeIndex_(s)):t=!0}}return t}simplify_(){if(this.m_shape.getGeometryType(this.m_geometry)===n.enumPolygon&&1===this.m_shape.getFillRule(this.m_geometry)){new Ka(this.m_progressTracker).planarSimplifyNoCrackingAndCluster(this.m_bFixSelfTangency,this.m_shape,this.m_geometry,0)}let e=!1;this.m_userIndexSortedIndexToVertex=-1,this.m_userIndexSortedAngleIndexToVertex=-1,this.m_userIndexSortedAngleIndexToVertex=this.m_shape.createUserIndexUninitialized();const t=this.m_shape.getPointCount(this.m_geometry),s=new Ce(0);this.m_shape.dbgVerifyMonotone();for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==M;n=this.m_shape.getNextPath(n)){let e=this.m_shape.getFirstVertex(n);for(let t=0,r=this.m_shape.getPathSize(n);t<r;t++)this.m_shape.setUserIndex(e,this.m_userIndexSortedAngleIndexToVertex,-1),s.add(e),e=this.m_shape.getNextVertex(e)}this.m_shape.sortVerticesSimpleByY(s,0,t),this.progress_(!0),this.m_userIndexSortedIndexToVertex=this.m_shape.createUserIndexUninitialized(),this.m_sortedVertices.reserveNodes(t),this.m_sortedVerticesListIndex=this.m_sortedVertices.createList(0);for(let n=0;n<t;n++){const e=s.read(n),t=this.m_sortedVertices.addElement(this.m_sortedVerticesListIndex,e);this.m_shape.setUserIndex(e,this.m_userIndexSortedIndexToVertex,t)}this.m_nextVertexToProcess=-1,this.cleanupSpikes_()&&(e=!0);let r=0,o=!1;do{o=!1,this.m_nextVertexToProcess=-1,this.m_firstCoincidentVertex=this.m_sortedVertices.getFirst(this.m_sortedVerticesListIndex);const t=new Qe(0,0);this.m_firstCoincidentVertex!==Pe.st_nullNode()&&this.m_shape.queryXY(this.m_sortedVertices.getData(this.m_firstCoincidentVertex),t);let s=0,n=this.m_firstCoincidentVertex;for(;n!==Pe.st_nullNode()&&(n=this.m_sortedVertices.getNext(n),n!==Pe.st_nullNode());){this.progress_();const e=this.m_sortedVertices.getData(n),r=Qe.getNAN();if(this.m_shape.queryXY(e,r),t.equals(r))s++;else{if(s>0){this.m_nextVertexToProcess=n;const e=this.processBunch_();n=this.m_nextVertexToProcess,n!==Pe.st_nullNode()&&this.m_shape.queryXY(this.m_sortedVertices.getData(n),r),e&&(o=!0)}t.setCoordsPoint2D(r),this.m_firstCoincidentVertex=n,s=0}}if(this.m_nextVertexToProcess=-1,s>0){this.processBunch_()&&(o=!0)}r++>10&&i(""),o&&this.fixOrphanVertices_(),this.cleanupSpikes_()&&(o=!0),e||=o}while(o);return this.m_shape.dbgVerifyMonotone(),this.m_shape.dbgVerifyCurves(),this.m_shape.removeUserIndex(this.m_userIndexSortedIndexToVertex),this.m_shape.removeUserIndex(this.m_userIndexSortedAngleIndexToVertex),e=jn(this.m_shape,this.m_geometry,this.m_sortedVertices,this.m_bFixSelfTangency,this.m_progressTracker)||e,this.m_shape.dbgVerifyCurves(),e}getDirection_(e,t){return this.m_shape.getNextVertex(t)!==e}detectAndResolveCrossOver_(e,t,s,n,r,i,o,a){if(n===o)return this.removeAngleSortInfo_(s),this.removeAngleSortInfo_(i),-1;const h=this.m_shape.getUserIndex(s,this.m_userIndexSortedAngleIndexToVertex),m=this.m_shape.getUserIndex(r,this.m_userIndexSortedAngleIndexToVertex),l=this.m_shape.getUserIndex(i,this.m_userIndexSortedAngleIndexToVertex),g=this.m_shape.getUserIndex(a,this.m_userIndexSortedAngleIndexToVertex),u=Ke(8,Number.NaN),c=Ke(4,Number.NaN);u[0]=0,c[0]=h,u[1]=0,c[1]=m,u[2]=1,c[2]=l,u[3]=1,c[3]=g;for(let d=1;d<4;d++){const e=c[d],t=u[d];let s=d-1;for(;s>=0&&c[s]>e;)c[s+1]=c[s],u[s+1]=u[s],s--;c[s+1]=e,u[s+1]=t}let _=0;if(u[0]&&(_|=1),u[1]&&(_|=2),u[2]&&(_|=4),u[3]&&(_|=8),5!==_&&10!==_)return 0;if(e!==t&&(a=rt(i,i=a)),e)this.m_shape.setNextVertex(a,n),this.m_shape.setPrevVertex(n,a),this.m_shape.setNextVertex(r,o),this.m_shape.setPrevVertex(o,r),this.m_bHasSegmentParentage&&(this.m_shape.setSegmentParentageBreakVertex(n,!0),this.m_shape.setSegmentParentageBreakVertex(o,!0));else{if(this.m_shape.setPrevVertex(a,n),this.m_shape.setNextVertex(n,a),this.m_shape.setPrevVertex(r,o),this.m_shape.setNextVertex(o,r),this.m_bHasSegmentParentage){const e=this.m_shape.getSegmentParentage(n),t=this.m_shape.getSegmentParentage(o);this.m_shape.setSegmentParentageAndBreak(n,t,!0),this.m_shape.setSegmentParentageAndBreak(o,e,!0)}if(this.m_bHasSegments){const e=this.m_shape.getVertexIndex(n),t=this.m_shape.getVertexIndex(o),s=this.m_shape.getSegmentFromIndex(e);this.m_shape.setSegmentToIndex(e,null);const r=this.m_shape.getSegmentFromIndex(t);this.m_shape.setSegmentToIndex(t,null),this.m_shape.setSegmentToIndex(e,r),this.m_shape.setSegmentToIndex(t,s)}}return 1}resolveOverlap_(e,t,s,n,r,i){return this.resolveOverlapOddEven_(e,t,s,n,r,i)}resolveOverlapOddEven_(e,t,s,n,r,i){if(e!==t){e||(r=rt(s,s=r),i=rt(n,n=i));const t=this.m_shape.getNextVertex(r),o=this.m_shape.getNextVertex(s);if(this.m_shape.setNextVertex(s,t),this.m_shape.setPrevVertex(t,s),this.m_shape.setNextVertex(r,o),this.m_shape.setPrevVertex(o,r),this.m_bHasSegments){const e=this.m_shape.getVertexIndex(s),t=this.m_shape.getVertexIndex(r),n=this.m_shape.getSegmentFromIndex(e);this.m_shape.setSegmentToIndex(e,null);const i=this.m_shape.getSegmentFromIndex(t);this.m_shape.setSegmentToIndex(t,null),this.m_shape.setSegmentToIndex(e,i),this.m_shape.setSegmentToIndex(t,n)}if(this.m_bHasSegmentParentage){const e=this.m_shape.getSegmentParentage(s),t=this.m_shape.getSegmentParentage(r);this.m_shape.setSegmentParentageAndBreak(s,t,!0),this.m_shape.setSegmentParentageAndBreak(r,e,!0),this.m_shape.setSegmentParentageBreakVertex(n,!0),this.m_shape.setSegmentParentageBreakVertex(i,!0)}this.removeSpike_(r)}else{const o=e?s:n,a=t?r:i,h=e?n:s,m=t?i:r;let l=null;if(this.m_bHasSegments){const e=this.m_shape.getVertexIndex(m);l=this.m_shape.getSegmentFromIndex(e),this.m_shape.setSegmentToIndex(e,null);const t=this.m_shape.getVertexIndex(a);this.m_shape.setSegmentToIndex(t,null);const s=this.m_shape.getVertexIndex(o);this.m_shape.setSegmentToIndex(s,null)}let g=-1;this.m_bHasSegmentParentage&&(g=this.m_shape.getSegmentParentage(m));let u=!1;this.m_shape.setNextVertex(o,a),this.m_shape.setNextVertex(a,o),this.m_shape.setPrevVertex(h,m),this.m_shape.setPrevVertex(m,h);let c=m;for(;c!==a;){const e=this.m_shape.getPrevVertex(c),t=this.m_shape.getNextVertex(c);if(this.m_shape.setPrevVertex(c,t),this.m_shape.setNextVertex(c,e),u||=c===o,this.m_bHasSegments&&c!==o){const e=this.m_shape.getVertexIndex(t),s=l;l=this.m_shape.getSegmentFromIndex(e),null!==s&&s.reverse(),this.m_shape.setSegmentToIndex(e,s)}if(this.m_bHasSegmentParentage){const e=this.m_shape.getSegmentParentage(t);this.m_shape.setSegmentParentagePreserveBreak(t,g),g=e}c=t}let _=null;if(!u){const e=this.m_shape.getPrevVertex(a),t=this.m_shape.getNextVertex(a);if(this.m_shape.setPrevVertex(a,t),this.m_shape.setNextVertex(a,e),this.m_bHasSegments){const e=this.m_shape.getVertexIndex(a);_=this.m_shape.getSegmentFromIndex(e),this.m_shape.setSegmentToIndex(e,null)}}let d=-1,p=-1;if(this.m_bHasSegmentParentage&&(d=u?this.m_shape.getSegmentParentage(o):this.m_shape.getSegmentParentage(a),p=this.m_shape.getSegmentParentage(h)),this.transferVertexData_(a,o),this.beforeRemoveVertex_(a,!0),this.m_shape.removeVertexInternal(a,!0),this.removeAngleSortInfo_(o),this.transferVertexData_(m,h),this.beforeRemoveVertex_(m,!0),this.m_shape.removeVertexInternal(m,!0),this.removeAngleSortInfo_(h),this.m_bHasSegmentParentage&&(this.m_shape.setSegmentParentageAndBreak(o,d,!0),this.m_shape.setSegmentParentageAndBreak(h,p,!0)),_){const e=this.m_shape.getVertexIndex(o);this.m_shape.setSegmentToIndex(e,_)}}return!0}cleanupSpikes_(){let e=!1;for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==M;){const s=this.m_shape.getNextPath(t);let n=this.m_shape.getFirstVertex(t);for(let r=0,i=this.m_shape.getPathSize(t);r<i&&i>1;){this.progress_();const{v:s,bModified:o}=this.checkAndCleanupSpike_(t,n);if(s===M)break;o?(e=!0,n=s,r=0,i=this.m_shape.getPathSize(t)):(n=s,r++)}t=s}return e}checkAndCleanupSpike_(e,t){const s={v:M,bModified:!1};let n=this.m_shape.getPrevVertex(t),r=this.m_shape.getNextVertex(t),i=M,o=M;for(;this.m_shape.isEqualXY(n,r)&&(i=n,o=r,r!==t);)n=this.m_shape.getPrevVertex(n),r=this.m_shape.getNextVertex(r);if(i===M)return s.v=r,s;s.bModified=!0;for(let a=this.m_shape.getNextVertex(i);this.beforeRemoveVertex_(a,!1),a!==o;a=this.m_shape.getNextVertex(a));if(i===t)return this.m_polylineDegeneracies!==M?this.m_shape.movePath(this.m_polylineDegeneracies,M,e):this.m_shape.removePath(e),s.v=M,s;{const e=this.m_shape.peelALoopIntoAPath(i,o);this.m_polylineDegeneracies!==M?this.m_shape.movePath(this.m_polylineDegeneracies,M,e):this.m_shape.removePath(e)}return s.v=i,s}removeSpike_(e){let t=this.m_shape.getPrevVertex(e),s=this.m_shape.getNextVertex(e),n=M,r=M;for(;this.m_shape.isEqualXY(t,s)&&(n=t,r=s,s!==e);)t=this.m_shape.getPrevVertex(t),s=this.m_shape.getNextVertex(s);if(n===M)return!1;if(this.m_shape.peelALoop(n,r),this.m_bHasSegmentParentage&&(this.m_shape.setSegmentParentageBreakVertex(n,!0),this.m_shape.setSegmentParentageBreakVertex(r,!0)),this.removeAngleSortInfo_(n),this.m_polylineDegeneracies===M)for(let i=this.m_shape.getNextVertex(r);;){const e=this.m_shape.getNextVertex(i);if(this.removeAngleSortInfo_(i),this.beforeRemoveVertex_(i,!0),this.m_shape.setSegmentToIndex(this.m_shape.getVertexIndex(i),null),this.m_shape.removeVertexInternal(i,!1),i===r)break;i=e}else{for(let t=r;;){const e=this.m_shape.getNextVertex(t);if(this.removeAngleSortInfo_(t),this.beforeRemoveVertex_(t,!1),t=e,t===r)break}const e=[!1];this.m_shape.insertClosedPath(this.m_polylineDegeneracies,M,r,r,e)}return!0}fixOrphanVertices_(){let e=0;for(let n=this.m_sortedVertices.getFirst(this.m_sortedVertices.getFirstList());-1!==n;n=this.m_sortedVertices.getNext(n)){const e=this.m_sortedVertices.getData(n);this.m_shape.setPathToVertex(e,M)}let t=0;for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==M;){const s=this.m_shape.getFirstVertex(n);if(s===M||this.m_shape.getPathFromVertex(s)!==M){const e=n;n=this.m_shape.getNextPath(n),this.m_shape.removePathOnly(e);continue}this.m_shape.setPathToVertex(s,n);let r=1;for(let e=this.m_shape.getNextVertex(s);e!==s;e=this.m_shape.getNextVertex(e))this.m_shape.setPathToVertex(e,n),r++;this.m_shape.setRingAreaValid(n,!1),this.m_shape.setPathSize(n,r),this.m_shape.setLastVertex(n,this.m_shape.getPrevVertex(s)),t+=r,e++,n=this.m_shape.getNextPath(n)}for(let n=this.m_sortedVertices.getFirst(this.m_sortedVertices.getFirstList());-1!==n;n=this.m_sortedVertices.getNext(n)){const s=this.m_sortedVertices.getData(n);if(this.m_shape.getPathFromVertex(s)!==M)continue;const r=[!1],i=this.m_shape.insertClosedPath(this.m_geometry,M,s,s,r);t+=this.m_shape.getPathSize(i),e++}this.m_shape.setGeometryPathCount(this.m_geometry,e),this.m_shape.setGeometryVertexCount(this.m_geometry,t);let s=0;for(let n=this.m_shape.getFirstGeometry();n!==M;n=this.m_shape.getNextGeometry(n))s+=this.m_shape.getPointCount(n);this.m_shape.setTotalPointCount(s)}getNextEdgeIndex_(e){if(-1===e)return-1;for(let t=0,s=this.m_bunchEdgeIndices.length-1;t<s;t++)if(e=(e+1)%this.m_bunchEdgeIndices.length,-1!==this.m_bunchEdgeIndices[e])return e;return-1}getPrevEdgeIndex_(e){if(-1===e)return-1;for(let t=0,s=this.m_bunchEdgeIndices.length-1;t<s;t++)if(e=(this.m_bunchEdgeIndices.length+e-1)%this.m_bunchEdgeIndices.length,-1!==this.m_bunchEdgeIndices[e])return e;return-1}transferVertexData_(e,t){const s=this.m_shape.getUserIndex(t,this.m_userIndexSortedIndexToVertex),n=this.m_shape.getUserIndex(t,this.m_userIndexSortedAngleIndexToVertex);this.m_shape.transferAllDataToTheVertex(e,t),this.m_shape.setUserIndex(t,this.m_userIndexSortedIndexToVertex,s),this.m_shape.setUserIndex(t,this.m_userIndexSortedAngleIndexToVertex,n)}removeAngleSortInfo_(e){const t=this.m_shape.getUserIndex(e,this.m_userIndexSortedAngleIndexToVertex);-1!==t&&(this.m_bunchEdgeIndices[t]=-1,this.m_shape.setUserIndex(e,this.m_userIndexSortedAngleIndexToVertex,-1))}progress_(e=!1){}}function sr(s,r,i,o,a,h=!0){switch(ir(o)){case 0:break;case 1:t("relation string length has to be 9 characters");break;default:t("relation string")}if(h){const e=xr(o,s.getDimension(),r.getDimension());if(0!==e)return kr(s,r,i,e,a)}let m=0;if("number"==typeof i)m=i;else{const t=e.constructEmpty();s.queryEnvelope(t);const n=e.constructEmpty();r.queryEnvelope(n);const o=e.constructEmpty();o.setCoords({env2D:t}),o.mergeEnvelope2D(n),m=le(i,o,!1)}const l=Tr(s,m),g=Tr(r,m);if(l.isEmpty()||g.isEmpty())return fr(l,g,o);const u=l.getGeometryType(),c=g.getGeometryType();let _=!1;switch(u){case n.enumPolygon:switch(c){case n.enumPolygon:_=or(l,g,m,o,a);break;case n.enumPolyline:_=ar(l,g,m,o,a);break;case n.enumPoint:_=ur(l,g,m,o);break;case n.enumMultiPoint:_=hr(l,g,m,o,a)}break;case n.enumPolyline:switch(c){case n.enumPolygon:_=ar(g,l,m,Gr(o),a);break;case n.enumPolyline:_=mr(l,g,m,o,a);break;case n.enumPoint:_=cr(l,g,m,o,a);break;case n.enumMultiPoint:_=lr(l,g,m,o,a)}break;case n.enumPoint:switch(c){case n.enumPolygon:_=ur(g,l,m,Gr(o));break;case n.enumPolyline:_=cr(g,l,m,Gr(o),a);break;case n.enumPoint:_=dr(l,g,m,o);break;case n.enumMultiPoint:_=_r(g,l,m,Gr(o))}break;case n.enumMultiPoint:switch(c){case n.enumPolygon:_=hr(g,l,m,Gr(o),a);break;case n.enumPolyline:_=lr(g,l,m,Gr(o),a);break;case n.enumMultiPoint:_=gr(l,g,m,o,a);break;case n.enumPoint:_=_r(l,g,m,o)}break;default:_=!1}return _}function nr(t,s,n,r){const i=new vr;i.resetMatrix_(),i.setPredicates_("T*****F**"),i.setAreaAreaPredicates_();const o=e.constructEmpty(),a=e.constructEmpty();t.queryEnvelope(o),s.queryEnvelope(a);let h=!1;if(qr(o,a,n)&&(i.areaAreaDisjointPredicates_(t,s),h=!0),h||Br(t,s),h){return pr(i.m_matrix,i.m_scl)}let m=new G,l=m.addGeometry(t),g=m.addGeometry(s),u=null,c=0;if(t.hasNonLinearSegments()||s.hasNonLinearSegments()){u=new fa;const e=_a(n,m.getEnvelope2D(r));c=pa(e,0),aa(m,e,n,12e3,u,null,r)}ya(m,new xe(n,0).add(c),r,!1,!1);const _=m.getGeometry(g).getBoundary();if(m.filterClosePoints(0,!0,!0,!1,M),er(m,l,-1,!1,M,r),0===m.getPointCount(l))return!1;er(m,g,-1,!1,M,r),i.setEditShape_(m,r);const d=0===m.getPointCount(g);if(!d){i.computeMatrixTopoGraphHalfEdges_(l,g),i.m_topoGraph.removeShape();const e=pr(i.m_matrix,i.m_scl);if(!e)return e}const p=m.getGeometry(l);m=new G,l=m.addGeometry(p),g=m.addGeometry(_),i.setEditShape_(m,r),i.m_predicateCount=0,i.resetMatrix_(),i.setPredicates_(d?"T*****F**":"******F**"),i.setAreaLinePredicates_(),i.computeMatrixTopoGraphHalfEdges_(l,g),i.m_topoGraph.removeShape();return pr(i.m_matrix,i.m_scl)}function rr(t,s,n,r){const i=new vr;i.resetMatrix_(),i.setPredicates_("T*****F**"),i.setAreaLinePredicates_();const o=e.constructEmpty(),a=e.constructEmpty();t.queryEnvelope(o),s.queryEnvelope(a);let h=!1;if(qr(o,a,n)&&(i.areaLineDisjointPredicates_(t,s),h=!0),h||Br(t,s),h){return pr(i.m_matrix,i.m_scl)}const m=new G,l=m.addGeometry(t),g=m.addGeometry(s);if(i.setEditShapeCrackAndCluster_(m,new xe(n,0),r),0===m.getPointCount(l))return!1;i.computeMatrixTopoGraphHalfEdges_(l,g),i.m_topoGraph.removeShape();return pr(i.m_matrix,i.m_scl)}function ir(e){if(9!==e.length)return 1;for(let t=0;t<9;t++){const s=e[t];if("*"!==s&&"T"!==s&&"F"!==s&&"0"!==s&&"1"!==s&&"2"!==s)return 2}return 0}function or(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setAreaAreaPredicates_();const a=e.constructEmpty(),h=e.constructEmpty();t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.areaAreaDisjointPredicates_(t,s),m=!0),m||Br(t,s),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.computeMatrixTopoGraphHalfEdges_(r,a),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function ar(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setAreaLinePredicates_();const a=e.constructEmpty(),h=e.constructEmpty();t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.areaLineDisjointPredicates_(t,s),m=!0),m||Br(t,s),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.m_clusterIndexB=o.m_topoGraph.createUserIndexForClusters(),wr(a,o.m_topoGraph,o.m_clusterIndexB),o.computeMatrixTopoGraphHalfEdges_(r,a),o.m_topoGraph.deleteUserIndexForClusters(o.m_clusterIndexB),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function hr(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setAreaPointPredicates_();const a=e.constructEmpty(),h=e.constructEmpty();t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.areaPointDisjointPredicates_(t),m=!0),m||Br(t,s),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.computeMatrixTopoGraphClusters_(r,a),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function mr(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setLineLinePredicates_();const a=e.constructEmpty(),h=e.constructEmpty();t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.lineLineDisjointPredicates_(t,s),m=!0),m||Br(t,s),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.m_clusterIndexA=o.m_topoGraph.createUserIndexForClusters(),o.m_clusterIndexB=o.m_topoGraph.createUserIndexForClusters(),wr(r,o.m_topoGraph,o.m_clusterIndexA),wr(a,o.m_topoGraph,o.m_clusterIndexB),o.computeMatrixTopoGraphHalfEdges_(r,a),o.m_topoGraph.deleteUserIndexForClusters(o.m_clusterIndexA),o.m_topoGraph.deleteUserIndexForClusters(o.m_clusterIndexB),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function lr(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setLinePointPredicates_();const a=e.constructEmpty(),h=e.constructEmpty();t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.linePointDisjointPredicates_(t),m=!0),m||Br(t,s),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.m_clusterIndexA=o.m_topoGraph.createUserIndexForClusters(),wr(r,o.m_topoGraph,o.m_clusterIndexA),o.computeMatrixTopoGraphClusters_(r,a),o.m_topoGraph.deleteUserIndexForClusters(o.m_clusterIndexA),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function gr(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setPointPointPredicates_();const a=new e,h=new e;t.queryEnvelope(a),s.queryEnvelope(h);let m=!1;if(qr(a,h,n)&&(o.pointPointDisjointPredicates_(),m=!0),!m){const e=new G,r=e.addGeometry(t),a=e.addGeometry(s);o.setEditShapeCrackAndCluster_(e,new xe(n,0),i),o.computeMatrixTopoGraphClusters_(r,a),o.m_topoGraph.removeShape()}return pr(o.m_matrix,o.m_scl)}function ur(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setAreaPointPredicates_();const a=e.constructEmpty();t.queryEnvelope(a);const h=s.getXY();let m=!1;if(Or(h,a,n)&&(o.areaPointDisjointPredicates_(t),m=!0),!m){const s=Lo(t,h,n);if(1===s)o.m_matrix[0]=0,o.m_matrix[2]=2,o.m_matrix[3]=-1,o.m_matrix[5]=1,o.m_matrix[6]=-1;else if(2===s){o.m_matrix[6]=-1;if(0!==t.calculateArea2D())o.m_matrix[0]=-1,o.m_matrix[3]=0,o.m_matrix[2]=2,o.m_matrix[5]=1;else{o.m_matrix[0]=0,o.m_matrix[3]=-1,o.m_matrix[5]=-1;const s=e.constructEmpty();t.queryEnvelope(s),o.m_matrix[2]=s.height()||s.width()?1:-1}}else o.areaPointDisjointPredicates_(t)}return pr(o.m_matrix,r)}function cr(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setLinePointPredicates_();const a=e.constructEmpty();t.queryEnvelope(a);let h=!1;if(Or(s.getXY(),a,n)&&(o.linePointDisjointPredicates_(t),h=!0),!h){let e=null,r=!1,a=!1;if(o.m_performPredicates[0]||o.m_performPredicates[6]){!kr(t,s,n,4,i)?(o.m_performPredicates[0]&&(e=D(t),a=!kr(e,s,n,4,i),r=!0,o.m_matrix[0]=a?-1:0),o.m_matrix[6]=-1):(o.m_matrix[0]=-1,o.m_matrix[6]=0)}if(o.m_performPredicates[3]&&(null!==e&&e.isEmpty()?o.m_matrix[3]=-1:(r||(null==e&&(e=D(t)),a=!kr(e,s,n,4,i),r=!0),o.m_matrix[3]=a?0:-1)),o.m_performPredicates[5])if(null!==e&&e.isEmpty())o.m_matrix[5]=-1;else if(r&&!a)o.m_matrix[5]=0;else{null===e&&(e=D(t));const r=kr(e,s,n,3,i);o.m_matrix[5]=r?-1:0}if(o.m_performPredicates[2]){if(0!==t.calculateLength2D())o.m_matrix[2]=1;else{const e=new N({vd:t.getDescription()});e.addPoints(t,0,t.getPointCount());const r=kr(e,s,n,3,i);o.m_matrix[2]=r?-1:0}}}return pr(o.m_matrix,o.m_scl)}function _r(t,s,n,r,i){const o=new vr;o.resetMatrix_(),o.setPredicates_(r),o.setPointPointPredicates_();const a=e.constructEmpty();t.queryEnvelope(a);const h=s.getXY(),m=new Qe;let l=!1;if(Or(h,a,n)&&(o.pointPointDisjointPredicates_(),l=!0),!l){let e=!1,s=!0;const r=n*n;for(let n=0;n<t.getPointCount()&&(t.queryXY(n,m),Qe.sqrDistance(m,h)<=r?e=!0:s=!1,!e||s);n++);e?(o.m_matrix[0]=0,o.m_matrix[2]=s?-1:0,o.m_matrix[6]=-1):(o.m_matrix[0]=-1,o.m_matrix[2]=0,o.m_matrix[6]=0)}return pr(o.m_matrix,r)}function dr(e,t,s,n,r){const i=e.getXY(),o=t.getXY(),a=Ke(9,-1);Qe.sqrDistance(i,o)<=s*s?a[0]=0:(a[2]=0,a[6]=0),a[8]=2;return pr(a,n)}function pr(e,t){for(let s=0;s<9;s++)switch(t[s]){case"T":if(-1===e[s])return!1;break;case"F":if(-1!==e[s])return!1;break;case"0":if(0!==e[s])return!1;break;case"1":if(1!==e[s])return!1;break;case"2":if(2!==e[s])return!1}return!0}function fr(t,s,r){const i=Ke(9,-1);if(t.isEmpty()&&s.isEmpty())return pr(i,r);let a,h=!1;t.isEmpty()?(a=s,h=!0):a=t,i[0]=-1,i[1]=-1,i[3]=-1,i[4]=-1,i[6]=-1,i[7]=-1,i[8]=2;const m=a.getGeometryType();if(o(m))if(m===n.enumPolygon){if(0!==a.calculateArea2D())i[2]=2,i[5]=1;else{i[5]=-1;const t=e.constructEmpty();a.queryEnvelope(t),i[2]=t.height()||t.width()?1:0}}else{const e=0!==a.calculateLength2D();i[2]=e?1:0,i[5]=T(a)?0:-1}else i[2]=0,i[5]=-1;return h&&Nr(i),pr(i,r)}function xr(e,t,s){return yr(e)?3:Pr(e)?4:Er(e,t,s)?8:Sr(e,t,s)?16:Ir(e)?64:Cr(e)?1:br(e,t,s)?32:0}function yr(e){return"T*F**FFF*"===e}function Pr(e){return"FF*FF****"===e}function Er(e,t,s){return(0!==t||0!==s)&&(2===t&&2===s?"F***T****"===e:(2===t||1===t)&&0===s&&"F**T*****"===e)}function Sr(e,t,s){return t>s?"T*****T**"===e:1===t&&1===s&&"0********"===e}function Cr(e){return"T*****FF*"===e}function Ir(e){return"T**FF*FF*"===e}function br(e,t,s){return t===s&&(1!==t?"T*T***T**"===e:"1*T***T**"===e)}function wr(e,t,s){const n=t.getGeometryID(e);for(let r=t.getFirstCluster();r!==M;r=t.getNextCluster(r)){if(0===(t.getClusterParentage(r)&n))continue;const e=t.getClusterHalfEdge(r);if(e===M){t.setClusterUserIndex(r,s,0);continue}let i=e,o=0;do{const e=i;0!==(t.getHalfEdgeParentage(e)&n)&&o++,i=t.getHalfEdgeNext(t.getHalfEdgeTwin(e))}while(i!==e);t.setClusterUserIndex(r,s,o)}}class vr{nullFunc(){return i("should not be called"),!1}constructor(){this.m_clusterIndexA=-1,this.m_clusterIndexB=-1,this.m_visitedIndex=-1,this.m_topoGraph=new tn,this.m_matrix=Ke(9,0),this.m_maxDim=Ke(9,0),this.m_performPredicates=Ke(9,!1),this.m_scl="",this.m_predicateCount=0,this.m_predicatesHalfEdge=this.nullFunc,this.m_predicatesCluster=this.nullFunc}resetMatrix_(){this.m_matrix.fill(-2),this.m_maxDim.fill(-2)}setPredicates_(e){this.m_scl=e;for(let t=0;t<9;t++)"*"!==this.m_scl[t]?(this.m_performPredicates[t]=!0,this.m_predicateCount++):this.m_performPredicates[t]=!1}setRemainingPredicatesToFalse_(){for(let e=0;e<9;e++)this.m_performPredicates[e]&&-2===this.m_matrix[e]&&(this.m_matrix[e]=-1,this.m_performPredicates[e]=!1)}isPredicateKnown_(e){return-2!==this.m_matrix[e]&&(-1===this.m_matrix[e]?(this.m_performPredicates[e]=!1,this.m_predicateCount--,!0):"T"!==this.m_scl[e]&&"F"!==this.m_scl[e]?!(this.m_matrix[e]<this.m_maxDim[e])&&(this.m_performPredicates[e]=!1,this.m_predicateCount--,!0):(this.m_performPredicates[e]=!1,this.m_predicateCount--,!0))}setAreaAreaPredicates_(){this.m_predicatesHalfEdge=this.areaAreaPredicates_,this.m_maxDim[0]=2,this.m_maxDim[1]=1,this.m_maxDim[2]=2,this.m_maxDim[3]=1,this.m_maxDim[4]=1,this.m_maxDim[5]=1,this.m_maxDim[6]=2,this.m_maxDim[7]=1,this.m_maxDim[8]=2,this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}setAreaLinePredicates_(){this.m_predicatesHalfEdge=this.areaLinePredicates_,this.m_predicatesCluster=this.areaPointPredicates_,this.m_maxDim[0]=1,this.m_maxDim[1]=0,this.m_maxDim[2]=2,this.m_maxDim[3]=1,this.m_maxDim[4]=0,this.m_maxDim[5]=1,this.m_maxDim[6]=1,this.m_maxDim[7]=0,this.m_maxDim[8]=2,this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}setLineLinePredicates_(){this.m_predicatesHalfEdge=this.lineLinePredicates_,this.m_predicatesCluster=this.linePointPredicates_,this.m_maxDim[0]=1,this.m_maxDim[1]=0,this.m_maxDim[2]=1,this.m_maxDim[3]=0,this.m_maxDim[4]=0,this.m_maxDim[5]=0,this.m_maxDim[6]=1,this.m_maxDim[7]=0,this.m_maxDim[8]=2,this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}setAreaPointPredicates_(){this.m_predicatesCluster=this.areaPointPredicates_,this.m_maxDim[0]=0,this.m_maxDim[1]=-1,this.m_maxDim[2]=2,this.m_maxDim[3]=0,this.m_maxDim[4]=-1,this.m_maxDim[5]=1,this.m_maxDim[6]=0,this.m_maxDim[7]=-1,this.m_maxDim[8]=2,this.m_performPredicates[1]&&(this.m_matrix[1]=-1,this.m_performPredicates[1]=!1,this.m_predicateCount--),this.m_performPredicates[4]&&(this.m_matrix[4]=-1,this.m_performPredicates[4]=!1,this.m_predicateCount--),this.m_performPredicates[7]&&(this.m_matrix[7]=-1,this.m_performPredicates[7]=!1,this.m_predicateCount--),this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}setLinePointPredicates_(){this.m_predicatesCluster=this.linePointPredicates_,this.m_maxDim[0]=0,this.m_maxDim[1]=-1,this.m_maxDim[2]=1,this.m_maxDim[3]=0,this.m_maxDim[4]=-1,this.m_maxDim[5]=0,this.m_maxDim[6]=0,this.m_maxDim[7]=-1,this.m_maxDim[8]=2,this.m_performPredicates[1]&&(this.m_matrix[1]=-1,this.m_performPredicates[1]=!1,this.m_predicateCount--),this.m_performPredicates[4]&&(this.m_matrix[4]=-1,this.m_performPredicates[4]=!1,this.m_predicateCount--),this.m_performPredicates[7]&&(this.m_matrix[7]=-1,this.m_performPredicates[7]=!1,this.m_predicateCount--),this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}setPointPointPredicates_(){this.m_predicatesCluster=this.pointPointPredicates_,this.m_maxDim[0]=0,this.m_maxDim[1]=-1,this.m_maxDim[2]=0,this.m_maxDim[3]=-1,this.m_maxDim[4]=-1,this.m_maxDim[5]=-1,this.m_maxDim[6]=0,this.m_maxDim[7]=-1,this.m_maxDim[8]=2,this.m_performPredicates[1]&&(this.m_matrix[1]=-1,this.m_performPredicates[1]=!1,this.m_predicateCount--),this.m_performPredicates[3]&&(this.m_matrix[3]=-1,this.m_performPredicates[3]=!1,this.m_predicateCount--),this.m_performPredicates[4]&&(this.m_matrix[4]=-1,this.m_performPredicates[4]=!1,this.m_predicateCount--),this.m_performPredicates[5]&&(this.m_matrix[5]=-1,this.m_performPredicates[5]=!1,this.m_predicateCount--),this.m_performPredicates[7]&&(this.m_matrix[7]=-1,this.m_performPredicates[7]=!1,this.m_predicateCount--),this.m_performPredicates[8]&&(this.m_matrix[8]=2,this.m_performPredicates[8]=!1,this.m_predicateCount--)}areaAreaDisjointPredicates_(e,t){this.m_matrix[0]=-1,this.m_matrix[1]=-1,this.m_matrix[3]=-1,this.m_matrix[4]=-1,this.areaGeomContainsOrDisjointPredicates_(e,this.m_performPredicates[2]?2:-1,this.m_scl[2],this.m_performPredicates[5]?5:-1,this.m_scl[5]),this.areaGeomContainsOrDisjointPredicates_(t,this.m_performPredicates[6]?6:-1,this.m_scl[6],this.m_performPredicates[7]?7:-1,this.m_scl[7])}areaGeomContainsOrDisjointPredicates_(t,s,n,r,i){const o=-1!==s,a=-1!==r;if(o||a){if(!("T"!==n&&"F"!==n&&o||"T"!==i&&"F"!==i&&a)||0!==t.calculateArea2D())o&&(this.m_matrix[s]=2),a&&(this.m_matrix[r]=1);else if(a&&(this.m_matrix[r]=-1),o){const n=e.constructEmpty();t.queryEnvelope(n),this.m_matrix[s]=n.height()||n.width()?1:0}}}areaAreaContainsPredicates_(e){this.m_matrix[2]=2,this.m_matrix[3]=-1,this.m_matrix[4]=-1,this.m_matrix[5]=1,this.m_matrix[6]=-1,this.m_matrix[7]=-1,this.areaGeomContainsOrDisjointPredicates_(e,this.m_performPredicates[0]?0:-1,this.m_scl[0],this.m_performPredicates[1]?1:-1,this.m_scl[1])}areaAreaWithinPredicates_(e){this.areaAreaContainsPredicates_(e),Nr(this.m_matrix)}areaLineDisjointPredicates_(e,t){if(this.m_matrix[0]=-1,this.m_matrix[1]=-1,this.m_matrix[3]=-1,this.m_matrix[4]=-1,this.m_performPredicates[6]){const e=this.m_scl[6],s="T"===e||"F"===e||0!==t.calculateLength2D();this.m_matrix[6]=s?1:0}if(this.m_performPredicates[7]){const e=T(t);this.m_matrix[7]=e?0:-1}this.areaGeomContainsOrDisjointPredicates_(e,this.m_performPredicates[2]?2:-1,this.m_scl[2],this.m_performPredicates[5]?5:-1,this.m_scl[5])}areaLineContainsPredicates_(e,t){if(this.m_performPredicates[0]){const e=this.m_scl[0],s="T"===e||"F"===e||0!==t.calculateLength2D();this.m_matrix[0]=s?1:0}if(this.m_performPredicates[1]){const e=T(t);this.m_matrix[1]=e?0:-1}this.m_matrix[2]=2,this.m_matrix[3]=-1,this.m_matrix[4]=-1,this.m_matrix[5]=1,this.m_matrix[6]=-1,this.m_matrix[7]=-1}areaPointDisjointPredicates_(e){this.m_matrix[0]=-1,this.m_matrix[3]=-1,this.m_matrix[6]=0,this.areaGeomContainsOrDisjointPredicates_(e,this.m_performPredicates[2]?2:-1,this.m_scl[2],this.m_performPredicates[5]?5:-1,this.m_scl[5])}areaPointContainsPredicates_(e){this.m_matrix[0]=0,this.m_matrix[2]=2,this.m_matrix[3]=-1,this.m_matrix[5]=1,this.m_matrix[6]=-1}lineLineDisjointPredicates_(e,t){if(this.m_matrix[0]=-1,this.m_matrix[1]=-1,this.m_matrix[3]=-1,this.m_matrix[4]=-1,this.m_performPredicates[2]){const t=this.m_scl[2],s="T"===t||"F"===t||0!==e.calculateLength2D();this.m_matrix[2]=s?1:0}if(this.m_performPredicates[5]){const t=T(e);this.m_matrix[5]=t?0:-1}if(this.m_performPredicates[6]){const e=this.m_scl[6],s="T"===e||"F"===e||0!==t.calculateLength2D();this.m_matrix[6]=s?1:0}if(this.m_performPredicates[7]){const e=T(t);this.m_matrix[7]=e?0:-1}}linePointDisjointPredicates_(e){if(this.m_matrix[0]=-1,this.m_matrix[3]=-1,this.m_performPredicates[2]){const t=this.m_scl[2],s="T"===t||"F"===t||0!==e.calculateLength2D();this.m_matrix[2]=s?1:0}if(this.m_performPredicates[5]){const t=T(e);this.m_matrix[5]=t?0:-1}this.m_matrix[6]=0}pointPointDisjointPredicates_(){this.m_matrix[0]=-1,this.m_matrix[2]=0,this.m_matrix[6]=0}areaAreaPredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorAreaInteriorArea_(e,t,s);const r=this.isPredicateKnown_(0);n&&=r}if(this.m_performPredicates[1]){this.interiorAreaBoundaryArea_(e,t,1);const s=this.isPredicateKnown_(1);n&&=s}if(this.m_performPredicates[2]){this.interiorAreaExteriorArea_(e,t,s,2);const r=this.isPredicateKnown_(2);n&&=r}if(this.m_performPredicates[3]){this.interiorAreaBoundaryArea_(e,s,3);const t=this.isPredicateKnown_(3);n&&=t}if(this.m_performPredicates[4]){this.boundaryAreaBoundaryArea_(e,t,s);const r=this.isPredicateKnown_(4);n&&=r}if(this.m_performPredicates[5]){this.boundaryAreaExteriorArea_(e,t,s,5);const r=this.isPredicateKnown_(5);n&&=r}if(this.m_performPredicates[6]){this.interiorAreaExteriorArea_(e,s,t,6);const r=this.isPredicateKnown_(6);n&&=r}if(this.m_performPredicates[7]){this.boundaryAreaExteriorArea_(e,s,t,7);const r=this.isPredicateKnown_(7);n&&=r}return n}areaLinePredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorAreaInteriorLine_(e,t,s);const r=this.isPredicateKnown_(0);n&&=r}if(this.m_performPredicates[1]){this.interiorAreaBoundaryLine_(e,t,s,this.m_clusterIndexB);const r=this.isPredicateKnown_(1);n&&=r}if(this.m_performPredicates[2]){this.interiorAreaExteriorLine_(e,t,s);const r=this.isPredicateKnown_(2);n&&=r}if(this.m_performPredicates[3]){this.boundaryAreaInteriorLine_(e,t,s,this.m_clusterIndexB);const r=this.isPredicateKnown_(3);n&&=r}if(this.m_performPredicates[4]){this.boundaryAreaBoundaryLine_(e,t,s,this.m_clusterIndexB);const r=this.isPredicateKnown_(4);n&&=r}if(this.m_performPredicates[5]){this.boundaryAreaExteriorLine_(e,t,s);const r=this.isPredicateKnown_(5);n&&=r}if(this.m_performPredicates[6]){this.exteriorAreaInteriorLine_(e,t);const s=this.isPredicateKnown_(6);n&&=s}if(this.m_performPredicates[7]){this.exteriorAreaBoundaryLine_(e,t,s,this.m_clusterIndexB);const r=this.isPredicateKnown_(7);n&&=r}return n}lineLinePredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorLineInteriorLine_(e,t,s,this.m_clusterIndexA,this.m_clusterIndexB);const r=this.isPredicateKnown_(0);n&&=r}if(this.m_performPredicates[1]){this.interiorLineBoundaryLine_(e,t,s,this.m_clusterIndexA,this.m_clusterIndexB,1);const r=this.isPredicateKnown_(1);n&&=r}if(this.m_performPredicates[2]){this.interiorLineExteriorLine_(e,t,s,2);const r=this.isPredicateKnown_(2);n&&=r}if(this.m_performPredicates[3]){this.interiorLineBoundaryLine_(e,s,t,this.m_clusterIndexB,this.m_clusterIndexA,3);const r=this.isPredicateKnown_(3);n&&=r}if(this.m_performPredicates[4]){this.boundaryLineBoundaryLine_(e,t,s,this.m_clusterIndexA,this.m_clusterIndexB);const r=this.isPredicateKnown_(4);n&&=r}if(this.m_performPredicates[5]){this.boundaryLineExteriorLine_(e,t,s,this.m_clusterIndexA,5);const r=this.isPredicateKnown_(5);n&&=r}if(this.m_performPredicates[6]){this.interiorLineExteriorLine_(e,s,t,6);const r=this.isPredicateKnown_(6);n&&=r}if(this.m_performPredicates[7]){this.boundaryLineExteriorLine_(e,s,t,this.m_clusterIndexB,7);const r=this.isPredicateKnown_(7);n&&=r}return n}areaPointPredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorAreaInteriorPoint_(e,t);const s=this.isPredicateKnown_(0);n&&=s}if(this.m_performPredicates[2]){this.interiorAreaExteriorPoint_(e,t);const s=this.isPredicateKnown_(2);n&&=s}if(this.m_performPredicates[3]){this.boundaryAreaInteriorPoint_(e,t,s);const r=this.isPredicateKnown_(3);n&&=r}if(this.m_performPredicates[5]){this.boundaryAreaExteriorPoint_(e,t);const s=this.isPredicateKnown_(5);n&&=s}if(this.m_performPredicates[6]){this.exteriorAreaInteriorPoint_(e,t);const s=this.isPredicateKnown_(6);n&&=s}return n}linePointPredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorLineInteriorPoint_(e,t,s,this.m_clusterIndexA);const r=this.isPredicateKnown_(0);n&&=r}if(this.m_performPredicates[2]){this.interiorLineExteriorPoint_(e,t,s,this.m_clusterIndexA);const r=this.isPredicateKnown_(2);n&&=r}if(this.m_performPredicates[3]){this.boundaryLineInteriorPoint_(e,t,s,this.m_clusterIndexA);const r=this.isPredicateKnown_(3);n&&=r}if(this.m_performPredicates[5]){this.boundaryLineExteriorPoint_(e,t,s,this.m_clusterIndexA);const r=this.isPredicateKnown_(5);n&&=r}if(this.m_performPredicates[6]){this.exteriorLineInteriorPoint_(e,t,s);const r=this.isPredicateKnown_(6);n&&=r}return n}pointPointPredicates_(e,t,s){let n=!0;if(this.m_performPredicates[0]){this.interiorPointInteriorPoint_(e,t,s);const r=this.isPredicateKnown_(0);n&&=r}if(this.m_performPredicates[2]){this.interiorPointExteriorPoint_(e,t,s,2);const r=this.isPredicateKnown_(2);n&&=r}if(this.m_performPredicates[6]){this.interiorPointExteriorPoint_(e,s,t,6);const r=this.isPredicateKnown_(6);n&&=r}return n}interiorAreaInteriorArea_(e,t,s){if(2===this.m_matrix[0])return;const n=this.m_topoGraph.getHalfEdgeFaceParentage(e);0!==(n&t)&&0!==(n&s)&&(this.m_matrix[0]=2)}interiorAreaBoundaryArea_(e,t,s){if(1===this.m_matrix[s])return;const n=this.m_topoGraph.getHalfEdgeFaceParentage(e),r=this.m_topoGraph.getHalfEdgeFaceParentage(this.m_topoGraph.getHalfEdgeTwin(e));0!==(n&t)&&0!==(r&t)&&(this.m_matrix[s]=1)}interiorAreaExteriorArea_(e,t,s,n){if(2===this.m_matrix[n])return;const r=this.m_topoGraph.getHalfEdgeFaceParentage(e);0!==(r&t)&&0===(r&s)&&(this.m_matrix[n]=2)}boundaryAreaBoundaryArea_(e,t,s){if(1===this.m_matrix[4])return;const n=this.m_topoGraph.getHalfEdgeParentage(e);if(0===(n&t)||0===(n&s)){if(0!==this.m_matrix[4]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const n=this.m_topoGraph.getHalfEdgeTo(e),r=this.m_topoGraph.getClusterParentage(n);if(0!==(r&t)&&0!==(r&s))return void(this.m_matrix[4]=0)}}else this.m_matrix[4]=1}boundaryAreaExteriorArea_(e,t,s,n){if(1===this.m_matrix[n])return;const r=this.m_topoGraph.getHalfEdgeFaceParentage(e),i=this.m_topoGraph.getHalfEdgeFaceParentage(this.m_topoGraph.getHalfEdgeTwin(e));0===(r&s)&&0===(i&s)&&(this.m_matrix[n]=1)}interiorAreaInteriorLine_(e,t,s){if(1===this.m_matrix[0])return;const n=this.m_topoGraph.getHalfEdgeFaceParentage(e),r=this.m_topoGraph.getHalfEdgeFaceParentage(this.m_topoGraph.getHalfEdgeTwin(e));0!==(n&t)&&0!==(r&t)&&(this.m_matrix[0]=1)}interiorAreaBoundaryLine_(e,t,s,n){if(0!==this.m_matrix[1]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const r=this.m_topoGraph.getHalfEdgeTo(e),i=this.m_topoGraph.getClusterParentage(r);if(0===(i&t)){if(0!==(this.m_topoGraph.getHalfEdgeFaceParentage(e)&t)){const e=this.m_topoGraph.getClusterUserIndex(r,n);if(0!==(i&s)&&e%2!=0)return void(this.m_matrix[1]=0)}}}}interiorAreaExteriorLine_(e,t,s){if(2===this.m_matrix[2])return;0!==(this.m_topoGraph.getHalfEdgeParentage(e)&t)&&(this.m_matrix[2]=2)}boundaryAreaInteriorLine_(e,t,s,n){if(1===this.m_matrix[3])return;const r=this.m_topoGraph.getHalfEdgeParentage(e);if(0===(r&t)||0===(r&s)){if(0!==this.m_matrix[3]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const r=this.m_topoGraph.getHalfEdgeTo(e),i=this.m_topoGraph.getClusterParentage(r);if(0!==(i&t)){const e=this.m_topoGraph.getClusterUserIndex(r,n);if(0!==(i&s)&&e%2==0)return void(this.m_matrix[3]=0)}}}else this.m_matrix[3]=1}boundaryAreaBoundaryLine_(e,t,s,n){if(0!==this.m_matrix[4]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const r=this.m_topoGraph.getHalfEdgeTo(e),i=this.m_topoGraph.getClusterParentage(r);if(0!==(i&t)){const e=this.m_topoGraph.getClusterUserIndex(r,n);if(0!==(i&s)&&e%2!=0)return void(this.m_matrix[4]=0)}}}boundaryAreaExteriorLine_(e,t,s){if(1===this.m_matrix[5])return;const n=this.m_topoGraph.getHalfEdgeParentage(e);0!==(n&t)&&0===(n&s)&&(this.m_matrix[5]=1)}exteriorAreaInteriorLine_(e,t){if(1===this.m_matrix[6])return;const s=this.m_topoGraph.getHalfEdgeFaceParentage(e),n=this.m_topoGraph.getHalfEdgeFaceParentage(this.m_topoGraph.getHalfEdgeTwin(e));0===(s&t)&&0===(n&t)&&(this.m_matrix[6]=1)}exteriorAreaBoundaryLine_(e,t,s,n){if(0!==this.m_matrix[7]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const r=this.m_topoGraph.getHalfEdgeTo(e),i=this.m_topoGraph.getClusterParentage(r);if(0===(i&t)){if(0===(this.m_topoGraph.getHalfEdgeFaceParentage(e)&t)){const e=this.m_topoGraph.getClusterUserIndex(r,n);if(0!==(i&s)&&e%2!=0)return void(this.m_matrix[7]=0)}}}}interiorLineInteriorLine_(e,t,s,n,r){if(1===this.m_matrix[0])return;const i=this.m_topoGraph.getHalfEdgeParentage(e);if(0===(i&t)||0===(i&s)){if(0!==this.m_matrix[0]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const i=this.m_topoGraph.getHalfEdgeTo(e),o=this.m_topoGraph.getClusterParentage(i);if(0!==(o&t)&&0!==(o&s)){const e=this.m_topoGraph.getClusterUserIndex(i,n),t=this.m_topoGraph.getClusterUserIndex(i,r);if(e%2==0&&t%2==0)return void(this.m_matrix[0]=0)}}}else this.m_matrix[0]=1}interiorLineBoundaryLine_(e,t,s,n,r,i){if(0!==this.m_matrix[i]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const o=this.m_topoGraph.getHalfEdgeTo(e),a=this.m_topoGraph.getClusterParentage(o);if(0!==(a&t)&&0!==(a&s)){const e=this.m_topoGraph.getClusterUserIndex(o,n),t=this.m_topoGraph.getClusterUserIndex(o,r);if(e%2==0&&t%2!=0)return void(this.m_matrix[i]=0)}}}interiorLineExteriorLine_(e,t,s,n){if(1===this.m_matrix[n])return;const r=this.m_topoGraph.getHalfEdgeParentage(e);0!==(r&t)&&0===(r&s)&&(this.m_matrix[n]=1)}boundaryLineBoundaryLine_(e,t,s,n,r){if(0!==this.m_matrix[4]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const i=this.m_topoGraph.getHalfEdgeTo(e),o=this.m_topoGraph.getClusterParentage(i);if(0!==(o&t)&&0!==(o&s)){const e=this.m_topoGraph.getClusterUserIndex(i,n),t=this.m_topoGraph.getClusterUserIndex(i,r);if(e%2!=0&&t%2!=0)return void(this.m_matrix[4]=0)}}}boundaryLineExteriorLine_(e,t,s,n,r){if(0!==this.m_matrix[r]&&1!==this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgePrev(this.m_topoGraph.getHalfEdgeTwin(e)),this.m_visitedIndex)){const t=this.m_topoGraph.getHalfEdgeTo(e);if(0===(this.m_topoGraph.getClusterParentage(t)&s)){if(this.m_topoGraph.getClusterUserIndex(t,n)%2!=0)return void(this.m_matrix[r]=0)}}}interiorAreaInteriorPoint_(e,t){if(0===this.m_matrix[0])return;if(0===(this.m_topoGraph.getClusterParentage(e)&t)){const s=this.m_topoGraph.getClusterChain(e);if(0!==(this.m_topoGraph.getChainParentage(s)&t))return void(this.m_matrix[0]=0)}}interiorAreaExteriorPoint_(e,t){if(2===this.m_matrix[2])return;0!==(this.m_topoGraph.getClusterParentage(e)&t)&&(this.m_matrix[2]=2)}boundaryAreaInteriorPoint_(e,t,s){if(0===this.m_matrix[3])return;const n=this.m_topoGraph.getClusterParentage(e);0===(n&t)||0===(n&s)||(this.m_matrix[3]=0)}boundaryAreaExteriorPoint_(e,t){if(1===this.m_matrix[5])return;0!==(this.m_topoGraph.getClusterParentage(e)&t)&&(this.m_matrix[5]=1)}exteriorAreaInteriorPoint_(e,t){if(0===this.m_matrix[6])return;if(0===(this.m_topoGraph.getClusterParentage(e)&t)){const s=this.m_topoGraph.getClusterChain(e);if(0===(this.m_topoGraph.getChainParentage(s)&t))return void(this.m_matrix[6]=0)}}interiorLineInteriorPoint_(e,t,s,n){if(0===this.m_matrix[0])return;const r=this.m_topoGraph.getClusterParentage(e);if(0!==(r&t)&&0!==(r&s)){if(this.m_topoGraph.getClusterUserIndex(e,n)%2==0)return void(this.m_matrix[0]=0)}}interiorLineExteriorPoint_(e,t,s,n){if(1===this.m_matrix[2])return;if(-1===this.m_topoGraph.getClusterHalfEdge(e)){if(0!==this.m_matrix[2]){if(0===(this.m_topoGraph.getClusterParentage(e)&s))return void(this.m_matrix[2]=0)}}else this.m_matrix[2]=1}boundaryLineInteriorPoint_(e,t,s,n){if(0===this.m_matrix[3])return;const r=this.m_topoGraph.getClusterParentage(e);if(0!==(r&t)&&0!==(r&s)){if(this.m_topoGraph.getClusterUserIndex(e,n)%2!=0)return void(this.m_matrix[3]=0)}}boundaryLineExteriorPoint_(e,t,s,n){if(0===this.m_matrix[5])return;const r=this.m_topoGraph.getClusterParentage(e);if(0!==(r&t)&&0===(r&s)){if(this.m_topoGraph.getClusterUserIndex(e,n)%2!=0)return void(this.m_matrix[5]=0)}}exteriorLineInteriorPoint_(e,t,s){if(0===this.m_matrix[6])return;const n=this.m_topoGraph.getClusterParentage(e);0!==(n&t)||0===(n&s)||(this.m_matrix[6]=0)}interiorPointInteriorPoint_(e,t,s){if(0===this.m_matrix[0])return;const n=this.m_topoGraph.getClusterParentage(e);0===(n&t)||0===(n&s)||(this.m_matrix[0]=0)}interiorPointExteriorPoint_(e,t,s,n){if(0===this.m_matrix[n])return;const r=this.m_topoGraph.getClusterParentage(e);0===(r&t)||0!==(r&s)||(this.m_matrix[n]=0)}computeMatrixTopoGraphHalfEdges_(e,t){let s=!1;const n=this.m_topoGraph.getGeometryID(e),r=this.m_topoGraph.getGeometryID(t);this.m_visitedIndex=this.m_topoGraph.createUserIndexForHalfEdges();for(let i=this.m_topoGraph.getFirstCluster();i!==M;i=this.m_topoGraph.getNextCluster(i)){const e=this.m_topoGraph.getClusterHalfEdge(i);if(e===M){if(null!==this.m_predicatesCluster&&(s=this.m_predicatesCluster(i,n,r),s))break;continue}let t=e;do{let e=t;if(1!==this.m_topoGraph.getHalfEdgeUserIndex(e,this.m_visitedIndex))do{if(s=this.m_predicatesHalfEdge(e,n,r),s)break;this.m_topoGraph.setHalfEdgeUserIndex(e,this.m_visitedIndex,1),e=this.m_topoGraph.getHalfEdgeNext(e)}while(e!==t&&!s);if(s)break;t=this.m_topoGraph.getHalfEdgeNext(this.m_topoGraph.getHalfEdgeTwin(e))}while(t!==e);if(s)break}s||this.setRemainingPredicatesToFalse_(),this.m_topoGraph.deleteUserIndexForHalfEdges(this.m_visitedIndex)}computeMatrixTopoGraphClusters_(e,t){let s=!1;const n=this.m_topoGraph.getGeometryID(e),r=this.m_topoGraph.getGeometryID(t);for(let i=this.m_topoGraph.getFirstCluster();i!==M&&(s=this.m_predicatesCluster(i,n,r),!s);i=this.m_topoGraph.getNextCluster(i));s||this.setRemainingPredicatesToFalse_()}setEditShape_(e,t){this.m_topoGraph.setEditShape(e,t)}setEditShapeCrackAndCluster_(e,t,s){let r=0;if(e.hasCurves()){const n=new fa,i=e.getEnvelope2D(s),o=_a(t.total(),i);r=pa(o,0),aa(e,o,t.total(),12e3,n,null,s),n.clearStitcher(e)}ya(e,t.add(r),s,!1,!1),e.filterClosePoints(0,!0,!0,!1,M);for(let i=e.getFirstGeometry();i!==M;i=e.getNextGeometry(i))e.getGeometryType(i)===n.enumPolygon&&er(e,i,-1,!1,M,s);this.setEditShape_(e,s)}}function Nr(e){const t=e[1],s=e[2],n=e[5];e[1]=e[3],e[2]=e[6],e[5]=e[7],e[3]=t,e[6]=s,e[7]=n}function Tr(t,s,i){const o=t.getGeometryType();if(r(o)){const e=new I({vd:t.getDescription()});return e.addSegment(t,!0),e}if(o===n.enumEnvelope){const n=t,r=e.constructEmpty();if(t.queryEnvelope(r),r.height()<=s&&r.width()<=s){const e=new fe({vd:t.getDescription()});return n.getCenter(e),e}if(r.height()<=s||r.width()<=s){const e=new I({vd:t.getDescription()}),s=new fe;return n.queryCornerByVal(0,s),e.startPathPoint(s),n.queryCornerByVal(2,s),e.lineToPoint(s),e}const i=new v({vd:t.getDescription()});return i.addEnvelope(n,!1),i}return t}function Gr(e){return`${e[0]}${e[3]}${e[6]}${e[1]}${e[4]}${e[7]}${e[2]}${e[5]}${e[8]}`}class Dr{nullFunc(){return i("should not be called"),!1}constructor(t,s,n,r=!1){this.m_bDone=!1,this.m_tolerance=0,this.m_elementHandle=-1,this.m_query=e.constructEmpty(),this.m_envInter=e.constructEmpty(),this.m_quadTree=null,this.m_intersector=null,this.m_function=this.nullFunc;const i=t.getAccelerators();let a=null;null!=i&&(a=r?i.getQuadTreeForPaths():i.getQuadTree());const h=s.getAccelerators();let m=null;if(null!=h&&(m=r?h.getQuadTreeForPaths():h.getQuadTree()),null===a&&null===m&&!r){const r=t.getPointCount(),i=s.getPointCount();if(r>10&&i>10){const h=e.constructEmpty(),l=e.constructEmpty(),g=e.constructEmpty();t.queryLooseEnvelope(h),s.queryLooseEnvelope(l),h.inflateCoords(n,n),l.inflateCoords(n,n),g.setCoords({env2D:h}),g.intersect(l),r>=i?a=o(t.getGeometryType())?Ve(t,g):Fe(t,g):m=o(s.getGeometryType())?Ve(s,g):Fe(s,g)}}this.construct_(t,a,s,m,n,r)}next(){if(this.m_bQuadTree){if(this.m_bDone)return!1;for(;this.m_function(););return!this.m_bDone}return!!this.m_intersector&&this.m_intersector.next()}getRedElement(){return this.m_bQuadTree?this.m_bSwapElements?this.m_quadTree.getElement(this.m_elementHandle):o(this.m_queryType)?this.m_bPaths?this.m_pathIndex:this.m_segIter.getStartPointIndex():this.m_pointIndex:this.m_bSwapElements?this.m_intersector.getBlueElement(this.m_intersector.getHandleB()):this.m_intersector.getRedElement(this.m_intersector.getHandleA())}getBlueElement(){return this.m_bQuadTree?this.m_bSwapElements?o(this.m_queryType)?this.m_bPaths?this.m_pathIndex:this.m_segIter.getStartPointIndex():this.m_pointIndex:this.m_quadTree.getElement(this.m_elementHandle):this.m_bSwapElements?this.m_intersector.getRedElement(this.m_intersector.getHandleA()):this.m_intersector.getBlueElement(this.m_intersector.getHandleB())}getRedEnvelope(){return this.m_bPaths||c(""),this.m_bQuadTree?this.m_bSwapElements?this.m_quadTree.getElementExtent(this.m_elementHandle):this.m_query:this.m_bSwapElements?this.m_intersector.getBlueEnvelope(this.m_intersector.getHandleB()):this.m_intersector.getRedEnvelope(this.m_intersector.getHandleA())}getBlueEnvelope(){return this.m_bPaths||c(""),this.m_bQuadTree?this.m_bSwapElements?this.m_query:this.m_quadTree.getElementExtent(this.m_elementHandle):this.m_bSwapElements?this.m_intersector.getRedEnvelope(this.m_intersector.getHandleA()):this.m_intersector.getBlueEnvelope(this.m_intersector.getHandleB())}construct_(t,s,r,i,a,h){const m=e.constructEmpty(),l=e.constructEmpty();t.queryLooseEnvelope(m),r.queryLooseEnvelope(l),m.inflateCoords(a,a),l.inflateCoords(a,a),this.m_envInter.setCoords({env2D:m}),this.m_envInter.intersect(l),this.m_multiVertexImplA=t,this.m_multiVertexImplB=r;const g=t.getGeometryType(),u=r.getGeometryType();this.m_bPaths=h,this.m_pathIndex=-1,this.m_pointIndex=-1,this.m_bSwapElements=!1,this.m_queryType=n.enumUnknown,this.m_bQuadTree=!1,null!==s&&(this.m_bDone=!1,this.m_tolerance=a,this.m_quadTree=s,this.m_qtIter=this.m_quadTree.getIteratorForQT(),this.m_bQuadTree=!0,this.m_bSwapElements=!0,o(u)?(this.m_queryType=u,this.m_function=this.nextPath_,h?this.m_pathIndex=r.getPathCount():this.m_segIter=r.querySegmentIterator()):(this.m_queryType=u,this.m_function=this.nextPoint_,this.m_pointIndex=r.getPointCount())),this.m_bQuadTree||null!==i&&(this.m_bDone=!1,this.m_tolerance=a,this.m_quadTree=i,this.m_qtIter=this.m_quadTree.getIteratorForQT(),this.m_bQuadTree=!0,this.m_bSwapElements=!1,o(g)?(this.m_queryType=g,this.m_function=this.nextPath_,h?this.m_pathIndex=t.getPathCount():this.m_segIter=t.querySegmentIterator()):(this.m_queryType=g,this.m_function=this.nextPoint_,this.m_pointIndex=t.getPointCount())),this.m_bQuadTree||(h&&o(g)&&o(u)?this.m_intersector=Me(t,r,a):o(g)&&o(u)?(this.m_intersector=He(t,r,a),this.m_bSwapElements=!1):o(g)&&!o(u)?(this.m_intersector=ke(t,r,a),this.m_bSwapElements=!1):!o(g)&&o(u)?(this.m_intersector=ke(r,t,a),this.m_bSwapElements=!0):(this.m_intersector=Ae(t,r,a),this.m_bSwapElements=!1))}nextPath_(){return this.m_bPaths?-1===--this.m_pathIndex?(this.m_bDone=!0,!1):(this.m_bSwapElements?this.m_multiVertexImplB.queryPathEnvelope(this.m_pathIndex,this.m_query):this.m_multiVertexImplA.queryPathEnvelope(this.m_pathIndex,this.m_query),this.m_qtIter.resetIterator(this.m_query,this.m_tolerance),this.m_function=this.iterate_,!0):this.m_segIter.nextPath()?(this.m_function=this.nextSegment_,!0):(this.m_bDone=!0,!1)}nextSegment_(){if(!this.m_segIter.hasNextSegment())return this.m_function=this.nextPath_,!0;const t=this.m_segIter.nextSegment(),s=new e;return t.queryLooseEnvelope(s),!s.isIntersecting(this.m_envInter)||(this.m_qtIter.resetIterator(t,this.m_tolerance),this.m_function=this.iterate_,!0)}nextPoint_(){if(-1===--this.m_pointIndex)return this.m_bDone=!0,!1;const t=new Qe;if(this.m_bSwapElements){const e=this.m_multiVertexImplB.getXY(this.m_pointIndex);t.setCoordsPoint2D(e)}else{const e=this.m_multiVertexImplA.getXY(this.m_pointIndex);t.setCoordsPoint2D(e)}return!this.m_envInter.contains(t)||(this.m_qtIter.resetIterator(e.construct(t.x,t.y,t.x,t.y),this.m_tolerance),this.m_function=this.iterate_,!0)}iterate_(){return this.m_elementHandle=this.m_qtIter.next(),-1===this.m_elementHandle&&(o(this.m_queryType)?(this.m_function=this.m_bPaths?this.nextPath_:this.nextSegment_,!0):(this.m_function=this.nextPoint_,!0))}}function Vr(e){return 2===e?1:1===e?2:128===e?64:64===e?128:e}function Fr(t,s,n){let r;if(t instanceof oc||null===t){const i=e.constructEmpty();i.setCoords({pt:s}),i.mergeEnvelope2D(n),r=le(t,i,!1)}else r=t;return r}function Hr(t,s,n){let r;if(t instanceof oc||null===t){const i=e.constructEmpty();i.setCoords({env2D:s}),i.mergeEnvelope2D(n),r=le(t,i,!1)}else r=t;return r}function kr(t,i,o,a,h){if(t.isEmpty()||i.isEmpty())return 4===a;s(t),s(i);let m=t.getGeometryType(),l=i.getGeometryType();if(m===n.enumEnvelope){if(l===n.enumEnvelope)return Ar(t,i,o,a);if(l===n.enumPoint)return Mr(i,t,o,Vr(a))}else if(m===n.enumPoint){if(l===n.enumEnvelope)return Mr(t,i,o,a);if(l===n.enumPoint)return Ur(t,i,o,a)}const g=e.constructEmpty();t.queryEnvelope(g);const u=e.constructEmpty();i.queryEnvelope(u);const c=Hr(o,g,u);if(qr(g,u,c))return 4===a;let _=!1,d=null,p=null,f=null,x=null;switch(r(m)?(d=new I({vd:t.getDescription()}),d.addSegment(t,!0),f=d,m=n.enumPolyline):f=t,r(l)?(p=new I({vd:i.getDescription()}),p.addSegment(i,!0),x=p,l=n.enumPolyline):x=i,m!==n.enumEnvelope&&l!==n.enumEnvelope?(f.getDimension()<x.getDimension()||m===n.enumPoint&&l===n.enumMultiPoint)&&(a=Vr(a)):m!==n.enumPolygon&&l!==n.enumEnvelope&&(a=Vr(a)),m){case n.enumPolygon:switch(l){case n.enumPolygon:_=Yr(f,x,c,a,h);break;case n.enumPolyline:_=Rr(f,x,c,a,h);break;case n.enumPoint:_=Xr(f,x,c,a);break;case n.enumMultiPoint:_=Lr(f,x,c,a);break;case n.enumEnvelope:_=zr(f,x,c,a,h)}break;case n.enumPolyline:switch(l){case n.enumPolygon:_=Rr(x,f,c,a,h);break;case n.enumPolyline:_=Wr(f,x,c,a,h);break;case n.enumPoint:_=jr(f,x,c,a);break;case n.enumMultiPoint:_=Zr(f,x,c,a);break;case n.enumEnvelope:_=Kr(f,x,c,a,h)}break;case n.enumPoint:switch(l){case n.enumPolygon:_=Xr(x,f,c,a);break;case n.enumPolyline:_=jr(x,f,c,a);break;case n.enumMultiPoint:_=Jr(x,f,c,a)}break;case n.enumMultiPoint:switch(l){case n.enumPolygon:_=Lr(x,f,c,a);break;case n.enumPolyline:_=Zr(x,f,c,a);break;case n.enumMultiPoint:_=Qr(f,x,c,a);break;case n.enumPoint:_=Jr(f,x,c,a);break;case n.enumEnvelope:_=$r(f,x,c,a)}break;case n.enumEnvelope:switch(l){case n.enumPolygon:_=zr(x,f,c,a,h);break;case n.enumPolyline:_=Kr(x,f,c,a,h);break;case n.enumMultiPoint:_=$r(x,f,c,a)}}return _}function Ar(t,s,n,r,i){if(t.isEmpty()||s.isEmpty())return 4===r;const o=e.constructEmpty();t.queryEnvelope(o);const a=e.constructEmpty();s.queryEnvelope(a);const h=Hr(n,o,a);switch(r){case 4:return qr(o,a,h);case 2:return go(a,o,h,!1);case 128:return go(a,o,h,!0);case 1:return go(o,a,h,!1);case 64:return go(o,a,h,!0);case 3:return ho(o,a,h);case 8:return mo(o,a,h);case 32:return lo(o,a,h);case 16:return!1}return!1}function Mr(t,s,n,r,i){if(t.isEmpty()||s.isEmpty())return 4===r;const o=t.getXY(),a=e.constructEmpty();s.queryEnvelope(a);const h=Fr(n,o,a);switch(r){case 4:return Or(o,a,h);case 2:case 128:return ao(o,a,h);case 1:case 64:return!1;case 3:return io(o,a,h);case 8:return oo(o,a,h)}return!1}function Ur(t,s,n,r,i){if(t.isEmpty()||s.isEmpty())return 4===r;const o=t.getXY(),a=s.getXY();let h;if(n instanceof oc||null===n){const t=e.constructEmpty();t.setCoords({pt:o}),t.merge(a),h=le(n,t,!1)}else h=n;switch(r){case 4:return no(o,a,h);case 2:case 128:return ro(a,o,h);case 1:case 64:return ro(o,a,h);case 3:return so(o,a,h)}return!1}function qr(t,s,n){const r=e.constructEmpty();return r.setCoords({env2D:s}),r.inflateCoords(n,n),!t.isIntersecting(r)}function Br(e,t,s,n=!1){const r=e.getGeometryType(),i=t.getGeometryType();if(d(r)){const t=e.getImpl().getAccelerators();if(null!==t){const e=t.getRasterizedGeometry();a(null===e)}}if(d(i)){const e=t.getImpl().getAccelerators();if(null!==e){const t=e.getRasterizedGeometry();a(null===t)}}return 0}function Or(t,s,n,r){const i=e.constructEmpty();return i.setCoords({env2D:s}),i.inflateCoords(n,n),!i.contains(t)}function Yr(e,t,s,n,r){switch(n){case 4:return ti(e,t,s);case 2:return ri(t,e,s,r);case 128:return ii(t,e,s);case 1:return ri(e,t,s,r);case 64:return ii(e,t,s);case 3:return ei(e,t,s,r);case 8:return si(e,t,s);case 32:return ni(e,t,s,r)}return!1}function Rr(e,t,s,n,r){switch(n){case 4:return oi(e,t,s);case 1:return mi(e,t,s,r);case 64:return li(e,t,s);case 8:return ai(e,t,s,r);case 16:return hi(e,t,s)}return!1}function Xr(e,t,s,n,r){switch(n){case 4:return gi(e,t,s);case 1:case 64:return ci(e,t,s);case 8:return ui(e,t,s)}return!1}function Lr(e,t,s,n,r){switch(n){case 4:return _i(e,t,s);case 1:return fi(e,t,s,!1);case 64:return fi(e,t,s,!0);case 8:return di(e,t,s);case 16:return pi(e,t,s)}return!1}function zr(e,t,s,n,r){if(yi(e,t,s))return 4===n;if(4===n)return!1;switch(n){case 2:return Si(e,t,s,!1);case 128:return Si(e,t,s,!0);case 1:return Ci(e,t,s,!1,r);case 64:return Ci(e,t,s,!0,r);case 3:return xi(e,t,s,r);case 8:return Pi(e,t,s,r);case 32:return Ei(e,t,s,r);case 16:return!1}return!1}function Wr(e,t,s,n,r){switch(n){case 4:return bi(e,t,s);case 2:return Ti(t,e,s,r);case 128:return Gi(t,e,s,r);case 1:return Ti(e,t,s,r);case 64:return Gi(e,t,s,r);case 3:return Ii(e,t,s,r);case 8:return wi(e,t,s,r);case 32:return Ni(e,t,s,r);case 16:return vi(e,t,s,r)}return!1}function jr(e,t,s,n,r){switch(n){case 4:return Di(e,t,s);case 1:case 64:return Fi(e,t,s);case 8:return Vi(e,t,s)}return!1}function Zr(e,t,s,n,r){switch(n){case 4:return Hi(e,t,s);case 1:case 64:return Mi(e,t,s);case 8:return ki(e,t,s);case 16:return Ai(e,t,s)}return!1}function Kr(e,t,s,n,r){if(qi(e,t,s))return 4===n;if(4===n)return!1;switch(n){case 2:return Oi(e,t,s,!1);case 128:return Oi(e,t,s,!0);case 1:case 64:case 32:return!1;case 3:return Ui(e,t,s);case 8:return Bi(e,t,s,r);case 16:return Yi(e,t,s)}return!1}function Qr(e,t,s,n,r){switch(n){case 4:return Xi(e,t,s);case 2:case 128:return zi(t,e,s);case 1:case 64:return zi(e,t,s);case 3:return Ri(e,t,s);case 32:return Li(e,t,s)}return!1}function Jr(e,t,s,n,r){switch(n){case 4:return ji(e,t,s);case 2:case 128:return Zi(e,t,s);case 1:case 64:return Ki(e,t,s);case 3:return Wi(e,t,s)}return!1}function $r(e,t,s,n,r){switch(n){case 4:return Ji(e,t,s);case 2:return eo(e,t,s,!1);case 128:return eo(e,t,s,!0);case 1:case 64:return!1;case 3:return Qi(e,t,s);case 8:return $i(e,t,s);case 16:return to(e,t,s)}return!1}function ei(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),!ho(i,o,n))return!1;if(Br(t,s),yo(t,s,n))return!0;const a=t.calculateLength2D(),h=s.calculateLength2D(),m=Math.max(t.getPointCount(),s.getPointCount());if(Math.abs(a-h)>4*m*n)return!1;if(t.hasNonLinearSegments()||s.hasNonLinearSegments()){return sr(t,s,n,"**F**FFF*",r,!1)}return So(t,s,n,!0)}function ti(e,t,s,n){Br(e,t,s,!0);return 1===uo(e,t,s,!0)}function si(e,t,s,n){return Br(e,t),Go(e,t,s,null)}function ni(e,t,s,n){return Br(e,t),Do(e,t,s,n)}function ri(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!po(i,o,n)&&(Br(t,s),Vo(t,s,n,r))}function ii(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!po(i,o,n)&&(Br(t,s),2===uo(t,s,n,!1))}function oi(e,t,s,n){Br(e,t,s,!0);return 1===uo(e,t,s,!0)}function ai(e,t,s,n){return Br(e,t),Fo(e,t,s,n)}function hi(e,t,s,n){return Br(e,t),Ho(e,t,s,null)}function mi(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!po(i,o,n)&&(Br(t,s),ko(t,s,n,r))}function li(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!po(i,o,n)&&(Br(t,s),2===uo(t,s,n,!1))}function gi(e,t,s,n){return 0===Xo(e,t,s)}function ui(e,t,s,n){return Mo(e,t.getXY(),s)}function ci(e,t,s,n){return Ao(e,t.getXY(),s)}function _i(e,t,s,n,r){Br(e,t);return 1===co(e,t,s)}function di(t,s,n,r){Br(t,s);const i=e.constructEmpty();t.queryEnvelope(i),i.inflateCoords(n,n);const o=new Qe;let a=!1;const h=t.getImpl(),m=new v;let l=t,g=!1;for(let e=0;e<s.getPointCount();e++){if(s.queryXY(e,o),i.contains(o)){const e=Lo(l,o,n);if(2===e)a=!0;else if(1===e)return!1}g||(!Wn(t,s.getPointCount()-1)||null!==h.getAccelerators()&&null!==h.getAccelerators().getQuadTree()?l=t:(t.copyTo(m),m.getImpl().buildQuadTreeAccelerator(1),l=m),g=!0)}return!!a}function pi(t,s,n,r){Br(t,s);const i=new e,o=new e,a=new e;t.queryEnvelope(i),s.queryEnvelope(a),o.setCoords({env2D:i}),o.inflateCoords(n,n);let h=!1,m=!1;const l=new Qe,g=t.getImpl(),u=new v;let c=t,_=!1;for(let e=0;e<s.getPointCount();e++){if(s.queryXY(e,l),o.contains(l)){const e=Lo(c,l,n);0===e?m=!0:1===e&&(h=!0)}else m=!0;if(h&&m)return!0;_||(!Wn(t,s.getPointCount()-1)||null!==g.getAccelerators()&&null!==g.getAccelerators().getQuadTree()?c=t:(t.copyTo(u),u.getImpl().buildQuadTreeAccelerator(1),c=u),_=!0)}return!1}function fi(t,s,n,r,i){const o=e.constructEmpty(),a=e.constructEmpty();if(t.queryEnvelope(o),s.queryEnvelope(a),!po(o,a,n))return!1;Br(t,s);let h=!1;const m=new Qe,l=t.getImpl(),g=new v;let u=t,c=!1;for(let e=0;e<s.getPointCount();e++){if(s.queryXY(e,m),!o.contains(m))return!1;const i=Lo(u,m,n);if(1===i)h=!0;else if(0===i)return!1;if(r&&2===i)return!1;c||(!Wn(t,s.getPointCount()-1)||null!==l.getAccelerators()&&null!==l.getAccelerators().getQuadTree()?u=t:(t.copyTo(g),g.getImpl().buildQuadTreeAccelerator(1),u=g),c=!0)}return h}function xi(t,s,n,r){const i=new e,o=new e;if(t.queryEnvelope(i),s.queryEnvelope(o),!ho(i,o,n))return!1;const a=new v;return a.addEnvelope(s,!1),ei(t,a,n,r)}function yi(t,s,n,r){Br(t,s);const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),po(o,i,n))return!1;return 0===Lo(t,o.getLowerLeft(),0)&&(!o.contains(t.getXY(0))&&!To(t,o,n))}function Pi(t,s,n,r){Br(t,s);const i=new e,o=new e;if(t.queryEnvelope(i),s.queryEnvelope(o),po(o,i,n))return!1;if(o.height()<=n||o.width()<=n)return!1;const a=new v;return a.addEnvelope(s,!1),Go(t,a,n,r)}function Ei(t,s,n,r){Br(t,s);const i=new e,o=new e;if(t.queryEnvelope(i),s.queryEnvelope(o),po(o,i,n))return!1;if(o.height()<=n||o.width()<=n)return!1;const a=new v;return a.addEnvelope(s,!1),Do(t,a,n,r)}function Si(t,s,n,r,i){const o=e.constructEmpty(),a=e.constructEmpty();return t.queryEnvelope(o),s.queryEnvelope(a),r?fo(a,o,n):po(a,o,n)}function Ci(t,s,n,r,i){const o=e.constructEmpty(),a=e.constructEmpty();if(t.queryEnvelope(o),s.queryEnvelope(a),!po(o,a,n))return!1;Br(t,s);const h=new v;return h.addEnvelope(s,!1),r?2===uo(t,h,n,!1):Vo(t,h,n,i)}function Ii(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),!ho(i,o,n))return!1;if(Br(t,s),yo(t,s,n))return!0;if(t.hasNonLinearSegments()||s.hasNonLinearSegments()){return sr(t,s,n,"**F**FFF*",r,!1)}return So(t,s,n,!1)}function bi(e,t,s,n){Br(e,t);const r=e.getImpl(),i=t.getImpl();return!new Dr(r,i,s,!0).next()||!Io(e,t,s)}function wi(t,s,n,r){Br(t,s);const i=[],o=bo(t,s,n,i);if(-2===o){const i=e.constructEmpty(),o=e.constructEmpty(),a=e.constructEmpty();let h,m;if(t.queryEnvelope(i),s.queryEnvelope(o),i.inflateCoords(1e3*n,1e3*n),o.inflateCoords(1e3*n,1e3*n),a.setCoords({env2D:i}),a.intersect(o),t.getPointCount()>10){if(h=Zt(t,a,n,0,r),h.isEmpty())return!1}else h=t;if(s.getPointCount()>10){if(m=Zt(s,a,n,0,r),m.isEmpty())return!1}else m=s;return sr(h,m,n,"F********",r,!1)}if(0!==o)return!1;const a=new N;for(let e=0;e<i.length;e+=2){const t=i[e],s=i[e+1];a.addXY(t,s)}const h=t.getBoundary(),m=s.getBoundary();return h.addPoints(m,0,m.getPointCount()),!h.isEmpty()&&zi(h,a,n)}function vi(t,s,n,r){Br(t,s);const i=[],o=bo(t,s,n,i);if(-2===o){const i=e.constructEmpty(),o=e.constructEmpty(),a=e.constructEmpty();let h,m;if(t.queryEnvelope(i),s.queryEnvelope(o),i.inflateCoords(1e3*n,1e3*n),o.inflateCoords(1e3*n,1e3*n),a.setCoords({env2D:i}),a.intersect(o),t.getPointCount()>10){if(h=Zt(t,a,n,0,r),h.isEmpty())return!1}else h=t;if(s.getPointCount()>10){if(m=Zt(s,a,n,0,r),m.isEmpty())return!1}else m=s;return sr(h,m,n,"0********",r,!1)}if(0!==o)return!1;const a=new N;for(let e=0;e<i.length;e+=2){const t=i[e],s=i[e+1];a.addXY(t,s)}const h=t.getBoundary(),m=s.getBoundary();return h.addPoints(m,0,m.getPointCount()),!!h.isEmpty()||!zi(h,a,n)}function Ni(t,s,n,r){Br(t,s);const i=e.constructEmpty(),o=e.constructEmpty();t.queryEnvelope(i),s.queryEnvelope(o);const a=xo(i,o,n),h=xo(o,i,n),m=t.hasNonLinearSegments(),l=s.hasNonLinearSegments(),g=bo(t,s,n,null);if(-1===g)return!1;if(1===g){if(a&&h)return!0;if(!m&&!l)return a&&!h?!Co(s,t,n,!1):h&&!a?!Co(t,s,n,!1):!Co(t,s,n,!1)&&!Co(s,t,n,!1)}const u=e.constructEmpty(),c=e.constructEmpty(),_=e.constructEmpty();let d,p;u.setCoords({env2D:i}),u.inflateCoords(1e3*n,1e3*n),c.setCoords({env2D:o}),c.inflateCoords(1e3*n,1e3*n),_.setCoords({env2D:u}),_.intersect(c);let f="";if(f+="1*",a){if(s.getPointCount()>10){if(p=Zt(s,_,n,0,r),p.isEmpty())return!1}else p=s;f+="****"}else p=s,f+="T***";if(h){if(t.getPointCount()>10){if(d=Zt(t,_,n,0,r),d.isEmpty())return!1}else d=t;f+="***"}else d=t,f+="T**";return sr(d,p,n,f,r,!1)}function Ti(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),!po(i,o,n))return!1;if(Br(t,s),t.hasNonLinearSegments()||s.hasNonLinearSegments()){return sr(t,s,n,"******FF*",r,!1)}return Co(s,t,n,!1)}function Gi(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),!po(i,o,n))return!1;Br(t,s);return sr(t,s,n,"T**FF*FF*",r,!1)}function Di(e,t,s,n){Br(e,t);return!vo(e,t.getXY(),s)}function Vi(e,t,s,n){Br(e,t);return qo(e,t.getXY(),s)}function Fi(e,t,s,n){Br(e,t);return No(e,t.getXY(),s)}function Hi(e,t,s,n){return Br(e,t),!wo(e,t,s,!1)}function ki(e,t,s,n){Br(e,t);const r=e.getImpl(),i=t.getImpl(),o=new N,a=new Dr(r,i,s,!1),h=r.querySegmentIterator();let m=!1;for(;a.next();){const e=a.getRedElement(),t=a.getBlueElement();h.resetToVertex(e,-1);const n=h.nextSegment(),r=i.getXY(t);n.isIntersectingPoint(r,s)&&(m=!0,o.addPoint2D(r))}if(!m)return!1;const l=e.getBoundary();return!l.isEmpty()&&zi(l,o,s)}function Ai(e,t,s,n){Br(e,t);const r=e.getImpl(),i=t.getImpl(),o=i.getPointCount(),a=Ke(o,!1),h=new Dr(r,i,s,!1),m=r.querySegmentIterator();let l=!1;for(;h.next();){const e=h.getRedElement(),t=h.getBlueElement();m.resetToVertex(e,-1);const n=m.nextSegment(),r=i.getXY(t);n.isIntersectingPoint(r,s)&&(l=!0,a[t]=!0)}if(!l)return!1;let g=!1;for(let _=0;_<o;_++)if(!a[_]){g=!0;break}if(!g)return!1;const u=e.getBoundary();if(u.isEmpty())return!0;const c=new N;for(let _=0;_<o;_++)a[_]&&c.addPoint2D(i.getXY(_));return!zi(u,c,s)}function Mi(t,s,n,r,i){const o=e.constructEmpty(),a=e.constructEmpty();if(t.queryEnvelope(o),s.queryEnvelope(a),!po(o,a,n))return!1;Br(t,s);const h=wo(t,s,n,!0);if(!h)return h;const m=t.getBoundary();return m.isEmpty()?h:!zi(m,s,n)}function Ui(t,s,n,r){const i=new e,o=new e;return t.queryEnvelope(i),s.queryEnvelope(o),!(o.height()>n&&o.width()>n)&&ho(i,o,n)}function qi(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();t.queryEnvelope(i),s.queryEnvelope(o);const a=Bo(o,i,n);return 0===a?!To(t,o,n):4===a}function Bi(t,s,r,o){const a=new e,h=new e;if(t.queryEnvelope(a),s.queryEnvelope(h),h.height()<=r||h.width()<=r)return!1;const m=new e,l=new e;if(m.setCoords({env2D:h}),l.setCoords({env2D:h}),m.inflateCoords(r,r),l.inflateCoords(-r,-r),l.containsEnvelope(a)||!a.isIntersecting(m))return!1;const g=t.getImpl().querySegmentIterator();g.stripAttributes();const u=t.getImpl().getAccelerators();let c=null,_=null;null!==u&&(c=u.getQuadTree(),null!==c&&(_=c.getIterator(h,r))),_||g.nextPath()||i("relational_operations");let d=!1,p=null;const f=new Qe,x=new Qe,y=t.hasNonLinearSegments();let P=!1;for(;;){if(null!==_){const e=_.next();if(-1===e)break;g.resetToVertex(c.getElement(e),-1),p=g.nextSegment()}else{for(;!g.hasNextSegment()&&g.nextPath(););if(!g.hasNextSegment())break;p=g.nextSegment()}if(y&&p.getGeometryType()!==n.enumLine){const t=new e;if(p.queryEnvelope(t),l.containsEnvelope(t))return!1;if(m.isIntersecting(t)){P=!0;break}}else{f.assign(p.getStartXY()),x.assign(p.getEndXY());let e=l.clipLine(f,x);if(0!==e)return!1;d||(e=m.clipLine(f,x),0!==e&&(d=!0))}}if(!P)return d;const E=new v;return E.addEnvelope(h,!1),ai(E,t,r,o)}function Oi(t,s,r,o,a){const h=e.constructEmpty(),m=e.constructEmpty();if(t.queryEnvelope(h),s.queryEnvelope(m),m.height()<=r||m.width()<=r)return!1;if(o)return fo(m,h,r);if(!po(m,h,r))return!1;const l=e.constructEmpty();l.setCoords({env2D:m}),l.inflateCoords(-r,-r);const g=e.constructEmpty();if(g.setCoords({env2D:m}),g.inflateCoords(r,r),l.containsEnvelope(h))return!0;const u=t.getImpl().querySegmentIterator();u.stripAttributes(),u.nextPath()||i("relational_operations");let c,_,d,p,f,x,y=!1;const P=t.hasNonLinearSegments();for(P&&(d=new H,p=new H,f=new H,x=new H,l.querySide(0,d),l.querySide(1,p),l.querySide(2,f),l.querySide(3,x));;){for(;!u.hasNextSegment()&&u.nextPath(););if(!u.hasNextSegment())break;const e=u.nextSegment();if(P&&e.getGeometryType()!==n.enumLine){if(e.isIntersecting(d,r)){y=!0;break}if(e.isIntersecting(p,r)){y=!0;break}if(e.isIntersecting(f,r)){y=!0;break}if(e.isIntersecting(x,r)){y=!0;break}}else{c=e.getStartXY(),_=e.getEndXY();if(0!==l.clipLine(c,_)){y=!0;break}}}return y}function Yi(t,s,r,i){const o=new e,h=new e;if(t.queryEnvelope(o),s.queryEnvelope(h),h.height()<=r||h.width()<=r)return!1;const m=new e;if(m.setCoords({env2D:h}),m.inflateCoords(r,r),m.containsEnvelope(o))return!1;const l=!0,g=new e;if(g.setCoords({env2D:h}),g.inflateCoords(-r,-r),!g.isIntersecting(o))return!1;const u=t.getImpl().querySegmentIterator();u.stripAttributes();const c=t.getImpl().getAccelerators();let _=null,d=null;if(null!==c&&(_=c.getQuadTree(),null!==_&&(d=_.getIterator(h,r))),!d){const e=u.nextPath();a(e)}let p=!1,f=null;const x=new Qe,y=new Qe;let P=null,E=null,S=null,C=null;for(t.hasNonLinearSegments()&&(P=new H,E=new H,S=new H,C=new H,g.querySide(0,P),g.querySide(1,E),g.querySide(2,S),g.querySide(3,C));;){if(null!==d){const e=d.next();if(-1===e)break;u.resetToVertex(_.getElement(e),-1),f=u.nextSegment()}else{for(;!u.hasNextSegment()&&u.nextPath(););if(!u.hasNextSegment())break;f=u.nextSegment()}if(f.getGeometryType()===n.enumLine){x.assign(f.getStartXY()),y.assign(f.getEndXY());if(0!==g.clipLine(x,y)){p=!0;break}}else{if(P.isIntersecting(f,r)){p=!0;break}if(E.isIntersecting(f,r)){p=!0;break}if(S.isIntersecting(f,r)){p=!0;break}if(C.isIntersecting(f,r)){p=!0;break}}}return p&&l}function Ri(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!ho(i,o,n)&&(!!Po(t,s,n)||Eo(t,s,n,!1,!0,!1))}function Xi(e,t,s,n){const r=e,i=t,o=new Dr(r,i,s,!1),a=s*s,h=new Qe,m=new Qe;for(;o.next();){const e=o.getRedElement(),t=o.getBlueElement();if(r.queryXY(e,h),i.queryXY(t,m),Qe.sqrDistance(h,m)<=a)return!1}return!0}function Li(e,t,s,n){return Eo(e,t,s,!1,!1,!0)}function zi(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),!!po(i,o,n)&&Eo(s,t,n,!0,!1,!1)}function Wi(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();return t.queryEnvelope(i),s.queryEnvelope(o),ho(i,o,n)}function ji(e,t,s,n){return Uo(e,t.getXY(),s)}function Zi(e,t,s,n){return Wi(e,t,s)}function Ki(e,t,s,n){return!ji(e,t,s)}function Qi(t,s,n,r){const i=new e,o=new e;return t.queryEnvelope(i),s.queryEnvelope(o),!(o.height()>n||o.width()>n)&&ho(i,o,n)}function Ji(t,s,n,r){const i=e.constructEmpty(),o=e.constructEmpty();if(t.queryEnvelope(i),s.queryEnvelope(o),po(o,i,n))return!1;const a=e.constructEmpty();a.setCoords({env2D:o}),a.inflateCoords(n,n);const h=new Qe;for(let e=0;e<t.getPointCount();e++)if(t.queryXY(e,h),a.contains(h))return!1;return!0}function $i(t,s,n,r){const i=new e,o=new e,a=new e;if(s.queryEnvelope(i),i.height()<=n||i.width()<=n)return!1;o.setCoords({env2D:i}),a.setCoords({env2D:i}),o.inflateCoords(n,n),a.inflateCoords(-n,-n);const h=new Qe;let m=!1;for(let e=0;e<t.getPointCount();e++)if(t.queryXY(e,h),o.contains(h)){if(a.containsExclusive(h))return!1;m=!0}return m}function eo(t,s,n,r,i){const o=e.constructEmpty(),a=e.constructEmpty();if(t.queryEnvelope(o),s.queryEnvelope(a),a.height()<=n||a.width()<=n)return!1;if(r)return fo(a,o,n);if(!po(a,o,n))return!1;let h=!1;const m=e.constructEmpty(),l=e.constructEmpty();m.setCoords({env2D:a}),l.setCoords({env2D:a}),m.inflateCoords(-n,-n),l.inflateCoords(n,n);const g=new Qe;for(let e=0;e<t.getPointCount();e++){if(t.queryXY(e,g),!l.contains(g))return!1;m.containsExclusive(g)&&(h=!0)}return h}function to(t,s,n,r){const i=new e,o=new e;if(t.queryEnvelope(i),s.queryEnvelope(o),po(o,i,n))return!1;if(o.height()<=n||o.width()<=n)return!1;const a=new e,h=new e;a.setCoords({env2D:o}),a.inflateCoords(-n,-n),h.setCoords({env2D:o}),h.inflateCoords(n,n);const m=new Qe;let l=!1,g=!1;for(let e=0;e<t.getPointCount();e++)if(t.queryXY(e,m),!l&&a.containsExclusive(m)&&(l=!0),g||h.contains(m)||(g=!0),l&&g)return!0;return!1}function so(e,t,s,n){return Qe.sqrDistance(e,t)<=s*s}function no(e,t,s,n){return Qe.sqrDistance(e,t)>s*s}function ro(e,t,s,n){return so(e,t,s)}function io(t,s,n,r){const i=new e;return i.setCoords({pt:t}),ho(i,s,n)}function oo(t,s,n,r){if(s.height()<=n||s.width()<=n)return!1;const i=new e,o=new e;return i.setCoords({env2D:s}),i.inflateCoords(n,n),!!i.contains(t)&&(o.setCoords({env2D:s}),o.inflateCoords(-n,-n),!o.containsExclusive(t))}function ao(t,s,n,r){if(s.height()<=n||s.width()<=n)return!1;const i=e.constructEmpty();i.setCoords({env2D:s}),i.inflateCoords(-n,-n);return i.containsExclusive(t)}function ho(e,t,s,n){return po(e,t,s)&&po(t,e,s)}function mo(t,s,n,r){if(t.height()<=n||t.width()<=n||s.height()<=n||s.width()<=n)return!1;const i=new e;return i.setCoords({env2D:t}),i.inflateCoords(-n,-n),i.intersect(s),!(!i.isEmpty()&&i.height()>n&&i.width()>n)&&(i.setCoords({env2D:t}),i.inflateCoords(n,n),i.intersect(s),!i.isEmpty())}function lo(t,s,n,r){if(t.height()<=n||t.width()<=n||s.height()<=n||s.width()<=n)return!1;if(po(t,s,n))return!1;if(po(s,t,n))return!1;const i=new e;return i.setCoords({env2D:t}),i.inflateCoords(-n,-n),i.intersect(s),!i.isEmpty()&&(i.height()>n||i.width()>n)}function go(t,s,n,r,i){if(t.height()<=n||t.width()<=n)return!1;if(r)return fo(t,s,n);if(!po(t,s,n))return!1;const o=e.constructEmpty();return o.setCoords({env2D:t}),o.inflateCoords(-n,-n),o.intersect(s),!o.isEmpty()}function uo(t,s,r,i,o){const a=new Qe,h=new Qe,m=e.constructEmpty(),l=e.constructEmpty(),g=t.getImpl(),u=s.getImpl(),c=u.getGeometryType(),_=new Dr(g,u,r,!0);if(!_.next())return 1;if(Io(t,s,r))return i?4:0;const d=new v;let p=t;const f=new v;let x=null;c===n.enumPolygon&&(x=s);const y=c===n.enumPolygon?Ke(g.getPathCount(),!1):[],P=Ke(u.getPathCount(),!1);let E=!1,S=!1,C=!1,I=!1,b=!1,w=!1;do{if(C&&b||I&&w)break;if(C&&I)break;const e=_.getRedElement(),o=_.getBlueElement();if(!P[o]&&(h.assign(s.getXY(s.getPathStart(o))),m.setCoords({env2D:_.getRedEnvelope()}),m.inflateCoords(r,r),m.contains(h))){if(0!==Lo(p,h,0)){if(I=!0,i)return 4}else w=!0;P[o]=!0}if(c===n.enumPolygon&&!y[e]&&(a.assign(t.getXY(t.getPathStart(e))),l.setCoords({env2D:_.getBlueEnvelope()}),l.inflateCoords(r,r),l.contains(a))){if(0!==Lo(x,a,0)){if(C=!0,i)return 4}else b=!0;y[e]=!0}if(E||(!Wn(t,s.getPathCount()-1)||null!==g.getAccelerators()&&null!==g.getAccelerators().getQuadTree()?p=t:(t.copyTo(d),d.getImpl().buildQuadTreeAccelerator(1),p=d),E=!0),c===n.enumPolygon&&!S){const e=s;!Wn(e,t.getPathCount()-1)||null!==u.getAccelerators()&&null!==u.getAccelerators().getQuadTree()?x=s:(e.copyTo(f),f.getImpl().buildQuadTreeAccelerator(1),x=f),S=!0}}while(_.next());if(!C&&!I)return 1;if(!b||!w){if(c===n.enumPolygon)for(let e=0,t=g.getPathCount();e<t;e++)if(!y[e]){b=!0;break}for(let e=0,t=u.getPathCount();e<t;e++)if(!P[e]){w=!0;break}}return C&&b||I&&w||C&&I?4:I?2:3}function co(t,s,n,r,i){const o=e.constructEmpty();t.queryEnvelope(o),o.inflateCoords(n,n);const a=new Qe,h=t.getImpl(),m=new v;let l=t,g=!1,u=!1,c=!1;for(let e=0;e<s.getPointCount();e++){if(s.queryXY(e,a),o.contains(a)){const e=Lo(l,a,n);if(1===e)return u=!0,4;if(2===e)return 4;c=!0}else c=!0;g||(!Wn(t,s.getPointCount()-1)||null!==h.getAccelerators()&&null!=h.getAccelerators().getQuadTree()?l=t:(t.copyTo(m),m.getImpl().buildQuadTreeAccelerator(1),l=m),g=!0)}return u?c?4:2:1}function _o(t,s,r,i,o){i[0]=!1;const h=t.getImpl(),m=s.getImpl(),l=h.querySegmentIterator(),g=m.querySegmentIterator(),u=[0,0],c=[0,0],_=new Dr(h,m,r);let d=!1;for(;_.next();){const e=_.getRedElement(),t=_.getBlueElement();l.resetToVertex(e,-1),g.resetToVertex(t,-1);const s=l.nextSegment(),n=g.nextSegment();let o=0;if(Oo(s,n)?!d&&n.isIntersecting(s,r)&&(d=!0):o=n.intersect(s,null,c,u,r),0!==o&&(d=!0,1===o)){const e=u[0],t=c[0];if(e>0&&e<1&&t>0&&t<1)return i[0]=!0,!1}}if(!d){i[0]=!0;const o=e.constructEmpty();t.queryEnvelope(o),o.inflateCoords(r,r);const l=new v;let g=t,u=!1;for(let n=0,r=s.getPathCount();n<r;n++)if(s.getPathSize(n)>0){const r=e.constructEmpty();if(s.queryPathEnvelope(n,r),!o.isIntersecting(r))return!1;{const e=zn(g,s.getXY(s.getPathStart(n)),0);if(a(-1!==e),0===e)return!1}u||(!Wn(t,s.getPathCount()-1)||null!==h.getAccelerators()&&null!==h.getAccelerators().getQuadTree()?g=t:(t.copyTo(l),l.getImpl().buildQuadTreeAccelerator(1),g=l),u=!0)}if(1===t.getPathCount()||s.getGeometryType()===n.enumPolyline)return!0;const c=s,_=e.constructEmpty();c.queryEnvelope(_),_.inflateCoords(r,r);const d=new v;let p=c,f=!1;for(let s=0,n=t.getPathCount();s<n;s++)if(t.getPathSize(s)>0){const n=e.constructEmpty();if(t.queryPathEnvelope(s,n),_.isIntersecting(n)){const e=zn(p,t.getXY(t.getPathStart(s)),0);if(a(-1!==e),1===e)return!1}f||(!Wn(c,t.getPathCount()-1)||null!==m.getAccelerators()&&null!==m.getAccelerators().getQuadTree()?p=c:(c.copyTo(d),d.getImpl().buildQuadTreeAccelerator(1),p=d),f=!0)}return!0}return!1}function po(t,s,n){const r=e.constructEmpty();return r.setCoords({env2D:t}),r.inflateCoords(n,n),r.containsEnvelope(s)}function fo(t,s,n){const r=e.constructEmpty();return r.setCoords({env2D:s}),r.inflateCoords(n,n),t.containsExclusiveEnvelope(r)}function xo(t,s,n){const r=e.constructEmpty();return r.setCoords({env2D:s}),r.inflateCoords(n,n),!r.contains(t.getLowerLeft())||(!r.contains(t.getLowerRight())||(!r.contains(t.getUpperLeft())||!r.contains(t.getUpperRight())))}function yo(e,t,s,n){if(e.getPathCount()!==t.getPathCount()||e.getPointCount()!==t.getPointCount())return!1;if(e.hasNonLinearSegments()||t.hasNonLinearSegments())return e.equals(t);const r=new Qe,i=new Qe;let o=!0;const a=s*s;for(let h=0;h<e.getPathCount();h++){if(e.getPathEnd(h)!==t.getPathEnd(h)){o=!1;break}for(let s=e.getPathStart(h);s<t.getPathEnd(h);s++)if(e.queryXY(s,r),t.queryXY(s,i),Qe.sqrDistance(r,i)>a){o=!1;break}if(!o)break}return!!o}function Po(e,t,s,n){if(e.getPointCount()!==t.getPointCount())return!1;const r=new Qe,i=new Qe;let o=!0;const a=s*s;for(let h=0;h<e.getPointCount();h++)if(e.queryXY(h,r),t.queryXY(h,i),Qe.sqrDistance(r,i)>a){o=!1;break}return!!o}function Eo(e,t,s,n,r,i,o){const a=e.getImpl(),h=t.getImpl(),m=a.getPointCount(),l=h.getPointCount(),g=Ke(m,!1),u=r||i?Ke(l,!1):[],c=s*s,_=new Dr(a,h,s);for(;_.next();){const e=_.getRedElement(),t=_.getBlueElement(),s=a.getXY(e),n=h.getXY(t);Qe.sqrDistance(s,n)<=c&&(g[e]=!0,(r||i)&&(u[t]=!0))}let d=!1,p=!1;for(let y=0;y<m;y++){const e=g[y];if(d||=!e,p||=e,(r||n)&&d)return!1}if(n)return!0;let f=!1,x=!1;for(let y=0;y<l;y++){const e=u[y];if(f||=!e,x||=e,r&&f)return!1}return!!r||d&&p&&f&&x}function So(e,t,s,n){return Co(e,t,s,n)&&Co(t,e,s,n)}function Co(t,s,n,r){if(y(t),y(s),s.isEmpty())return!1;let o=!0;const a=Ke(2,Number.NaN),h=Ke(2,Number.NaN),m=[],l=new Ro;let g;const u=e.constructEmpty(),c=e.constructEmpty(),_=e.constructEmpty();t.queryEnvelope(u),s.queryEnvelope(c),u.inflateCoords(n,n),c.inflateCoords(n,n),_.setCoords({env2D:u}),_.intersect(c);const d=t.getImpl().querySegmentIterator(),p=s.getImpl().querySegmentIterator(),f=s.getImpl().getAccelerators();let x=null,P=null,E=null,S=null;if(null!==f&&(x=f.getQuadTree(),P=f.getQuadTreeForPaths(),null!==P&&(S=P.getIteratorForQT())),null===x){const e=t.getPointCount(),n=s.getPointCount();e>10&&n>10&&(x=Ve(s.getImpl(),_))}for(null!==x&&(E=x.getIteratorForQT());d.nextPath();)for(;d.hasNextSegment();){let e=d.nextSegment();if(e.queryEnvelope(u),!u.isIntersecting(_))return o=!1,!1;if(null!==S&&(S.resetIterator(u,n),-1===S.next()))continue;let t=0,s=null;if(null!=E)E.resetIterator(e,n);else if(p.resetToFirstPath(),!p.nextPath())return o=!1,!1;do{if(t=0,null!==E){const r=E.next();if(-1===r)return o=!1,!1;p.resetToVertex(x.getElement(r),-1),s=p.nextSegment(),t=e.intersect(s,null,a,h,n)}else{for(;!p.hasNextSegment();)if(!p.nextPath())return o=!1,!1;s=p.nextSegment(),s.queryEnvelope(c),c.inflateCoords(n,n),u.isIntersecting(c)&&(t=e.intersect(s,null,a,h,n))}}while(2!==t||0!==a[0]||r&&!(h[0]<=h[1]));let f=Number.NaN,y=!1;do{let r=!1;if(1===a[1]){if(!d.hasNextSegment()){y=!0;break}e=d.nextSegment(),r=!0}if(1===h[1]&&h[0]<=h[1]){if(-1===f)break;if(f=1,!p.hasNextSegment())break;s=p.nextSegment(),r=!0}if(0===h[1]&&h[0]>h[1]){if(1===f)break;if(Number.isNaN(f)){if(!p.hasPreviousSegment())break;p.previousSegment(),f=-1}if(!p.hasPreviousSegment())break;s=p.previousSegment(),r=!0}if(!r)break;t=e.intersect(s,null,a,h,n)}while(2===t&&(!r||h[0]<=h[1]));if(y)continue;const P=e.calculateLength2D();e.queryEnvelope(u),m.length=0,l.m_overlapEvents.length=0;let C=!1,I=!1,b=0;const w=le(null,u,!0);for(null!==E?E.resetIterator(e,n):(p.resetToFirstPath(),p.nextPath()||i("relational_operations"));;){if(t=0,null!==E){const r=E.next();if(-1===r)break;p.resetToVertex(x.getElement(r),-1),s=p.nextSegment(),t=e.intersect(s,null,a,h,n)}else{for(;!p.hasNextSegment()&&p.nextPath(););if(!p.hasNextSegment())break;s=p.nextSegment(),s.queryEnvelope(c),c.inflateCoords(n,n),u.isIntersecting(c)&&(t=e.intersect(s,null,a,h,n))}if(2===t&&(!r||h[0]<=h[1])){const e=d.getStartPointIndex(),t=d.getPathIndex(),s=p.getStartPointIndex(),r=p.getPathIndex();if(g=Yo(e,t,a[0],a[1],s,r,h[0],h[1]),l.m_overlapEvents.push(g),m.push(m.length),!(C||g.m_scalarA0<b&&g.m_scalarA1<b))if(0===b&&P*(g.m_scalarA0-b)>n)C=!0;else if(0!==b&&P*(g.m_scalarA0-b)>w)C=!0;else if(b=g.m_scalarA1,P*(1-b)<=n||1===b){I=!0;break}}}if(!I){if(!C)return o=!1,!1;m.length>1&&m.sort(((e,t)=>l.compareOverlapEvents(e,t))),b=0;for(let e=0;e<l.m_overlapEvents.length;e++)if(g=l.m_overlapEvents[m[e]],!(g.m_scalarA0<b&&g.m_scalarA1<b)){if(0===b&&P*(g.m_scalarA0-b)>n)return o=!1,!1;if(0!==b&&P*(g.m_scalarA0-b)>w)return o=!1,!1;if(b=g.m_scalarA1,P*(1-b)<=n||1===b)break}if(P*(1-b)>n)return o=!1,!1;m.length=0,l.m_overlapEvents.length=0}}return o}function Io(e,t,s){const n=e.getImpl(),r=t.getImpl(),i=n.querySegmentIterator(),o=r.querySegmentIterator(),a=new Dr(n,r,s);for(;a.next();){const e=a.getRedElement(),t=a.getBlueElement();i.resetToVertex(e,-1),o.resetToVertex(t,-1);const n=i.nextSegment();if(o.nextSegment().isIntersecting(n,s))return!0}return!1}function bo(e,t,s,n){const r=e.getImpl(),i=t.getImpl(),o=r.querySegmentIterator(),a=i.querySegmentIterator(),h=Ke(2,Number.NaN),m=new Dr(r,i,s);let l=!1,g=-1;for(;m.next();){const e=m.getRedElement(),t=m.getBlueElement();o.resetToVertex(e,-1),a.resetToVertex(t,-1);const r=o.nextSegment(),i=a.nextSegment();let u=0;if(Oo(r,i)){if(i.isIntersecting(r,s))return-2}else u=r.intersect(i,null,h,null,s);if(u)if(2===u){const e=r.calculateLength2D(),t=h[0];if(e*(h[1]-t)>s)return g=1,g;l=!0}else if(g=0,n){const e=h[0],t=new Qe;r.queryCoord2D(e,t),n.push(t.x),n.push(t.y)}}return l?-2:g}function wo(e,t,s,n){const r=e.getImpl(),i=t,o=i.getPointCount(),a=n?Ke(o,!1):[],h=new Dr(r,i,s,!1),m=r.querySegmentIterator();for(;h.next();){const e=h.getRedElement(),t=h.getBlueElement();m.resetToVertex(e,-1);const r=m.nextSegment(),o=i.getXY(t);if(r.isIntersectingPoint(o,s)){if(!n)return!0;a[t]=!0}}if(!n)return!1;for(let l=0;l<o;l++)if(!a[l])return!1;return!0}function vo(t,s,n){const r=new Qe,i=n*n,o=t.querySegmentIterator(),a=t.getImpl().getAccelerators();if(null!==a){const t=a.getQuadTree();if(null!==t){const a=e.constructEmpty();a.setCoords({pt:s});const h=t.getIterator(a,n);for(let e=h.next();-1!==e;e=h.next())if(o.resetToVertex(t.getElement(e),-1),o.hasNextSegment()){const e=o.nextSegment(),t=e.getClosestCoordinate(s,!1);if(e.queryCoord2D(t,r),Qe.sqrDistance(s,r)<=i)return!0}return!1}}const h=e.constructEmpty();for(;o.nextPath();)for(;o.hasNextSegment();){const e=o.nextSegment();if(e.queryEnvelope(h),h.inflateCoords(n,n),!h.contains(s))continue;const t=e.getClosestCoordinate(s,!1);if(e.queryCoord2D(t,r),Qe.sqrDistance(s,r)<=i)return!0}return!1}function No(e,t,s){return vo(e,t,s)&&!qo(e,t,s)}function To(t,s,r,i){const o=t.querySegmentIterator(),a=t.getImpl().getAccelerators(),h=t.hasNonLinearSegments();let m=null,l=null,g=null,u=null;if(null!==a){const t=a.getQuadTree();if(null!==t){const i=t.getIterator(s,r);h&&(m=new H,l=new H,g=new H,u=new H,s.querySide(0,m),s.querySide(1,l),s.querySide(2,g),s.querySide(3,u));const a=e.constructEmpty();a.setCoords({env2D:s}),a.inflateCoords(r,r);for(let e=i.next();-1!==e;e=i.next())if(o.resetToVertex(t.getElement(e),-1),o.hasNextSegment()){const e=o.nextSegment();if(e.getGeometryType()===n.enumLine){const t=e.getStartXY(),s=e.getEndXY();if(a.clipLine(t,s))return!0;continue}if(s.contains(e.getStartXY())||s.contains(e.getEndXY()))return!0;if(e.isIntersecting(m,r))return!0;if(e.isIntersecting(l,r))return!0;if(e.isIntersecting(g,r))return!0;if(e.isIntersecting(u,r))return!0}return!1}}if(h){m=new H,l=new H,g=new H,u=new H,s.querySide(0,m),s.querySide(1,l),s.querySide(2,g),s.querySide(3,u);const e=t.querySegmentIterator();for(;e.nextPath();)for(;e.hasNextSegment();){const t=e.nextSegment();if(s.contains(t.getStartXY())||s.contains(t.getEndXY()))return!0;if(t.isIntersecting(m,r))return!0;if(t.isIntersecting(l,r))return!0;if(t.isIntersecting(g,r))return!0;if(t.isIntersecting(u,r))return!0}}else{const n=e.constructEmpty();n.setCoords({env2D:s}),n.inflateCoords(r,r);const i=t.getImpl(),o=i.getAttributeStreamRef(0),a=new Qe;for(let e=0,t=i.getPathCount();e<t;e++){let t=!0;const s=new Qe,r=new Qe,h=new Qe,m=i.getPathStart(e),l=new Qe;for(let g=m,u=i.getPathEnd(e);g<u;g++)if(t)o.queryPoint2D(2*g,s),l.assign(s),t=!1;else{if(o.queryPoint2D(2*g,a),r.setCoordsPoint2D(s),h.setCoordsPoint2D(a),n.clipLine(r,h))return!0;s.assign(a)}if(i.isClosedPath(e)&&!t&&(r.setCoordsPoint2D(s),h.setCoordsPoint2D(l),n.clipLine(r,h)))return!0}}return!1}function Go(t,s,n,r){const i=t.getImpl(),o=s.getImpl(),a=[0],h=Te(i.getIsSimple(0,a))&&Te(o.getIsSimple(0,a)),m=i.querySegmentIterator(),l=o.querySegmentIterator(),g=Ke(2,0),u=Ke(2,0),c=new Dr(i,o,n);let _=!1;for(;c.next();){const e=c.getRedElement(),t=c.getBlueElement();m.resetToVertex(e,-1),l.resetToVertex(t,-1);const s=m.nextSegment(),r=l.nextSegment();let i=0;if(Oo(s,r)){if(r.isIntersecting(s,n)){_=!0;break}}else i=r.intersect(s,null,u,g,n);if(2===i){const e=g[0],t=g[1],r=s.calculateLength2D();if(h&&(t-e)*r>n)return!1;_=!0}else if(i){const e=g[0],t=u[0];if(e>0&&e<1&&t>0&&t<1)return!1;_=!0}}if(!_)return!1;const d=e.constructEmpty(),p=e.constructEmpty(),f=e.constructEmpty();let x,y;if(t.queryEnvelope(d),s.queryEnvelope(p),d.inflateCoords(1e3*n,1e3*n),p.inflateCoords(1e3*n,1e3*n),f.setCoords({env2D:d}),f.intersect(p),t.getPointCount()>10){if(x=Zt(t,f,n,0,r),x.isEmpty())return!1}else x=t;if(s.getPointCount()>10){if(y=Zt(s,f,n,0,r),y.isEmpty())return!1}else y=s;return sr(x,y,n,"F********",r,!1)}function Do(t,s,n,r){const i=t.getImpl(),o=s.getImpl(),a=[0],h=Te(i.getIsSimple(0,a))&&Te(o.getIsSimple(0,a)),m=e.constructEmpty(),l=e.constructEmpty(),g=e.constructEmpty();t.queryEnvelope(m),s.queryEnvelope(l);let u=!1;const c=xo(m,l,n),_=xo(l,m,n),d=i.querySegmentIterator(),p=o.querySegmentIterator(),f=Ke(2,Number.NaN),x=Ke(2,Number.NaN),y=new Dr(i,o,n);for(;y.next();){const e=y.getRedElement(),t=y.getBlueElement();d.resetToVertex(e,-1),p.resetToVertex(t,-1);const s=d.nextSegment(),r=p.nextSegment();let i=0;if(Oo(s,r)){if(r.isIntersecting(s,n))break}else i=r.intersect(s,null,x,f,n);if(2===i){const e=f[0],t=f[1],r=s.calculateLength2D();if(h&&(t-e)*r>n&&(u=!0,c&&_))return!0}else if(i){const e=f[0],t=x[0];if(e>0&&e<1&&t>0&&t<1)return!0}}const P=e.constructEmpty(),E=e.constructEmpty();let S,C;P.setCoords({env2D:m}),P.inflateCoords(1e3*n,1e3*n),E.setCoords({env2D:l}),E.inflateCoords(1e3*n,1e3*n),g.setCoords({env2D:P}),g.intersect(E);let I="";if(I+=u?"**":"T*",c){if(s.getPointCount()>10){if(C=Zt(s,g,n,0,r),C.isEmpty())return!1}else C=s;I+="****"}else C=s,I+="T***";if(_){if(t.getPointCount()>10){if(S=Zt(t,g,n,0,r),S.isEmpty())return!1}else S=t;I+="***"}else S=t,I+="T**";return sr(S,C,n,I,r,!1)}function Vo(t,s,n,r){const i=[!1],o=_o(t,s,n,i);if(i[0])return o;const a=e.constructEmpty();let h;if(s.queryEnvelope(a),a.inflateCoords(1e3*n,1e3*n),t.getPointCount()>10){if(h=Zt(t,a,n,0,r),h.isEmpty())return!1}else h=t;return nr(h,s,n,r)}function Fo(t,s,n,r){const i=t.getImpl(),o=s.getImpl(),a=i.querySegmentIterator(),h=o.querySegmentIterator(),m=Ke(2,Number.NaN),l=Ke(2,Number.NaN),g=new Dr(i,o,n);let u=!1;for(;g.next();){const e=g.getRedElement(),t=g.getBlueElement();a.resetToVertex(e,-1),h.resetToVertex(t,-1);const s=a.nextSegment(),r=h.nextSegment();let i=0;if(Oo(s,r)?!u&&r.isIntersecting(s,n)&&(u=!0):i=r.intersect(s,null,l,m,n),2===i)u=!0;else if(i){const e=m[0],t=l[0];if(e>0&&e<1&&t>0&&t<1)return!1;u=!0}}if(!u)return!1;const c=e.constructEmpty(),_=e.constructEmpty(),d=e.constructEmpty();let p,f;if(t.queryEnvelope(c),s.queryEnvelope(_),c.inflateCoords(1e3*n,1e3*n),_.inflateCoords(1e3*n,1e3*n),d.setCoords({env2D:c}),d.intersect(_),t.getPointCount()>10){if(p=Zt(t,d,n,0,r),p.isEmpty())return!1}else p=t;if(s.getPointCount()>10){if(f=Zt(s,d,n,0,r),f.isEmpty())return!1}else f=s;return sr(p,f,n,"F********",r,!1)}function Ho(t,s,n,r){const i=t.getImpl(),o=s.getImpl(),a=i.querySegmentIterator(),h=o.querySegmentIterator(),m=Ke(2,Number.NaN),l=Ke(2,Number.NaN),g=new Dr(i,o,n);let u=!1;for(;g.next();){const e=g.getRedElement(),t=g.getBlueElement();a.resetToVertex(e,-1),h.resetToVertex(t,-1);const s=a.nextSegment(),r=h.nextSegment();let i=0;if(Oo(s,r)?!u&&r.isIntersecting(s,n)&&(u=!0):i=r.intersect(s,null,l,m,n),2===i)u=!0;else if(i){const e=m[0],t=l[0];if(e>0&&e<1&&t>0&&t<1)return!0;u=!0}}if(!u)return!1;const c=e.constructEmpty(),_=e.constructEmpty(),d=e.constructEmpty(),p=e.constructEmpty(),f=e.constructEmpty();if(t.queryEnvelope(c),s.queryEnvelope(_),xo(_,c,n)){let e,i;if(d.setCoords({env2D:c}),d.inflateCoords(1e3*n,1e3*n),p.setCoords({env2D:_}),p.inflateCoords(1e3*n,1e3*n),f.setCoords({env2D:d}),f.intersect(p),t.getPointCount()>10){if(e=Zt(t,f,n,0,r),e.isEmpty())return!1}else e=t;if(s.getPointCount()>10){if(i=Zt(s,f,n,0,r),i.isEmpty())return!1}else i=s;return sr(e,i,n,"T********",r,!1)}return sr(t,s,n,"T*****T**",r,!1)}function ko(t,s,n,r){const i=[!1],o=_o(t,s,n,i);if(i[0])return o;const a=e.constructEmpty();let h;if(s.queryEnvelope(a),a.inflateCoords(1e3*n,1e3*n),t.getPointCount()>10){if(h=Zt(t,a,n,0,r),h.isEmpty())return!1}else h=t;return rr(h,s,n,r)}function Ao(e,t,s,n){return 1===Lo(e,t,s)}function Mo(e,t,s,n){return 2===Lo(e,t,s)}function Uo(e,t,s,n){const r=new Qe,i=s*s;for(let o=0;o<e.getPointCount();o++)if(e.queryXY(o,r),Qe.sqrDistance(r,t)<=i)return!1;return!0}function qo(e,t,s){const n=e.getBoundary();return!n.isEmpty()&&!Uo(n,t,s)}function Bo(t,s,n){const r=e.constructEmpty();return r.setCoords({env2D:t}),r.inflateCoords(n,n),r.containsEnvelope(s)?1073741824:r.isIntersecting(s)?t.isIntersecting(s)?t.xmin<s.xmin&&s.xmax<t.xmax?s.ymin<t.ymin&&s.ymax>t.ymax?0:1073741824:t.ymin<s.ymin&&s.ymax<t.ymax?s.xmin<t.xmin&&s.xmax>t.xmax?0:1073741824:0:0:4}function Oo(e,t){return e.getGeometryType()!==n.enumLine||t.getGeometryType()!==n.enumLine}function Yo(e,t,s,n,r,i,o,a){return{m_ivertexA:e,m_ipathA:t,m_scalarA0:s,m_scalarA1:n,m_ivertexB:r,m_ipathB:i,m_scalarB0:o,m_scalarB1:a}}class Ro{constructor(){this.m_overlapEvents=[]}compareOverlapEvents(e,t){const s=this.m_overlapEvents[e],n=this.m_overlapEvents[t];if(s.m_ipathA<n.m_ipathA)return-1;if(s.m_ipathA===n.m_ipathA){if(s.m_ivertexA<n.m_ivertexA)return-1;if(s.m_ivertexA===n.m_ivertexA){if(s.m_scalarA0<n.m_scalarA0)return-1;if(s.m_scalarA0===n.m_scalarA0){if(s.m_scalarA1<n.m_scalarA1)return-1;if(s.m_scalarA1===n.m_scalarA1&&s.m_ivertexB<n.m_ivertexB)return-1}}}return 1}}function Xo(e,t,s){const n=Ln(e,t,s);return n?1===n?1:2:0}function Lo(e,t,s){const n=zn(e,t,s);return n?1===n?1:2:0}function zo(e,t,s,n,r){for(let i=0;i<s;i++)r[i]=Lo(e,t[i],n)}function Wo(t,s,r,i,o){if(t.getGeometryType()===n.enumPolygon)zo(t,s,r,i,o);else if(t.getGeometryType()===n.enumEnvelope){const n=e.constructEmpty();t.queryEnvelope(n),Zo(n,s,r,i,o)}else c("")}function jo(e,t,s,i,o){const a=e.getGeometryType();a===n.enumPolyline?$o(e,t,s,i,o):r(a)?Jo():c("")}function Zo(e,t,s,n,r){if(e.isEmpty()){for(let e=0;e<s;e++)r[e]=0;return}const i=e.clone();i.inflateCoords(.5*-n,.5*-n);const o=e.clone();o.inflateCoords(.5*n,.5*n);for(let a=0;a<s;a++)i.contains(t[a])?r[a]=1:o.contains(t[a])?r[a]=2:r[a]=0}function Ko(e){if(e.isEmpty())return 0;switch(e.getGeometryType()){case n.enumMultiPoint:return e.getImpl().getPointCount();case n.enumPolyline:return e.getImpl().getPathCount();case n.enumPolygon:return e.getImpl().getOGCPolygonCount();case n.enumGeometryCollection:return e.getGeometryCount()}return 1}function Qo(e,t,s){if(s.reset(),t<3)return;const n=e[0].clone(),r=n.x,i=n.y,o=e[1].clone(),a=new Qe;for(let h=2;h<t;h++)a.assign(e[h]),s.pe((a.x-n.x)*(o.y-i)),n.assign(o),o.assign(a);s.pe((r-n.x)*(o.y-i))}function Jo(e,t,s,n,r){a(0)}function $o(t,s,n,r,i){const o=t.getImpl(),h=o.getAccelerators();let m=null;h&&(m=h.getRasterizedGeometry());let l=n;for(let e=0;e<n;e++)i[e]=1,m&&a(0);if(l){if(h){let t=null;null!==h&&null!==h.getQuadTree()&&(t=h.getQuadTree());const a=o.getPointCount();if(null===t&&a>20&&a*n>4*a+Math.log(a)*n&&(t=Ve(o)),t){let a=null;const h=o.querySegmentIterator(),m=new e;for(let e=0;e<n&&l;e++)if(1===i[e]){m.setCoords(s[e]),null===a?a=t.getIterator(m,r):a.resetIterator(m,r);let n=-1;for(let o=a.next();-1!==o;o=a.next()){h.resetToVertex(t.getElement(o),n),n=h.getPathIndex();if(h.nextSegment().isIntersectingPoint(s[e],r)){i[e]=2,l--;break}i[e]=0}}return}}const t=o.querySegmentIterator();for(;t.nextPath()&&l;)for(;t.hasNextSegment()&&l;){const e=t.nextSegment();for(let t=0;t<n&&l;t++)1===i[t]&&e.isIntersectingPoint(s[t],r)&&(i[t]=2,l--)}}for(let e=0;e<n;e++)1===i[e]&&(i[e]=0)}function ea(e,t,s,n,r){const i=K(t),o=Math.max(4*i,s);return new oa(t,null,o,Number.NaN,r).approximateWithCirclesImpl(e,n)}function ta(){return Number.isNaN(this.radius.value())}function sa(){return{ptStart:new Qe,ptEnd:new Qe,center:new J,radius:new At,fcenter:new se,fradius2:new Vt,maxError:Number.NaN,isLine:ta}}const na=5,ra=1/8;function ia(e,t,s,n){return{pt:e.clone(),t,err:s,checkCount:n}}class oa{constructor(e,t,s,n,r){this.m_left=e,this.m_tracker=r,this.m_eps=s,this.m_trackerCounter=0,this.m_tolerance=n,this.m_circleCheckCounter=0,this.m_bReversedLeft=!1,this.m_leftArc=sa()}closeToCircularArc(e,t,s,n,r,i){if(this.m_circleCheckCounter++,i.maxError=0,!oa.checkSweepAngle(e,t))return!1;if(i.ptStart.setCoordsPoint2D(s),i.ptEnd.setCoordsPoint2D(r),e.isCircular()){const t=e;return i.fradius2=Vt.constructDouble(t.getSemiMajorAxis()).mulDouble(t.getSemiMajorAxis()),i.radius.set(t.getSemiMajorAxis()),i.fcenter.assignPoint2D(t.getCenter()),i.center.set(t.getCenter()),!0}const o=i.ptEnd.sub(i.ptStart).clone();o.leftPerpendicularThis(),o.normalize();if(Math.abs(o.dotProduct(n.sub(i.ptStart)))<=this.m_eps)return!!this.confirmIsLine(i,o)&&(i.radius.set(Number.NaN),i.center.setCoords(0,0),!0);{const s=i.ptEnd.sub(i.ptStart),r=n.sub(i.ptStart),o=s.crossProduct(r);if(0===o)return!1;const a=.5*s.sqrLength(),h=.5*r.sqrLength();let m=a*r.y-h*s.y;m/=o;let l=s.x*h-r.x*a;l/=o;const g=Math.sqrt(m*m+l*l);if(4*Number.EPSILON*g>this.m_eps)return!1;const u=m+i.ptStart.x,c=l+i.ptStart.y;i.radius.set(g),i.center.setCoords(u,c);const _=this.maxCircleApproximationError(e,t,i);if(_>this.m_eps)return i.maxError=_,!1}const a=(new se).assignPoint2D(i.ptStart),h=(new se).assignPoint2D(i.ptEnd).sub(a),m=(new se).assignPoint2D(n).sub(a),l=h.crossProduct(m);if(l.isZero())return!1;const g=h.sqrLength().mulDouble(.5),u=m.sqrLength().mulDouble(.5),c=g.mul(m.y).sub(u.mul(h.y)),_=h.x.mul(u).sub(m.x.mul(g)),d=c.mul(c).add(_.mul(_)),p=l.clone();p.invertThis(),i.fradius2=d.mul(p).mul(p),i.fcenter.setCoords(c.mul(p).add(a.x),_.mul(p).add(a.y)),i.center.setWithEps(i.fcenter.asPoint2D()),i.radius.setWithEps(Math.sqrt(i.fradius2.toDouble()));const f=J.constructPoint2D(i.ptStart).subE(i.center),x=J.constructPoint2D(i.ptEnd).subE(i.center);if(!f.dotProduct(x).gt(Ft))return!1;const y=this.maxCircleApproximationError(e,t,i);return i.maxError=y,y<=this.m_eps}static checkSweepAngle(e,t){if(e.getGeometryType()===n.enumEllipticArc){const s=e,n=ne(s,t.vmin),r=ne(s,t.vmax);return!(Math.abs(r-n)>.5*Ct)}return!0}confirmIsLine(e,t){const s=e.ptEnd.sub(e.ptStart);return!(Math.abs(t.dotProduct(s.mul(.25)))>this.m_eps)&&!(Math.abs(t.dotProduct(s.mul(.75)))>this.m_eps)}maxCircleApproximationError(e,t,s){const r=[.25,.75],i=[.1,.25,.75,.9];let o,a;e.getGeometryType()===n.enumEllipticArc?(o=r,a=r.length):(o=i,a=i.length);let h=0;for(let n=0;n<a;++n){const r=new Qe;e.queryCoord2D(ft(t.vmin,t.vmax,o[n]),r);const i=r.sub(s.center.value()).length(),a=Math.abs(i-s.radius.value());a>h&&(h=a)}return h}approximateWithCirclesImpl(e,t){let s=1;t&&t.push(0);const n=Ke(9,Number.NaN);let r;e?r=this.m_left.getMonotonicPartParams(n.length,n):(n[0]=0,n[1]=1,r=2);const i=[],o=[],a=new Qe(0,0);for(let h=1;h<r;h++){const e=new at(n[h-1],n[h]);for(this.m_bReversedLeft=!oa.goodOrientation(this.m_left,e),this.m_bReversedLeft?(i.push(ia(a,e.vmin,0,0)),i.push(ia(a,e.vmax,0,0))):(i.push(ia(a,e.vmax,0,0)),i.push(ia(a,e.vmin,0,0))),i[0].pt=this.m_left.getCoord2D(i[0].t),i[1].pt=this.m_left.getCoord2D(i[1].t);i.length>1;){this.progress_();const e=i.at(-1);let n=e.checkCount,r=e.err;const a=e.pt.clone(),h=e.t,m=i[i.length-2].t,l=.5*(h+m),g=this.m_left.getCoord2D(l);if(r<=this.m_eps||n>=na){const e=new at;if(e.setCoords(h,m),this.closeToCircularArc(this.m_left,e,a,g,i[i.length-2].pt,this.m_leftArc)){t&&(this.m_bReversedLeft?o.push(h):t.push(m)),s++,i.pop();continue}n=0,r=this.m_leftArc.maxError}e.t=l,e.pt.setCoordsPoint2D(g),r*=ra,n++,e.err=r,e.checkCount=n,i.push(ia(a,h,r,n))}this.m_bReversedLeft&&t&&(t.length=t.length+o.length,wt(t,o.reverse(),t.length-o.length,0,o.length),o.length=0),i.length=0}return s}approximateWithCirclesImplPolyline(e){const t=new I,s=[];if(!this.approximateWithCirclesImpl(!0,s))return t;let n=0;const r=this.m_left.getStartXY();t.startPath(r);for(let i=1;i<s.length;++i)if(e)t.lineTo(this.m_left.getCoord2D(s[i]));else{const e=new Qe;this.m_left.queryCoord2D(s[i],e);const o=new Qe;this.m_left.queryCoord2D(.5*(s[i]+n),o);const a=new R;a.constructCircularArcThreePoint(r,e,o),t.addSegment(a,!1),r.assign(e),n=s[i]}return t}static goodOrientation(e,t){const s=e.getCoord2D(t.vmin),n=e.getCoord2D(t.vmax);return s.compare(n)<0}progress_(e=!1){}}function aa(e,t,s,n,r,i,o){ma(e,t,s,r,i,o),Ca(e,s,o)}function ha(e,t,s,r){if(!o(e.getGeometryType()))return e;const i=e.getImpl();if(!i.hasNonLinearSegments())return e;const a=e.createInstance();if(a.getGeometryType()===n.enumPolygon){a.setFillRule(e.getFillRule())}new G;const h=new fe,m=new F,l=[],g=[],u=[],c=e.getDescription().getAttributeCount()>1,_=i.querySegmentIterator();for(;_.nextPath();){let e=!0;for(;_.hasNextSegment();){const r=_.isClosingSegment(),i=_.nextSegment();if(!i.isCurve()){a.addSegment(i,e,r),e=!1;continue}let o,d=!1;const p=!0,f=!0;switch(i.getGeometryType()){case n.enumEllipticArc:case n.enumRationalBezier2:o=A(i,t,s,p,f,g,u,l),d=!0;break;default:o=k(i,t,s,!0,p,g,l)}const x=d?2:3;g[1].isNAN()?(m.createLine(),m.get().construct(g[0],g[x])):d?(m.createQuadraticRationalBezier(),m.get().constructArrayWeights(g,u)):(m.createCubicBezier(),m.get().constructPoints(g)),c&&e&&(i.queryCoord(l[0],h),m.get().setStart(h)),c&&(i.queryCoord(l[1],h),m.get().setEnd(h)),a.addSegment(m.get(),e,r&&1===o),e=!1;for(let e=1,t=o,s=x;e<t;++e,s+=x)g[s+1].isNAN()?(m.createLine(),m.get().construct(g[s],g[s+x])):d?(m.createQuadraticRationalBezier(),m.get().constructArrayWeights(g.slice(s),u.slice(s))):(m.createCubicBezier(),m.get().constructPoints(g.slice(s))),c&&(i.queryCoord(l[e+1],h),m.get().setEnd(h)),a.addSegment(m.get(),!1,r&&e+1===t)}}return a}function ma(e,t,s,n,r,i){e.hasCurves()?(e.setCurveStitcherPointer(n),n.m_impl=new xa(i,!1,null),n.m_impl.buildMonotonicCurveParentage(e,t,s,r)):n.m_impl=null}function la(e,t,s,n,r,i,o,a){e.hasCurves()?(e.setCurveStitcherPointer(i),i.m_impl=new xa(a,!0,r),i.m_impl.buildMonotonicCurveParentage(e,t,s,o),Ca(e,s,a)):i.m_impl=null}function ga(e){if(!e.hasSegmentParentage())return;const t=e.queryVertexIteratorOnSelection();for(let s=t.next();s!==M;s=t.next())if(!e.getSegmentParentageBreakVertex(s)){e.getPathFromVertex(s);const t=e.getPrevVertex(s),n=t!==M?e.getSegmentParentage(t):-1,r=e.getSegmentParentage(s);-1!==r&&-1!==n&&r!==n&&e.setSegmentParentageBreakVertex(s,!0)}}function ua(e){if(!e.hasSegmentParentage())return;ga(e);const t=new Ce(0),s=e.queryVertexIteratorOnSelection();for(let o=s.next();o!==M;o=s.next())t.add(o);if(0===t.size())return;e.sortVerticesSimpleByY(t,0,t.size()),t.add(M);const n=Qe.getNAN();e.queryXY(t.read(0),n);let r=0;const i=Qe.getNAN();for(let o=1,a=t.size();o<a;o++){{const s=t.read(o);s!==M?e.queryXY(s,i):i.setNAN()}if(!i.isEqualPoint2D(n)){if(o-r>1){let s=!1;for(let n=r;n<o;++n){const r=t.read(n);if(e.getSegmentParentageBreakVertex(r)){s=!0;break}}if(!s){const n=(t,s,n)=>{const r=e.getPrevVertex(t),i=e.getNextVertex(t);r!==M?s.assign(e.getXY(r)):s.setNAN(),i!==M?n.assign(e.getXY(i)):n.setNAN()},i=new Qe,a=new Qe;n(t.read(r),i,a);for(let e=r+1;e<o;++e){const r=t.read(e);if(r===M)continue;const o=new Qe,h=new Qe;n(r,o,h);const m=(e,t)=>!!(e.equals(t)||e.isNAN()&&t.isNAN());if(!(m(o,i)&&m(h,a)||m(h,i)&&m(o,a))){s=!0;break}}}if(s)for(let n=r;n<o;++n)e.setSegmentParentageBreakVertex(t.read(n),!0)}n.setCoordsPoint2D(i),r=o}}}function ca(e,t){let s=t.isEmpty()?e:de(null,t,!0).total();return s>e&&(s=e),.125*s}function _a(t,s){return s||(s=e.constructEmpty()),ca(t,s)}function da(e,t){return.125*e}function pa(e,t){return 3*e+3*t}class fa{constructor(){this.m_impl=null}stitchCurves(e,t,s,n){this.m_impl&&(this.m_impl.stitchCurves(e,t,s),n&&this.clearStitcher(e))}clearStitcher(e){this.m_impl&&(this.m_impl.clearStitcher(e),this.m_impl=null)}getOriginalVertexIndex(e,t){return this.m_impl.getOriginalVertexIndex(e,t)}getOriginalSegmentTypeInfo(e){return this.m_impl.getOriginalSegmentTypeInfo(e)}}class xa{constructor(e,t,s){this.m_originalPlanarSegments=[],this.m_progressTracker=null,this.m_nsr=null,this.m_progressTracker=e,this.m_nsr=s,this.m_tolerance=0,this.m_originalVertexIndex=-1,this.m_type=1,this.m_progressCounter=0,this.m_bIsSimple=t,this.m_densificationDeviation=NaN,this.m_maxSegmentsPerCurve=-1}buildMonotonicCurveParentage(e,t,s,r){const i=!1,o=!0;if(!e.hasCurves())return;a(!e.hasSegmentParentage()),this.m_originalPlanarSegments.length=0,this.m_bIsSimple&&(this.m_originalVertexIndex=e.createUserIndex()),this.m_tolerance=s;const h=new fe,m=new F,l=[],g=[],u=[];for(let c=e.getFirstGeometry();c!==M;c=e.getNextGeometry(c))for(let r=e.getFirstPath(c);r!==M;r=e.getNextPath(r)){let c=e.getPathSize(r),_=e.getFirstVertex(r),d=0,p=-1;for(let f=0;f<c;f++){let x=e.getNextVertex(_);if(!e.querySegment(_,m,!0,!1)){_=x;continue}if(0===d){p=e.getVertexIndex(_);const t=xa.regularizeCurve(e,m.get(),_,s);if(t>=0){this.m_nsr&&0===this.m_nsr.m_reason&&this.m_nsr.assign(new ts(13,p,-1)),d=t,c=e.getPathSize(r),x=e.getNextVertex(_);const s=e.querySegment(_,m,!0,!1);a(s)}}else d--;const y=e.getVertexIndex(_);let P;-1!==this.m_originalVertexIndex&&e.setUserIndex(_,this.m_originalVertexIndex,p),e.setSegmentToIndex(y,null);let E=!1;switch(m.get().getGeometryType()){case n.enumEllipticArc:case n.enumRationalBezier2:P=A(m.get(),t,s,i,o,g,u,l),E=!0;break;default:{const e=!this.m_bIsSimple||!m.get().isMonotoneQuickAndDirty();P=k(m.get(),t,s,e,i,g,l)}}const S=this.m_originalPlanarSegments.length;if(e.setSegmentParentageAndBreak(_,S,!0),!g[1].isNAN()){let t=null;t=E?new O({points:g,weights:u}):new B({cp:g}),t.snapControlPoints(s*s),e.setSegmentToIndex(y,t)}const C=E?2:3;for(let t=1,n=P,i=C;t<n;++t,i+=C){m.get().queryCoord(l[t],h);const n=e.insertVertex(r,x,h);if(-1!==this.m_originalVertexIndex&&e.setUserIndex(n,this.m_originalVertexIndex,p),!g[i+1].isNAN())if(E){const t=new O({points:g.slice(i),weights:u.slice(i)});t.snapControlPoints(s*s),e.setSegmentToIndex(e.getVertexIndex(n),t)}else{const t=new B({cp:g.slice(i)});t.snapControlPoints(s*s),e.setSegmentToIndex(e.getVertexIndex(n),t)}e.setSegmentParentageAndBreak(n,S,!1)}P>1&&(f+=P-1,c=e.getPathSize(r)),this.m_originalPlanarSegments.push(m.releaseSegment()),_=x}}}buildLinearSegmentParentage(e,t,s,n,r){if(this.m_type=0,this.m_densificationDeviation=t,this.m_maxSegmentsPerCurve=n,!e.hasCurves())return;a(!e.hasSegmentParentage()),this.m_tolerance=s,this.m_originalPlanarSegments=[],this.m_bIsSimple&&(this.m_originalVertexIndex=e.createUserIndex());const i=new fe,o=new F,h=new Y(0,t,0,this.m_progressTracker,!1,n),m=[];for(let l=e.getFirstGeometry();l!==M;l=e.getNextGeometry(l))for(let t=e.getFirstPath(l);t!==M;t=e.getNextPath(t)){let n=e.getPathSize(t),r=e.getFirstVertex(t);for(let l=0;l<n;l++){let l=e.getNextVertex(r);if(!e.querySegment(r,o,!0,!1)){r=l;continue}if(xa.regularizeCurve(e,o.get(),r,s)>=0){n=e.getPathSize(t),l=e.getNextVertex(r);const s=e.querySegment(r,o,!0,!1);a(s)}const g=e.getVertexIndex(r);-1!==this.m_originalVertexIndex&&e.setUserIndex(r,this.m_originalVertexIndex,g),e.setSegmentToIndex(g,null),m.length=0,h.densifySegment(o.get(),m),this.progress_();const u=this.m_originalPlanarSegments.length;e.setSegmentParentageAndBreak(r,u,!0);for(let s=1,n=m.length-1;s<n;++s){o.get().queryCoord(m[s],i);const n=e.insertVertex(t,l,i);e.setSegmentParentageAndBreak(n,u,!1),-1!==this.m_originalVertexIndex&&e.setUserIndex(n,this.m_originalVertexIndex,g)}this.m_originalPlanarSegments.push(o.releaseSegment()),r=l}}e.clearSegments()}stitchCurves(e,t,s){xa.st_stitchCurvesImpl(this,e,t,s,!1)}clearStitcher(e){this.m_originalPlanarSegments.length=0,-1!==this.m_originalVertexIndex&&(e.removeUserIndex(this.m_originalVertexIndex),this.m_originalVertexIndex=-1),e.deleteSegmentParentage()}static st_verifyParentage(e){xa.st_stitchCurvesImpl(null,e,M,0,!0)}getOriginalVertexIndex(e,t){return-1!==this.m_originalVertexIndex&&t!==M?e.getUserIndex(t,this.m_originalVertexIndex):-1}getOriginalSegmentTypeInfo(e){if(-1!==e){const t=this.m_originalPlanarSegments[e];switch(t.getGeometryType()){case n.enumEllipticArc:return 0===t.projectionBehavior()?0:1;case n.enumBezier:return 2;case n.enumBezier2:return 3;case n.enumLine:return-1;case n.enumRationalBezier2:return 4;default:u("")}}return-1}progress_(e=!1){this.m_progressCounter++}processSpanSmartTe_(e,t,s,n,r,i,o){if(t===s&&0===n)return a(e.getNextVertex(t)===M),e.setSegmentToIndex(e.getVertexIndex(t),null),void e.setSegmentParentageAndBreak(t,-1);const h=e.getNextVertex(t),m=e.getXY(t),l=e.getXY(s);let g,u=0;{let t=2,r=m;for(let n=h;n!==s;n=e.getNextVertex(n)){const s=e.getXY(n);u+=Qe.distance(s,r),r=s,t++}u+=Qe.distance(l,r),a(t===n)}if(null===r)return e.setSegmentToIndex(e.getVertexIndex(t),null),void e.removeVertices(h,s);const c=o;let _=r.getClosestCoordinate(m,!1),d=r.getClosestCoordinate(l,!1);const p=r.calculateLength2D();let f=r.tToLength(_),x=r.tToLength(d);const y=Math.abs(f)>10*c&&Math.abs(f-p)>10*c,P=Math.abs(x)>10*c&&Math.abs(x-p)>10*c,E=e=>{const t=e.calculateLength2D();return Math.abs(t-u)>Math.max(.2*u,4*c)?null:e};let S=r.isClosed();if(!S){const e=Qe.distance(r.getStartXY(),r.getEndXY());e<=c&&p>5*e&&(S=!0)}if(S){let i,o,h=new Qe;if(2===n)h=Qe.lerp(m,l,.5),i=r.getClosestCoordinate(h,!1),o=r.tToLength(i);else{let s=e.getNextNthVertex(t,(n-1)/2);h=e.getXY(s),i=r.getClosestCoordinate(h,!1),o=r.tToLength(i);let a=Math.abs(o)>10*c&&Math.abs(o-p)>10*c;if(!a&&(n-1>=4&&(s=e.getNextNthVertex(t,(n-1)/4),i=r.getClosestCoordinate(h,!1),o=r.tToLength(i),a=Math.abs(o)>10*c&&Math.abs(o-p)>10*c),!a))return}let u=!1;const S=f===x;if(S){const s=0;let i=2,o=4;n-1<=4&&(i=s+1,o=s+2);const a=m,h=e.getXY(e.getNextNthVertex(t,i)),l=e.getXY(e.getNextNthVertex(t,o));u=-Qe.orientationNonRobust(a,h,l)*it(r.calculateArea2DHelper())>0}else P?y?u=o>f:o<x?(f=0,_=0):(f=p,_=1):o>f?(x=p,d=1):(x=0,d=0);if(S)g=r.clone(),g.dropAllAttributes(),u||g.reverse(),a(m.equals(l));else{let e=!1;_>d&&(e=!0,[_,d]=[d,_]),g=r.cut(_,d,!0),g.getDescription().getAttributeCount(),e&&g.reverse()}g.setCoordsForIntersector(m,l,!1),g=E(g),g&&(this.removeSpanBetween(e,t,s),e.setSegmentToIndex(e.getVertexIndex(t),g))}else if(y||P){if(!y||!P){if(Qe.distance(r.getStartXY(),r.getEndXY())<10*c){const n=[mt(_,d),mt(_,d),mt(_,d)];y?(n[1].second=0,n[2].second=1):(n[1].first=1,n[2].first=0);const i=[null,null,null],o=[0,0,0];let a=Number.MAX_VALUE,h=0;for(let e=0;e<3;e++){let t=!1;if(n[e].first>n[e].second){t=!0;const s=n[e].first;n[e].first=n[e].second,n[e].second=s}i[e]=r.cut(n[e].first,n[e].second,!0),i[e].dropAllAttributes(),t&&i[e].reverse(),i[e].setCoordsForIntersector(m,l,!1),o[e]=i[e].calculateLength2D();const s=Math.abs(u-o[e]);s<a&&(a=s,h=e)}return g=i[h],g=E(g),void(g&&(this.removeSpanBetween(e,t,s),e.setSegmentToIndex(e.getVertexIndex(t),g)))}}let n=!1;_>d&&(n=!0,[_,d]=[d,_]),g=r.cut(_,d,!0),g.dropAllAttributes(),n&&g.reverse(),g.setCoordsForIntersector(m,l,!1),g=E(g),g&&(this.removeSpanBetween(e,t,s),e.setSegmentToIndex(e.getVertexIndex(t),g))}else{if(g=r.clone(),g.dropAllAttributes(),f>x&&g.reverse(),u<Math.max(.75*p,p-this.m_densificationDeviation*(n-1))){const e=_>d?d:_,t=g.tToLength(e)+u;let s=g.lengthToT(t);s=It(s,e,1),g=g.cut(e,s,!0)}g.setCoordsForIntersector(m,l,!1),g=E(g),g&&(this.removeSpanBetween(e,t,s),e.setSegmentToIndex(e.getVertexIndex(t),g))}}processSpanCurves_(e,t,s,n,r,i,o){if(t===s&&0===n)return a(e.getNextVertex(t)===M),e.setSegmentToIndex(e.getVertexIndex(t),null),void e.setSegmentParentageAndBreak(t,-1);const h=e.getNextVertex(t);{let t=2;for(let n=h;n!==s;n=e.getNextVertex(n))t++;a(t===n)}if(null===r)return e.setSegmentToIndex(e.getVertexIndex(t),null),void e.removeVertices(h,s);const m=e.getXY(t),l=e.getXY(s);if(r.isClosed()){if(m.isEqualPoint2D(l)&&m.isEqualPoint2D(r.getStartXY())){let a;if(a=this.verifySegmentFitnessCurves(e,t,s,n,r,i,o)){const n=r.clone();return n.dropAllAttributes(),a<0&&n.reverse(),this.removeSpanBetween(e,t,s),void e.setSegmentToIndex(e.getVertexIndex(t),n)}}}else if(m.isEqualPoint2D(r.getStartXY())){if(l.isEqualPoint2D(r.getEndXY())){const h=r.clone();h.dropAllAttributes();const m=this.verifySegmentFitnessCurves(e,t,s,n,h,i,o);if(m)return a(m>0),this.removeSpanBetween(e,t,s),void e.setSegmentToIndex(e.getVertexIndex(t),h)}}else if(l.isEqualPoint2D(r.getStartXY())&&m.isEqualPoint2D(r.getEndXY())){const h=r.getReversed();h.dropAllAttributes();const m=this.verifySegmentFitnessCurves(e,t,s,n,h,i,o);if(m)return a(m>0),this.removeSpanBetween(e,t,s),void e.setSegmentToIndex(e.getVertexIndex(t),h)}this.processSpanSplitSegmentCurves(e,t,s,n,r,i,o)}processSpan_(e,t,s,n,r,i,o){return 0===this.m_type?void this.processSpanSmartTe_(e,t,s,n,r,i,o):void this.processSpanCurves_(e,t,s,n,r,i,o)}processSpanSplitSegmentCurves(e,t,s,n,r,i,o){if(r.isLine())return;if(this.fitSegmentToSpanCurves(e,t,s,n,r,i,o))return;const a=o*o;let h=n,m=t;const l=e.getXY(t);let g=r.getClosestCoordinate(l,!1);const u=r.getCoord2D(g);let c=!1;const _=Qe.sqrDistance(l,u);if(_>a){const n=e.getNextVertex(t);if(this.approximateSpanSectionCurves(e,t,r,i,o),n===s)return;m=n,c=!0,h-=1}let d=s;const p=e.getXY(s);g=r.getClosestCoordinate(p,!1);const f=r.getCoord2D(g);let x=!1;const y=Qe.sqrDistance(p,f);if(y>a){const t=e.getPrevVertex(s);if(this.approximateSpanSectionCurves(e,t,r,i,o),t===m)return;d=t,x=!0,h-=1}if((c||x)&&this.fitSegmentToSpanCurves(e,m,d,h,r,i,o))return;let P=!1;if(!c&&_>0){const s=e.getNextVertex(t);if(this.approximateSpanSectionCurves(e,t,r,i,o),s===d)return;m=s,c=!0,P=!0,h-=1}if(!x&&y>0){const t=e.getPrevVertex(s);if(this.approximateSpanSectionCurves(e,t,r,i,o),t===m)return;d=t,x=!0,P=!0,h-=1}if(P&&this.fitSegmentToSpanCurves(e,m,d,h,r,i,o))return;let E=m;for(;;){const t=e.getNextVertex(E);if(this.approximateSpanSectionCurves(e,E,r,i,o),E=t,E===d)return}}fitSegmentToSpanCurves(e,t,s,n,r,i,o){const a=[];a.push(e.getXY(t));let h=t;const m=new F;for(;;){e.querySegment(h,m,!1,!0);const t=[.1,.25,.4,.5,.6,.75,.9,1];let r=0;for(const e of t){(2===n||1&r)&&a.push(m.get().getCoord2D(e)),r++}if(h=e.getNextVertex(h),h===s)break}const l=(()=>{let e=a[0].compare(a.at(-1));if(0===e){const t=new gt(0);Qo(a,a.length,t),e=t.getResult()>=0?-1:1}return e>0})();l&&a.reverse();const g=r.clone();if(g.dropAllAttributes(),l&&g.reverse(),g.setSegmentFromCoordsForStitcher(a,a.length),l&&g.reverse(),g.snapControlPoints(this.m_tolerance*this.m_tolerance),this.verifySegmentFitnessCurves(e,t,s,n,g,i,o)){this.removeSpanBetween(e,t,s);const n=e.getVertexIndex(t);return e.setSegmentToIndex(n,g),!0}return!1}approximateSpanSectionCurves(e,t,s,r,o){const a=new F;if(!e.querySegment(t,a,!0,!1))return;const h=s.getGeometryType();if(h!==a.get().getGeometryType()){if(h===n.enumEllipticArc){if(a.get().getGeometryType()!==n.enumRationalBezier2)return;if(0===s.projectionBehavior()){const s=[];ea(!1,a.get(),o,s,this.m_progressTracker);const n=e.getNextVertex(t),r=e.getPathFromVertex(t),i=new fe;let h=t;for(let t=1,o=s.length;t<o;t++){const o=s[t],m=a.get().getCoord2D(s[t-1]),l=a.get().getCoord2D(ft(s[t-1],o,.5));a.get().queryCoord(o,i);const g=i.getXY(),u=new R;u.constructCircularArcThreePoint(m,g,l);let c=M;o<1&&(c=e.insertVertex(r,n,i)),e.setSegmentToIndex(e.getVertexIndex(h),u),h=c}return}{const s=lt(Qe,3);a.get().queryControlPoints(s);const n=[0,0,0];a.get().queryWeights(n);const r=X(n),i=new R;return L(s,r*r,null,!1,i),void e.setSegmentToIndex(e.getVertexIndex(t),i)}}i("approximate_span_section_")}}verifySegmentFitnessCurves(e,t,s,n,r,i,o){const a=e.getXY(t),h=e.getXY(s);if(!a.isEqualPoint2D(r.getStartXY())||!h.isEqualPoint2D(r.getEndXY()))return 0;let m=0;if(r.isClosed()){const e=r.getCoord2D(.1).sub(a);m=r.getCoord2D(.7).sub(a).crossProduct(e)>=0?1:-1}const l=Ke(z.s_maxMonotonicPartParams,Number.NaN);let g=r.getMonotonicPartParams(l.length,l);g--;const u=new H,c=[1,.5,.75,.25];let _=0,d=t;const p=a.clone();for(;;){const t=e.getNextVertex(d);let n=e.getSegment(d);null===n&&(e.queryLineConnector(d,u,!0),n=u);for(let e=t===s?1:0;e<c.length;e++){const t=n.getCoord2D(c[e]);if(!r.isCloserThanDistance(t,at.unit(),o))return 0}if(g>1)for(let e=1;e<g;){const t=r.getCoord2D(l[e]);n.isCloserThanDistance(t,at.unit(),o)?(l[g-1]=rt(l[e],l[e]=l[g-1]),g--):e++}if(m){const e=n.getCoord2D(.25);_+=e.sub(a).crossProduct(p.sub(a)),p.assign(e),e.assign(n.getCoord2D(.75)),_+=e.sub(a).crossProduct(p.sub(a)),p.assign(e)}if(d=t,d===s)return g>1?0:m?_<0?-m:m:1}}removeSpanBetween(e,t,s){e.setSegmentToIndex(e.getVertexIndex(t),null);const n=e.getNextVertex(t);n!==s&&e.removeVertices(n,s)}static st_stitchCurvesImpl(e,t,s,n,r){if(!t.hasSegmentParentage())return;ga(t);let i=s===M?t.getFirstGeometry():s;for(;i!==M;)if(E(t.getGeometryType(i))){for(let s=t.getFirstPath(i);s!==M;s=t.getNextPath(s)){let i=t.getPathSize(s);const o=t.isClosedPath(s);o&&(i+=1);let h=t.getFirstVertex(s);const m=t.getSegmentParentage(h);if(o){if(-1!==m&&!t.getSegmentParentageBreakVertex(h)){let e=t.getPrevVertex(h);const s=h;for(let n=0;;n++){const r=t.getSegmentParentage(e);if(m!==r){a(-1===r);break}if(h=e,t.getSegmentParentageBreakVertex(e))break;if(e===s){h=s,t.setSegmentParentageBreakVertex(h,!0);break}e=t.getPrevVertex(e),a(n<i)}}}else a(-1===m||t.getSegmentParentageBreakVertex(h));let l=h;for(let s=0;s<i&&l!==M;){const o=t.getSegmentParentage(l);if(-1===o){if(s++,l=t.getNextVertex(l),l===h)break;continue}let m=0,g=M;const u=l;m=1;let c=t.getNextVertex(u);for(;s<i&&c!==M;){s++,g=c,m++;const e=t.getSegmentParentage(c);if(-1===e||t.getSegmentParentageBreakVertex(c))break;a(e===o),c=t.getNextVertex(c)}if(g===M){a(0);break}if(!r){const s=e.m_originalPlanarSegments[o];e.processSpan_(t,u,g,m,s,o,n)}if(l=g,l===h)break}}if(s!==M)break;i=t.getNextGeometry(i)}else i=s===M?t.getNextGeometry(i):M}static st_stitchCurvesFromLinesImpl(e,t,s,n,r){let i=s===M?t.getFirstGeometry():s;for(;i!==M;){for(let s=t.getFirstPath(i);s!==M;s=t.getNextPath(s)){let i=t.getPathSize(s);t.isClosedPath(s)&&(i+=1);let o=!0,h=!1;const m=t.getFirstVertex(s);let l=m;for(let s=0;s<i&&l!==M;){let g=t.getSegmentParentage(l);if(-1===g||o){o=!1,s++,l=t.getNextVertex(l),h=!0;continue}let u,c,_=0;if(h?(u=t.getPrevVertex(l),c=l,a(u!==M),a(c!==u),a(-1===t.getSegmentParentage(u)||m===u)):(u=l,c=t.getNextVertex(u),s++,a(c!==M),a(c!==u),g=t.getSegmentParentage(c)),_=2,h=!1,-1===g||t.getSegmentParentageBreakVertex(c)){l=c;continue}let d=t.getNextVertex(c);for(s++;s<i&&d!==M;){c=d,_++;const e=t.getSegmentParentage(d);if(-1===e||t.getSegmentParentageBreakVertex(d))break;a(e===g),s++,d=t.getNextVertex(d)}if(!r){const s=e.m_originalPlanarSegments[g];e.processSpan_(t,u,c,_,s,g,n)}l=c}}if(s!==M)break;i=t.getNextGeometry(i)}}static st_stitchCurvesFromCurvesImpl(e,t,s,n,r){let i=s===M?t.getFirstGeometry():s;for(;i!==M;)if(E(t.getGeometryType(i))){for(let s=t.getFirstPath(i);s!==M;s=t.getNextPath(s)){let i=t.getPathSize(s);const o=t.isClosedPath(s);o&&(i+=1);let h=t.getFirstVertex(s);if(o){if(-1!==t.getSegmentParentage(h)){let e=h;for(let n=0;!t.getSegmentParentageBreakVertex(e);n++){if(n===i){h=t.getFirstVertex(s),t.setSegmentParentageBreakVertex(e,!0);break}e=t.getPrevVertex(e)}}}else a(-1===t.getSegmentParentage(h)||t.getSegmentParentageBreakVertex(h));let m=h;for(let s=0;s<i&&m!==M;){const o=t.getSegmentParentage(m);if(-1===o){s++,m=t.getNextVertex(m);continue}let h=0,l=M;const g=m;h=1;let u=t.getNextVertex(g);for(;s<i&&u!==M;){s++,l=u,h++;const e=t.getSegmentParentage(u);if(-1===e||t.getSegmentParentageBreakVertex(u))break;a(e===o),u=t.getNextVertex(u)}if(l===M)break;if(!r){const s=e.m_originalPlanarSegments[o];e.processSpan_(t,g,l,h,s,o,n)}m=l}}if(s!==M)break;i=t.getNextGeometry(i)}else i=s===M?t.getNextGeometry(i):M}static regularizeCurve(e,t,s,n){let r=t.snapControlPoints(n*n);if(r){const n=e.getVertexIndex(s),r=t.clone();e.setSegmentToIndex(n,r)}if(t.getGeometryType()===B.type){const i=[],o=t.calculateSpecialPointsForCracking(n,i);if(o>0){const a=[];if(o>1)for(let e=0;e<o;e++)if(a.push(t.getCoord2D(i[e])),e>0){const t=(Math.abs(a[e].x)+Math.abs(a[e].y))*Et(),s=Qe.distance(a[e-1],a[e]);if(s<t&&s>0){const t=new Qe;St(a[e-1],a[e],.5,t),a[e-1]=t,a[e]=t}}e.splitSegment(s,i,o),r=e.snapControlPoints(s,o+1,n*n)||r;for(let t=0;t<o;t++)s=e.getNextVertex(s),e.setSegmentParentageBreakVertex(s,!0);return o}}return r?0:-1}}function ya(e,t,s,n,r){return new ba(e,s,t,n,r).do_()}function Pa(e,t,s){const n=ye(e);return ln(t.getX(),t.getY(),s.getX(),s.getY(),ut(n))}function Ea(e,t,s=1,n=1,r=1,i=1){if(n>i)return e;if(i>n)return t;const o=[0],a=[0],h=new fe;return cn(e,t,s,n,r,i,h,a,o),h}function Sa(e,t,s){const n=ye(t),r=Se(t);return!!_n(e,n,M,null,s)||Mn(!0,e,r,null,s)}function Ca(e,t,s){return ba.fixCurveTwoPointLoops(e,t,s)}function Ia(e){return ye(e)}class ba{constructor(e,t,s,n,r){this.m_shape=e,this.m_progressTracker=t,this.m_tolerance=s,this.m_bFilterDegenerateSegments=n,this.m_bTrackChanges=r,this.m_progressCounter=0}do_(){const e=new xe(this.m_tolerance.tolerance,this.m_tolerance.resolution),t=1e-5,s=1e-6,n=Ia(e);let r=Se(e);const o=r*(1+t);r*=1+s;let a=!1;const h=this.m_shape.getTotalPointCount()+10>30?1e3:(this.m_shape.getTotalPointCount()+10)*(this.m_shape.getTotalPointCount()+10),m=this.m_shape.hasPointFeatures();for(let l=0;;l++){this.m_shape.dbgCheckSelection(),l>h&&i("crack_and_cluster_iteration_exceeded"),this.m_shape.dbgVerifyMonotone();let e=-1;0===l&&(e=this.firstCrack_(),a||=e>0);const t=this.cluster_(n);if(this.m_shape.dbgVerifyMonotone(),a||=t,this.m_bFilterDegenerateSegments){const e=0!==this.m_shape.filterClosePoints(n,!0,!1,this.m_bTrackChanges,M);a||=e,this.m_shape.dbgVerifyMonotone()}const s=this.m_shape.snapControlPointsOnSelection(o*o);a||=s,this.m_shape.dbgCheckSelection();let g=!1;if((0===l&&-1===e||m||Mn(!0,this.m_shape,r,null,this.m_progressTracker))&&(g=this.crack_(o),a||=g,this.m_shape.dbgVerifyMonotone()),!g&&!ba.fixCurveTwoPointLoops(this.m_shape,n,this.m_progressTracker)){this.m_shape.dbgVerifyMonotone();break}}return a&&ua(this.m_shape),a}cluster_(e){return mn(this.m_shape,e,M,this.m_bTrackChanges,this.m_progressTracker)}crack_(e){return An(this.m_shape,e,this.m_bTrackChanges,this.m_progressTracker)}static fixCurveTwoPointLoops(e,t,s){if(!e.hasCurves())return!1;e.dbgVerifyCurves();const n=e.createUserIndexUninitialized(),r=new Ce(0),i=e.queryVertexIteratorOnSelection();for(let a=i.next();a!==M;a=i.next())r.add(a),e.setUserIndex(a,n,-1);if(0===r.size())return!1;r.add(M),e.sortVerticesSimpleByY(r,0,r.size()-1);let o=0;const h=e.getXY(r.read(o)),m=new Qe(Number.NaN,Number.NaN),l=[];for(let a=1,g=r.size();a<g;++a){const t=r.read(a),s=t!==M?e.getXY(t):m;if(s.equals(h))continue;const i=[];for(let m=o;m<a;m++){const t=r.read(m),s=e.getPrevVertex(t);if(s!==M&&-1===e.getUserIndex(s,n)){const t=wa(e.getXY(s),e.getSegment(s));0!==Qe.sqrDistance(h,t.otherPt)&&(t.vert=s,t.dir=-1,i.push(t)),e.setUserIndex(s,n,1)}const o=e.getNextVertex(t);if(o!==M&&-1===e.getUserIndex(t,n)){const s=wa(e.getXY(o),e.getSegment(t));0!==Qe.sqrDistance(h,s.otherPt)&&(s.vert=t,s.dir=1,i.push(s)),e.setUserIndex(t,n,1)}}if(i.length>1){i.sort(((e,t)=>Ta(e,t)));const e=wa(m.clone(),null);i.push(e);let t=0;for(let s=1,n=i.length;s<n;s++)if(!i[s].otherPt.equals(i[s-1].otherPt)){if(s-t>1&&null!==i[t].seg){let e=!1;const n=t;for(let r=t+1;r<s;r++)if(!va(i[n],i[r])){e=!0;break}if(e)for(let r=t;r<s&&null!==i[r].seg;r++)l.push(i[r].vert)}t=s}}o=a,h.setCoordsPoint2D(s)}for(const g of l){const s=e.getSegment(g);a(null!==s);const n=e.getXY(g),r=e.getXY(e.getNextVertex(g));if(Qe.distance(n,r)<3*t)e.setSegmentToIndex(e.getVertexIndex(g),null);else{const t=s.lengthToT(.5*s.calculateLength2D());e.splitSegment(g,[t],1)}}return e.removeUserIndex(n),l.length>0}firstCrack_(){const e=this.m_shape.getEnvelope2D(this.m_progressTracker),t=de(null,e,!0).total();if(4*t<this.m_tolerance.total()){let e=!1;const s=1.1*t,n=t,r=this.cluster_(s);e||=r;let i=0;this.m_bFilterDegenerateSegments&&(i=this.m_shape.filterClosePoints(0,!0,!1,this.m_bTrackChanges,M));const o=this.crack_(n);return e||=o,e?1:i?2:0}return-1}progress_(e=!1){this.m_progressCounter++,!e&&4095&this.m_progressCounter||(this.m_progressCounter=0)}}function wa(e,t){return{otherPt:e,seg:t,vert:-1,dir:0}}function va(e,t){if(a(e.otherPt.equals(t.otherPt)),null===e.seg)return null===t.seg;if(null===t.seg)return!1;const s=e.seg.getGeometryType();if(s!==t.seg.getGeometryType())return!1;if(s===n.enumBezier){const s=e.seg,n=t.seg;let r=s.getControlPoint1(),i=s.getControlPoint2();-1===e.dir&&(i=rt(r,r=i));let o=n.getControlPoint1(),a=n.getControlPoint2();return-1===t.dir&&(a=rt(o,o=a)),r.equals(o)&&i.equals(a)}if(s===n.enumRationalBezier2){const s=e.seg,n=t.seg,r=s.getControlPoint1(),i=n.getControlPoint1();if(!r.equals(i))return!1;const o=[0,0,0];s.queryWeights(o),-1===e.dir&&(o[2]=rt(o[0],o[0]=o[2]));const a=[0,0,0];return n.queryWeights(a),-1===t.dir&&(a[2]=rt(a[0],a[0]=a[2])),o[0]===a[0]&&o[1]===a[1]&&o[2]===a[2]}i("")}function Na(e,t){if(null===e.seg||null===t.seg)return null!==e.seg?-1:null!==t.seg?1:0;const s=e.seg.getGeometryType(),n=t.seg.getGeometryType();return s<n?-1:s>n?1:0}function Ta(e,t){const s=e.otherPt.compare(t.otherPt);return 0!==s?s:Na(e,t)}var Ga=o,Da=r,Va=m;function Fa(e){switch(e){case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 0:return 0;default:a(0,"unrecognized cut side")}return 3}function Ha(){return{unsplitBehavior:0,allCrossRoadsImpassable:!1,ogcRule:!1}}function ka(e,t,s,n){return new Ka(n).autoCompleteImpl(e,t,s)}function Aa(e,t,s,r,i,o,a){const h=new Ka(i);h.m_bOGCOutput=!0;const m=e.getGeometryType()===n.enumPolygon&&1===e.getFillRule()&&!Te(r);return h.planarSimplifyImpl_(e,t,m,s,r,i,o,a)}function Ma(e,t,s,n,r,i,o,a){return new Ka(i).planarSimplifyImpl_(e,t,s,n,r,i,o,a)}function Ua(e,t,s,n){const r=new Ka(n),i=new G,o=i.addGeometry(t),h=r.planarSimplifyNoCrackingAndCluster(e,i,o,s);a(h,"planar_simplify_no_cracking_and_cluster");return i.getGeometry(o)}function qa(e,t,s,n,r,i,o){return a(0),{}}function Ba(e,t,s,n){return a(0),{}}function Oa(e,t,s){return Ja(e,t,s)}function Ya(t,s,r,i){if(t.isEmpty()||s.isEmpty()||t.getDimension()>s.getDimension())return $a(eh(t),t,s,"-");const o=new e;t.queryEnvelope(o);const a=new e;s.queryEnvelope(a);const h=new e;h.setCoords({env2D:o}),h.mergeEnvelope2D(a);const m=de(r,h,!0),l=a.clone(),g=ye(m);if(l.inflateCoords(g,g),!o.isIntersecting(l))return $a(eh(t),t,s,"-");const u=new Ka(i),c=new G,_=c.addGeometry(eh(t)),d=c.addGeometry(eh(s));let p=0,f=0,x=null;if(c.hasCurves()){x=new fa;const e=c.getEnvelope2D(i);f=da(m.total());const t=_a(m.total(),e);p=pa(t,f),aa(c,t,m.total(),12e3,x,null,i)}u.setEditShapeCrackAndCluster(c,m.add(p));const y=u.difference(_,d);null!==x&&x.stitchCurves(c,y,f,!0);const P=$a(c.getGeometry(y),t,s,"-");return Ga(P.getGeometryType())&&(P.getImpl().setIsSimple(4,m.total()),P.getGeometryType()===n.enumPolygon&&P.getImpl().updateOGCFlagsProtected()),P}function Ra(t,s,r,i){if(t.getDimension()>s.getDimension())return $a(eh(t),t,s,"^");if(t.getDimension()<s.getDimension())return $a(eh(s),t,s,"^");if(t.isEmpty())return $a(eh(s),t,s,"^");if(s.isEmpty())return $a(eh(t),t,s,"^");const o=new e;t.queryEnvelope(o);const a=new e;s.queryEnvelope(a);const h=new e;h.setCoords({env2D:o}),h.mergeEnvelope2D(a);const m=de(r,h,!0),l=new Ka(i),g=new G,u=g.addGeometry(eh(t)),c=g.addGeometry(eh(s));let _=0,d=null;if(g.hasCurves()){d=new fa;const e=g.getEnvelope2D(i);_=da(m.total());aa(g,_a(m.total(),e),m.total(),12e3,d,null,i)}l.setEditShapeCrackAndCluster(g,m);const p=l.symmetricDifference(u,c);null!==d&&d.stitchCurves(g,p,_,!0);const f=$a(g.getGeometry(p),t,s,"^");return Ga(f.getGeometryType())&&(f.getImpl().setIsSimple(4,m.total()),f.getGeometryType()===n.enumPolygon&&f.getImpl().updateOGCFlagsProtected()),f}function Xa(e,t,s){return Qa(e,t,s,!0)}function La(e,t,s){return e.isEmpty()||t.isEmpty()?e.createInstance():Pa(s,e,t)?new fe({copy:Ea(e,t)}):e.createInstance()}function za(t,s,r,i){const o=e.constructEmpty();t.queryEnvelope(o);const a=e.constructEmpty();s.queryEnvelope(a);const h=e.constructEmpty();h.setCoords({env2D:o}),h.mergeEnvelope2D(a);const m=de(r,h,!0),l=new e(a),g=ye(m);if(l.inflateCoords(g,g),!o.isIntersecting(l)){if(t.getDimension()<=s.getDimension())return $a(eh(t.createInstance()),t,s,"&");if(t.getDimension()>s.getDimension())return $a(eh(s.createInstance()),t,s,"&")}const u=new Ka(i),c=new G,_=c.addGeometry(eh(t)),d=c.addGeometry(eh(s));let p=0,f=0,x=null;if(c.hasCurves()){x=new fa;const e=c.getEnvelope2D(i);f=da(m.total());const t=_a(m.total(),e);p=pa(t,f),aa(c,t,m.total(),12e3,x,null,i)}u.setEditShapeCrackAndCluster(c,m.add(p));const y=u.intersection(_,d);null!==x&&x.stitchCurves(c,y,f,!0);const P=$a(c.getGeometry(y),t,s,"&");return Ga(P.getGeometryType())&&(P.getImpl().setIsSimple(4,m.total()),P.getGeometryType()===n.enumPolygon&&P.getImpl().updateOGCFlagsProtected()),P}function Wa(t,s,r,i){const o=new Array(3),a=e.constructEmpty();t.queryEnvelope(a);const h=e.constructEmpty();s.queryEnvelope(h);const m=e.constructEmpty();m.setCoords({env2D:a}),m.mergeEnvelope2D(h);const l=de(r,m,!0),g=new e(h),u=ye(l);if(g.inflateCoords(u,u),!a.isIntersecting(g)){if(t.getDimension()<=s.getDimension()){const e=$a(eh(t.createInstance()),t,s,"&");return o[e.getDimension()]=e,o}if(t.getDimension()>s.getDimension()){const e=$a(eh(s.createInstance()),t,s,"&");return o[e.getDimension()]=e,o}}const c=new Ka(i),_=new G,d=_.addGeometry(eh(t)),p=_.addGeometry(eh(s));let f=0,x=0,y=null;if(_.hasCurves()){y=new fa;const e=_.getEnvelope2D(i);x=da(l.total());const t=_a(l.total(),e);f=pa(t,x),aa(_,t,l.total(),12e3,y,null,i)}c.setEditShapeCrackAndCluster(_,l.add(f)),_.dbgVerifyCurves();const P=c.intersectionEx(d,p);for(const e of P){null!==y&&y.stitchCurves(_,e,x,!1);const r=$a(_.getGeometry(e),t,s,"&");Ga(r.getGeometryType())&&(r.getImpl().setIsSimple(4,l.total()),r.getGeometryType()===n.enumPolygon&&r.getImpl().updateOGCFlagsProtected()),o[r.getDimension()]=r}return null!==y&&y.clearStitcher(_),o}function ja(e,s,n,r,i,o=!1){0===s&&t("not enough geometries to dissolve");let a=0;for(let t=0,d=s;t<d;t++)a=Math.max(e[t].getDimension(),a);if(2===a||1===a)return new Ka(r).dissolveMultiPaths_(a,!1,e,s,n,i,o);let h=0,m=-1;for(let t=0,d=s;t<d;t++)e[t].getDimension()===a&&(-1===m&&(m=t),e[t].isEmpty()||(m=t,h++));if(h<2)return eh(e[m]);const l=Ge.constructEmpty(),g=new G;let u=M;for(let t=0,d=s;t<d;t++)if(e[t].getDimension()===a&&!e[t].isEmpty()){u===M?u=g.addGeometry(eh(e[t])):g.appendGeometry(u,eh(e[t]));const s=Ge.constructEmpty();e[t].queryLooseEnvelope(s),l.mergeEnv3D(s)}const c=de(n,l.getEnvelope2D(),!0),_=new Ka(r);if(o){const e=De(n,l.getEnvelopeZs(),!0);return _.planarSimplify3DImpl_(g,c,e,0,!0)}return _.m_bOGCOutput=!0,_.planarSimplifyMultiPoints(g,c,!1,-1)}function Za(e,s,n,r,i,o=!1){s<2&&t("not enough geometries to dissolve");let a=0;for(let t=0,p=s;t<p;t++)a=Math.max(e[t].getDimension(),a);if(2===a||1===a)return new Ka(r).dissolveMultiPaths_(a,!0,e,s,n,i,o);const h=Ge.constructEmpty(),m=new G;let l=M,g=0,u=-1;for(let t=0,p=s;t<p;t++)if(e[t].getDimension()===a&&(-1===u&&(u=t),!e[t].isEmpty())){u=t,l===M?l=m.addGeometry(eh(e[t])):m.appendGeometry(l,eh(e[t]));const s=Ge.constructEmpty();e[t].queryLooseEnvelope(s),h.mergeEnv3D(s),g++}if(g<2)return eh(e[u]);const c=0===a?n:null,_=de(c,h.getEnvelope2D(),!0),d=new Ka(r);if(o){const e=De(c,h.getEnvelopeZs(),!0);return d.m_bOGCOutput=!0,d.planarSimplify3DImpl_(m,_,e,0,!0)}return d.planarSimplifyMultiPoints(m,_,!0,-1)}class Ka{constructor(e){this.m_topoGraph=null,this.m_maskLookup=[],this.m_dummyPt1=Qe.getNAN(),this.m_dummyPt2=Qe.getNAN(),this.m_fromEdgeForPolylines=M,this.m_progressCounter=0,this.m_bOGCOutput=!1,this.m_progressTracker=e}linesToPolygonsImpl(e,t){let s=0,n=0,r=null;if(e.hasCurves()){r=new fa;const i=e.getEnvelope2D(this.m_progressTracker);n=da(t.total());const o=_a(t.total(),i);s=pa(o,n),aa(e,o,t.total(),12e3,r,null,this.m_progressTracker)}this.setEditShapeCrackAndCluster(e,t.add(s));const i=this.m_topoGraph.createUserIndexForChains(),o=this.m_topoGraph.getFirstChain();this.m_topoGraph.setChainUserIndex(o,i,1);for(let h=this.m_topoGraph.getChainFirstIsland(o);h!==M;h=this.m_topoGraph.getChainNextInParent(h))this.m_topoGraph.setChainUserIndex(h,i,1);const a=[];for(let h=this.m_topoGraph.getFirstChain();h!==M;h=this.m_topoGraph.getChainNext(h)){if(1===this.m_topoGraph.getChainUserIndex(h,i))continue;this.m_topoGraph.setChainUserIndex(h,i,1);for(let e=this.m_topoGraph.getChainFirstIsland(h);e!==M;e=this.m_topoGraph.getChainNextInParent(e))this.m_topoGraph.setChainUserIndex(e,i,1);if(0===this.m_topoGraph.getChainArea(h))continue;const t=this.m_topoGraph.extractPolygonFromChainAndIslands(e,M,h,M);null!=r&&r.stitchCurves(e,t,n,!1);const s=e.getGeometry(t);a.push(s)}return new $t(a)}autoCompleteImpl(e,t,s){let n=0,r=0,i=null;if(e.hasCurves()){i=new fa;const t=e.getEnvelope2D(this.m_progressTracker);r=da(s.total());const o=_a(s.total(),t);n=pa(o,r),aa(e,o,s.total(),12e3,i,null,this.m_progressTracker)}this.setEditShapeCrackAndCluster(e,s.add(n));const o=this.m_topoGraph.getGeometryID(t),a=this.m_topoGraph.createUserIndexForChains(),h=this.m_topoGraph.getFirstChain();this.m_topoGraph.setChainUserIndex(h,a,1);for(let l=this.m_topoGraph.getChainFirstIsland(h);l!==M;l=this.m_topoGraph.getChainNextInParent(l))this.m_topoGraph.setChainUserIndex(l,a,1);const m=[];for(let l=this.m_topoGraph.getFirstChain();l!==M;l=this.m_topoGraph.getChainNext(l)){if(1===this.m_topoGraph.getChainUserIndex(l,a))continue;this.m_topoGraph.setChainUserIndex(l,a,1);for(let e=this.m_topoGraph.getChainFirstIsland(l);e!==M;e=this.m_topoGraph.getChainNextInParent(e))this.m_topoGraph.setChainUserIndex(e,a,1);if(0!==this.m_topoGraph.getChainParentage(l))continue;const t=this.m_topoGraph.getChainHalfEdge(l);let s=t,n=!1;do{const e=this.m_topoGraph.getHalfEdgeTwin(s);if(this.m_topoGraph.getHalfEdgeChain(e)!==l&&0!==(this.m_topoGraph.getHalfEdgeParentage(s)&o)){n=!0;break}s=this.m_topoGraph.getHalfEdgeNext(s)}while(s!==t);if(!n)continue;if(0===this.m_topoGraph.getChainArea(l))continue;const h=this.m_topoGraph.extractPolygonFromChainAndIslands(e,M,l,M);null!==i&&i.stitchCurves(e,h,r,!1);const g=e.getGeometry(h);m.push(g)}return new $t(m)}setEditShape(e,t=!1){null===this.m_topoGraph&&(this.m_topoGraph=new tn),this.m_topoGraph.setEditShape(e,this.m_progressTracker,!0,t)}setEditShapeCrackAndCluster(e,t){ya(e,t,this.m_progressTracker,!0,!1);for(let s=e.getFirstGeometry();s!==M;s=e.getNextGeometry(s))e.getGeometryType(s)===n.enumPolygon&&er(e,s,-1,this.m_bOGCOutput,M,this.m_progressTracker);this.setEditShape(e)}setHalfEdgeOrientations_(e,t){const s=this.m_topoGraph.getShape();for(let n=s.getFirstGeometry();n!==M;n=s.getNextGeometry(n))if(n===t)for(let t=s.getFirstPath(n);t!==M;t=s.getNextPath(t)){let n=s.getFirstVertex(t);if(n===M)continue;let r=s.getNextVertex(n);for(;r!==M;){const t=this.m_topoGraph.getClusterFromVertex(n),i=this.m_topoGraph.getClusterFromVertex(r),o=this.m_topoGraph.getHalfEdgeConnector(t,i);if(o!==M){const t=this.m_topoGraph.getHalfEdgeTwin(o);this.m_topoGraph.setHalfEdgeUserIndex(o,e,1),this.m_topoGraph.setHalfEdgeUserIndex(t,e,2)}n=r,r=s.getNextVertex(n)}}}flushVertices_(e,t){const s=this.m_topoGraph.getShape(),n=s.hasSegmentParentage(),r=new F,i=s.insertPath(e,M);t.push(t[0]);const o=t.length;let a=M;for(let h=0;h<o;h++){const e=t[h];if(a=s.addVertex(i,e),!n)continue;const m=this.m_topoGraph.getClusterFromVertex(e);if(h>0&&this.m_topoGraph.isBreakNode(m)&&s.setSegmentParentageBreakVertex(a,!0),h<o-1){const e=this.m_topoGraph.getHalfEdgeConnector(m,this.m_topoGraph.getClusterFromVertex(t[h+1])),n=this.m_topoGraph.getSegmentParentage(e);s.setSegmentParentageAndBreak(a,n,h>0||this.m_topoGraph.isBreakNode(m)),this.m_topoGraph.isHalfEdgeCurve(e)&&(this.m_topoGraph.querySegmentXY(e,r),s.setSegmentToIndex(s.getVertexIndex(a),r.get().clone()))}}if(n){const e=this.m_topoGraph.getClusterFromVertex(t[o-1]);this.m_topoGraph.isBreakNode(e)&&s.setSegmentParentageBreakVertex(a,!0)}s.setClosedPath(i,!0)}processPolygonCuts_(e,t,s,r){const i=this.m_topoGraph.getGeometryID(s),o=this.m_topoGraph.getGeometryID(r),a=[],h=this.m_topoGraph.getShape(),m=this.m_topoGraph.createUserIndexForHalfEdges();for(let l=this.m_topoGraph.getFirstCluster();l!==M;l=this.m_topoGraph.getNextCluster(l)){const s=this.m_topoGraph.getClusterHalfEdge(l);if(s===M)continue;let r=s;do{if(1!==this.m_topoGraph.getHalfEdgeUserIndex(r,m)){let s=r,l=r,g=!1,u=0;do{if(this.m_topoGraph.setHalfEdgeUserIndex(s,m,1),!g){if(0!==(this.m_topoGraph.getHalfEdgeParentage(s)&o)){0!==(this.m_topoGraph.getHalfEdgeFaceParentage(s)&i)&&(l=s,g=!0)}}if(g){const t=this.m_topoGraph.getHalfEdgeOrigin(s),n=this.m_topoGraph.getClusterVertexIterator(t),r=this.m_topoGraph.getVertexFromVertexIterator(n);if(a.push(r),-1!==e){if(0!==(this.m_topoGraph.getHalfEdgeParentage(s)&o)){u|=this.m_topoGraph.getHalfEdgeUserIndex(s,e)}}}s=this.m_topoGraph.getHalfEdgeNext(s)}while(s!==l);if(g&&this.m_topoGraph.getChainArea(this.m_topoGraph.getHalfEdgeChain(l))>0){const e=h.createGeometry(n.enumPolygon);this.flushVertices_(e,a),-1!==t&&h.setGeometryUserIndex(e,t,u)}a.length=0}r=this.m_topoGraph.getHalfEdgeNext(this.m_topoGraph.getHalfEdgeTwin(r))}while(r!==s)}this.m_topoGraph.deleteUserIndexForHalfEdges(m)}cutPolygonPolyline_(e,t,s,n){this.m_topoGraph.removeSpikes_();let r=-1;-1!==e&&(r=this.m_topoGraph.createUserIndexForHalfEdges(),this.setHalfEdgeOrientations_(r,s)),this.processPolygonCuts_(r,e,t,s),-1!==r&&(this.m_topoGraph.deleteUserIndexForHalfEdges(r),r=-1);const i=this.m_topoGraph.getShape();for(let o=i.getFirstGeometry();o!==M;o=i.getNextGeometry(o))o!==t&&o!==s&&n.push(o);n.sort(((e,t)=>{const s=i.getFirstPath(e),n=i.getRingArea(s),r=i.getFirstPath(t),o=i.getRingArea(r);return n<o?-1:n>o?1:0}))}cut(e,t,s,n,r){const o=this.m_topoGraph.getShape().getGeometryType(s),a=this.m_topoGraph.getShape().getGeometryType(n),h=m(o),l=m(a);if(2!==h||1!==l)if(1!==h||1!==l)i("");else{new sh(this,e,t,s,n,r).Do()}else this.cutPolygonPolyline_(t,s,n,r)}progress_(e=!1){}isGoodParentage(e){return e>=0&&e<this.m_maskLookup.length&&this.m_maskLookup[e]}normalizeInputGeometry(e){const s=e.getGeometryType();if(s===n.enumEnvelope){const t=new v({vd:e.getDescription()});return e.isEmpty()||t.addEnvelope(e,!1),t}if(s===n.enumPoint){const t=new N({vd:e.getDescription()});return e.isEmpty()||t.add(e),t}if(r(s)){const t=new I({vd:e.getDescription()});return e.isEmpty()||t.addSegment(e,!0),t}return s!==n.enumMultiPoint&&s!==n.enumPolyline&&s!==n.enumPolygon&&t("Unexpected geometry type"),e}dissolveNonSimplePolygons(e,t,s,n){a(t>0);const r=new G;let i=0,o=-1;for(let a=0,h=t;a<h;a++)2===e[a].getDimension()&&(-1===o&&(o=a),e[a].isEmpty()||(i++,r.addGeometry(e[a])));return 0===i?(a(o>=0),this.normalizeInputGeometry(e[o])):this.planarSimplifyPolygons(r,s,!0,!1,-1,!0)}dissolveMultiPaths_(t,s,i,h,m,g,u){a(t>=1&&t<=2),a(h>0);const c=8&g?1:2,_=Ge.constructEmpty();let d=0,p=-1,f=!0;for(let e=0,r=h;e<r;e++)if(i[e].getDimension()===t&&(-1===p&&(p=e),!i[e].isEmpty())){p=e,d++;const s=Ge.constructEmpty();if(i[e].queryLooseEnvelope(s),_.mergeEnv3D(s),2===t&&f&&i[e].getGeometryType()===n.enumPolygon)if(16&g){const t=[0],s=i[e].getImpl().getIsSimple(0,t),n=this.m_bOGCOutput?5===s:ce(s);f&&=n}else{const t=Ue(i[e],0);f&&=t}}if(d<2&&(a(p>=0),0===d||!(16&g)))return this.normalizeInputGeometry(i[p]);if(!f){const e=de(s?null:m,_.getEnvelope2D(),!0);return this.dissolveNonSimplePolygons(i,h,e,g)}const x=i.slice(0,h),y=de(m,_.getEnvelope2D(),!0),P=10*ye(y);let E=new xe(0,0);if(u&&(E=De(m,_.getEnvelopeZs(),!0)),1===d&&1===t&&2===c&&!s)return u?qa():this.m_bOGCOutput?Aa(x[p],y,!1,-1,this.m_progressTracker,c,!1):Ma(x[p],y,!1,!1,-1,this.m_progressTracker,c,!1);const S=new qe;S.startConstruction();let C=2===t?3:4,b=0;for(let l=0,I=h;l<I;l++){if(x[l].getDimension()!==t||x[l].isEmpty())continue;let i=x[l].getGeometryType();if(i!==n.enumEnvelope){if(r(i)?(x[l]=this.normalizeInputGeometry(x[l]),i=n.enumPolyline):a(o(i)),1===t){a(i===n.enumPolyline);let e=-1;if(u)a(0,"3d not implemented yet");else{const t=[0];e=x[l].getImpl().getIsSimple(y.total(),t)}if(this.m_bOGCOutput?5!==e:!ce(e))if(s)C=-1;else{u?a(0,"3d not implemented yet"):this.m_bOGCOutput?x[l]=Aa(x[l],y,!1,-1,this.m_progressTracker,c,!1):x[l]=Ma(x[l],y,!1,!1,-1,this.m_progressTracker,c,!1);const e=[0];a(ce(x[l].getImpl().getIsSimple(y.total(),e)))}}else{a(i===n.enumPolygon);const e=[0],t=x[l].getImpl().getIsSimple(0,e);a(Te(t))}const h=x[l].getImpl();for(let t=0,s=h.getPathCount();t<s;t++){const s=e.constructEmpty();h.queryLoosePathEnvelope(t,s),s.inflateCoords(P,P),S.addEnvelope(b,s),b++}}else{a(i===n.enumEnvelope);const t=e.constructEmpty();x[l].queryLooseEnvelope(t),t.inflateCoords(P,P),S.addEnvelope(b,t),b++,C=-1}}S.endConstruction();const w=b,N=Ke(w,-2147483647),T=Ke(w,-1);let D=0;p=-1,b=0;for(let e=0,r=h;e<r;e++){if(x[e].getDimension()!==t)continue;if(-1===p&&(p=e),x[e].isEmpty())continue;p=e,D++;const s=x[e].getGeometryType();if(o(s)){for(let t=0,s=x[e].getPathCount();t<s;t++)T[b]=e,N[b]=-t-1,b++}else a(s===n.enumEnvelope),T[b]=e,N[b]=-1,b++}if(D<2&&2===t)return a(p>=0),this.normalizeInputGeometry(x[p]);let V=w;for(;S.next()&&V>0;){this.progress_();const e=S.getHandleA(),t=S.getHandleB(),s=S.getElement(e),n=S.getElement(t);T[s]!==T[n]&&(N[s]<0&&(V--,N[s]=-(N[s]+1)),N[n]<0&&(V--,N[n]=-(N[n]+1)))}const F=new G;let H=!1,k=0;for(let e=0,r=h;e<r;e++){if(x[e].getDimension()!==t||x[e].isEmpty())continue;const s=x[e].getGeometryType(),r=k;let i=0,h=0;const m=o(s)?x[e]:null;for(let t=r,n=N.length;t<n&&T[t]===e;t++)N[t]>=0&&(i++,h+=m?m.getPathSize(N[t]):l(x[e])),k++;if(h>.95*l(x[e])){F.addGeometry(this.normalizeInputGeometry(x[e]));for(let e=r;e<k;e++)N[e]<0&&(N[e]=-(N[e]+1))}else{if(0===i){H=!0;continue}{H=!0,a(o(s)),a(null!=m);const t=new v({vd:x[e].getDescription()}),i=new I({vd:x[e].getDescription()}),h=s===n.enumPolygon?t:i;for(let e=r;e<k;e++)N[e]>=0&&h.addPath(m,N[e],!0);F.addGeometry(h)}}}let A;if(F.getFirstGeometry()!==M){const e=2===t,n=s?de(null,_.getEnvelope2D(),!0):y;let r=new xe(0,0);if(u&&(r=s?De(null,_.getEnvelopeZs(),!0):E),2===t&&!(2&g)){F.collapseAllGeometriesToFirst();let e=0,t=null;if(F.hasCurves()&&!F.hasSegmentParentage()){t=new fa;const s=F.getEnvelope2D(this.m_progressTracker);e=da(n.total());aa(F,_a(n.total(),s),n.total(),12e3,t,null,this.m_progressTracker)}Vn(F,F.getFirstGeometry(),n.total(),this.m_progressTracker),null!==t&&t.stitchCurves(F,M,e,!0)}if(u)A=this.planarSimplify3DImpl_(F,n,r,c,!0);else if(2===t)A=this.planarSimplifyPolygons(F,n,e,s,-1,!1);else{const e=Ha();e.ogcRule=this.m_bOGCOutput,e.allCrossRoadsImpassable=!0,e.unsplitBehavior=c,A=this.planarSimplifyPolylines(F,n,s,e,-1)}if(!H){const e=[0];C=A.getImpl().getIsSimple(n.total(),e)}}else a(H),a(p>=0),A=2===t?new v({vd:x[p].getDescription()}):new I({vd:x[p].getDescription()});if(H){let e=0;for(let t=0,s=N.length;t<s;t++){const s=T[t];if(!(s<0)&&N[t]<0){const n=x[s].getGeometryType(),r=o(n)?x[s]:null;if(r){const s=-(N[t]+1);e+=r.getPathSize(s)}else e+=4}}A.reserve(A.getPointCount()+e);for(let t=0,s=N.length;t<s;t++){const e=T[t];if(!(e<0)&&N[t]<0){const s=x[e].getGeometryType(),i=o(s)?x[e]:null;if(i){const e=-(N[t]+1);A.addPath(i,e,!0)}else s===n.enumEnvelope?A.addEnvelope(x[e],!1):(a(r(s)),A.addSegment(x[e],!0))}}}let U=0;if(2===t?-1!==C&&(C=3,U=s?0:y.total()):(a(1===t),s||-1===C||(U=y.total())),u||A.getImpl().setIsSimple(C,U),!s&&H)if(2===t){if(!u)return(new Eh).execute(A,m,!1,this.m_progressTracker);a(0,"3d not yet implemented")}else 1===t&&1!==c&&(A=u?Ba():Ua(this.m_bOGCOutput,A,c,this.m_progressTracker),A.getImpl().setIsSimple(C,U));return A}dissolveTopoGraphCommonEdges_(){const e=this.m_topoGraph.createUserIndexForHalfEdges(),t=[];for(let s=this.m_topoGraph.getFirstCluster();s!==M;s=this.m_topoGraph.getNextCluster(s)){const n=this.m_topoGraph.getClusterHalfEdge(s);let r=n;if(n!==M)do{this.progress_();if(1!==this.m_topoGraph.getHalfEdgeUserIndex(r,e)){const s=this.m_topoGraph.getHalfEdgeTwin(r);this.m_topoGraph.setHalfEdgeUserIndex(s,e,1),this.m_topoGraph.setHalfEdgeUserIndex(r,e,1);const n=this.m_topoGraph.getHalfEdgeFaceParentage(r);if(this.isGoodParentage(n)){const e=this.m_topoGraph.getHalfEdgeFaceParentage(s);this.isGoodParentage(e)&&t.push(r)}}r=this.m_topoGraph.getHalfEdgeNext(this.m_topoGraph.getHalfEdgeTwin(r))}while(r!==n)}this.m_topoGraph.deleteUserIndexForHalfEdges(e),this.m_topoGraph.deleteEdgesBreakFaces_(t)}chooseVertexByOrder(e,t,s,n){let r=bt(),i=M;for(let a=this.m_topoGraph.getClusterVertexIterator(e);a!==M;a=this.m_topoGraph.incrementVertexIterator(a)){const e=this.m_topoGraph.getVertexFromVertexIterator(a),n=t.getUserIndex(e,s);n>=0&&n<r&&(r=n,i=e)}a(i!==M);let o=t.getUserIndex(i,n);return o>0&&(t.setUserIndex(i,n,--o),0===o&&t.setUserIndex(i,s,-1)),i}chooseVertexFromCluster_(e,t){return this.m_topoGraph.getVertexDominantFromCluster(e,t)}chooseVertexFromVertexCluster_(e,t){return this.m_topoGraph.getVertexDominant(e,t)}collectPolygonPathsPreservingFrom_(e,t,s,r,i){const o=this.m_topoGraph.getShape();if(o.getGeometryType(e)!==n.enumPolygon)return;const a=o.hasSegmentParentage(),h=new F;for(let n=o.getFirstPath(e);n!==M;n=o.getNextPath(n)){const e=o.getFirstVertex(n);this.m_topoGraph.getClusterFromVertex(e);const m=this.m_topoGraph.getHalfEdgeFromVertex(e);if(m===M)continue;const l=this.m_topoGraph.getHalfEdgeUserIndex(m,s);if(1===l||2===l)continue;const g=this.m_topoGraph.getHalfEdgeFaceParentage(m);if(!this.isGoodParentage(g)){this.m_topoGraph.setHalfEdgeUserIndex(m,s,2);continue}this.m_topoGraph.setHalfEdgeUserIndex(m,s,1);const u=o.insertPath(t,M);o.setClosedPath(u,!0);let c=m,_=e,d=this.m_topoGraph.getClusterFromVertex(_),p=1;do{this.progress_();const e=this.chooseVertexFromVertexCluster_(_,i),t=o.addVertex(u,e);if(this.m_topoGraph.isHalfEdgeCurve(c)&&(this.m_topoGraph.querySegmentXY(c,h),o.setSegmentToIndex(o.getVertexIndex(t),h.get().clone())),a){const e=this.m_topoGraph.getSegmentParentage(c);o.setSegmentParentageAndBreak(t,e,this.m_topoGraph.isBreakNode(d))}let n,m;-1!==r&&this.m_topoGraph.setClusterUserIndex(d,r,1),this.m_topoGraph.setHalfEdgeUserIndex(c,s,1),c=this.m_topoGraph.getHalfEdgeNext(c);do{n=1===p?o.getNextVertex(_):o.getPrevVertex(_),m=n!==M?this.m_topoGraph.getClusterFromVertex(n):M}while(m===d);const l=this.m_topoGraph.getHalfEdgeOrigin(c);if(l!==m){do{n=1===p?o.getPrevVertex(_):o.getNextVertex(_),m=n!==M?this.m_topoGraph.getClusterFromVertex(n):M}while(m===d);if(l!==m){m=l;const e=this.m_topoGraph.getClusterVertexIterator(m);n=this.m_topoGraph.getVertexFromVertexIterator(e)}else p=-p}d=m,_=n}while(c!==m)}}topoOperationPolygonPolygonHelper_(e,t,s,n,r,i){this.progress_(!0),e!==M&&this.collectPolygonPathsPreservingFrom_(e,s,r,i,n),t!==M&&this.collectPolygonPathsPreservingFrom_(t,s,r,i,n);const o=new F,a=this.m_topoGraph.getShape();a.dbgVerifyCurves();const h=a.hasSegmentParentage();for(let m=this.m_topoGraph.getFirstCluster();m!==M;m=this.m_topoGraph.getNextCluster(m)){const e=this.m_topoGraph.getClusterHalfEdge(m);if(e===M)continue;let t=e;do{this.progress_();const e=this.m_topoGraph.getHalfEdgeUserIndex(t,r);if(1!==e&&2!==e){const e=this.m_topoGraph.getHalfEdgeFaceParentage(t);if(this.isGoodParentage(e)){const e=a.insertPath(s,M);a.setClosedPath(e,!0);let m=t;do{const t=this.m_topoGraph.getHalfEdgeVertexIterator(m);let s=M;if(t!==M)s=this.m_topoGraph.getVertexFromVertexIterator(t);else{const e=this.m_topoGraph.getHalfEdgeVertexIterator(this.m_topoGraph.getHalfEdgeTwin(m));s=this.m_topoGraph.getVertexFromVertexIterator(e),s=a.getNextVertex(s)}const l=this.chooseVertexFromVertexCluster_(s,n),g=a.addVertex(e,l);if(h){const e=this.m_topoGraph.getSegmentParentage(m),t=this.m_topoGraph.getHalfEdgeOrigin(m);a.setSegmentParentageAndBreak(g,e,this.m_topoGraph.isBreakNode(t))}if(this.m_topoGraph.isHalfEdgeCurve(m)&&(this.m_topoGraph.querySegmentXY(m,o),a.setSegmentToIndex(a.getVertexIndex(g),o.get().clone())),this.m_topoGraph.setHalfEdgeUserIndex(m,r,1),-1!==i){const e=this.m_topoGraph.getClusterFromVertex(l);this.m_topoGraph.setClusterUserIndex(e,i,1)}m=this.m_topoGraph.getHalfEdgeNext(m)}while(m!==t)}else this.m_topoGraph.setHalfEdgeUserIndex(t,r,2)}t=this.m_topoGraph.getHalfEdgeNext(this.m_topoGraph.getHalfEdgeTwin(t))}while(t!==e)}}topoOperationPolygonPolygon_(e,t,s,r=!1){this.dissolveTopoGraphCommonEdges_();const i=this.m_topoGraph.getShape(),o=i.createGeometry(n.enumPolygon),a=this.m_topoGraph.createUserIndexForHalfEdges();return this.topoOperationPolygonPolygonHelper_(e,t,o,s,a,-1),this.m_topoGraph.deleteUserIndexForHalfEdges(a),r||er(i,o,3,this.m_bOGCOutput,M,this.m_progressTracker),o}topoOperationPolyline_(e,t){const s=Ha();return s.allCrossRoadsImpassable=!1,s.ogcRule=t,s.unsplitBehavior=0,this.topoOperationPolylineSimplifyOrPolylineTopoHelper_(M,e,!1,s).first}topoOperationMultiPoint_(){const e=this.m_topoGraph.getShape(),t=e.createGeometry(n.enumMultiPoint),s=e.insertPath(t,M);for(let n=this.m_topoGraph.getFirstCluster();n!==M;n=this.m_topoGraph.getNextCluster(n)){const t=this.m_topoGraph.getClusterParentage(n);if(this.isGoodParentage(t)){let t=M;for(let s=this.m_topoGraph.getClusterVertexIterator(n);s!==M;s=this.m_topoGraph.incrementVertexIterator(s)){const n=this.m_topoGraph.getVertexFromVertexIterator(s);t===M&&(t=n);const r=e.getGeometryFromPath(e.getPathFromVertex(n)),i=this.m_topoGraph.getGeometryID(r);if(this.isGoodParentage(i)){t=n;break}}e.addVertex(s,t)}}return t}intersection(e,t){const s=this.m_topoGraph.getShape().getGeometryType(e),n=this.m_topoGraph.getShape().getGeometryType(t),r=m(s),o=m(n),h=this.m_topoGraph.getGeometryID(e),l=this.m_topoGraph.getGeometryID(t);a(h>=0),a(l>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=1+(h|l),this.m_maskLookup[h|l]=!0;let g=M;return this.m_topoGraph.getShape().getVertexDescription().getAttributeCount()>1&&(g=e),2===r&&2===o?this.topoOperationPolygonPolygon_(e,t,g):1===r&&o>0||1===o&&r>0?this.topoOperationPolyline_(g,this.m_bOGCOutput):0===r||0===o?this.topoOperationMultiPoint_():void i("")}topoOperationPolygonPolygonEx(e,t,s){const r=this.m_topoGraph.getShape(),i=r.createGeometry(n.enumPolygon),o=r.createGeometry(n.enumPolyline),a=r.createGeometry(n.enumMultiPoint);this.dissolveTopoGraphCommonEdges_();let h=M;const m=this.m_topoGraph.createUserIndexForHalfEdges(),l=this.m_topoGraph.createUserIndexForClusters();r.dbgVerifyCurves(),this.topoOperationPolygonPolygonHelper_(e,t,i,s,m,l),r.dbgVerifyCurves();const g=r.hasSegmentParentage(),u=new F;for(let n=this.m_topoGraph.getFirstCluster();n!==M;n=this.m_topoGraph.getNextCluster(n)){const e=this.m_topoGraph.getClusterHalfEdge(n);if(e===M)continue;let t=e;do{let e=this.m_topoGraph.getHalfEdgeUserIndex(t,m),i=this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgeTwin(t),m),a=e|i;if(2===a){let h=this.m_topoGraph.getHalfEdgeParentage(t);if(this.isGoodParentage(h)){const c=r.insertPath(o,M);let _=t;const d=this.chooseVertexFromCluster_(n,s);let p=r.addVertex(c,d);if(g){const e=this.m_topoGraph.getSegmentParentage(t),s=this.m_topoGraph.getHalfEdgeOrigin(t);r.setSegmentParentageAndBreak(p,e,this.m_topoGraph.isBreakNode(s))}this.m_topoGraph.isHalfEdgeCurve(t)&&(this.m_topoGraph.querySegmentXY(t,u),r.setSegmentToIndex(r.getVertexIndex(p),u.get().clone())),this.m_topoGraph.setClusterUserIndex(n,l,1);do{this.progress_();const n=this.m_topoGraph.getHalfEdgeTo(_),o=this.chooseVertexFromCluster_(n,s);if(p=r.addVertex(c,o),g){const e=this.m_topoGraph.getSegmentParentage(t),s=this.m_topoGraph.getHalfEdgeOrigin(t);r.setSegmentParentageAndBreak(p,e,this.m_topoGraph.isBreakNode(s))}if(this.m_topoGraph.setHalfEdgeUserIndex(_,m,1),this.m_topoGraph.setHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgeTwin(_),m,1),this.m_topoGraph.setClusterUserIndex(n,l,1),_=this.m_topoGraph.getHalfEdgeNext(_),e=this.m_topoGraph.getHalfEdgeUserIndex(_,m),i=this.m_topoGraph.getHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgeTwin(_),m),a=e|i,2!==a)break;if(h=this.m_topoGraph.getHalfEdgeParentage(_),!this.isGoodParentage(h)){this.m_topoGraph.setHalfEdgeUserIndex(_,m,1),this.m_topoGraph.setHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgeTwin(_),m,1);break}this.m_topoGraph.isHalfEdgeCurve(t)&&_!==t&&(this.m_topoGraph.querySegmentXY(t,u),r.setSegmentToIndex(r.getVertexIndex(p),u.get().clone()))}while(_!==t)}else this.m_topoGraph.setHalfEdgeUserIndex(t,m,1),this.m_topoGraph.setHalfEdgeUserIndex(this.m_topoGraph.getHalfEdgeTwin(t),m,1)}t=this.m_topoGraph.getHalfEdgeNext(this.m_topoGraph.getHalfEdgeTwin(t))}while(t!==e)}for(let n=this.m_topoGraph.getFirstCluster();n!==M;n=this.m_topoGraph.getNextCluster(n)){this.progress_();if(1===this.m_topoGraph.getClusterUserIndex(n,l))continue;const e=this.m_topoGraph.getClusterParentage(n);if(this.isGoodParentage(e)){h===M&&(h=r.insertPath(a,M));const e=this.m_topoGraph.getClusterVertexIterator(n);let t=M;if(e!==M){t=this.m_topoGraph.getVertexFromVertexIterator(e);const n=this.chooseVertexFromVertexCluster_(t,s);r.addVertex(h,n)}}}this.m_topoGraph.deleteUserIndexForClusters(l),this.m_topoGraph.deleteUserIndexForHalfEdges(m),r.dbgVerifyCurves(),er(r,i,3,this.m_bOGCOutput,M,this.m_progressTracker);const c=[M,M,M];return c[0]=a,c[1]=o,c[2]=i,c}topoOperationPolylinePolylineOrPolygonEx(e,t){const s=Ha();return s.allCrossRoadsImpassable=!1,s.ogcRule=t,s.unsplitBehavior=0,this.topoOperationPolylineSimplifyOrPolylineTopoHelper_(M,e,!0,s)}topoOperationMultiPoint(){const e=this.m_topoGraph.getShape(),t=e.createGeometry(n.enumMultiPoint),s=e.insertPath(t,M);for(let n=this.m_topoGraph.getFirstCluster();n!==M;n=this.m_topoGraph.getNextCluster(n)){const t=this.m_topoGraph.getClusterParentage(n);if(this.isGoodParentage(t)){let t=M;for(let s=this.m_topoGraph.getClusterVertexIterator(n);s!==M;s=this.m_topoGraph.incrementVertexIterator(s)){const n=this.m_topoGraph.getVertexFromVertexIterator(s);t===M&&(t=n);const r=e.getGeometryFromPath(e.getPathFromVertex(n)),i=this.m_topoGraph.getGeometryID(r);if(this.isGoodParentage(i)){t=n;break}}e.addVertex(s,t)}}return t}intersectionEx(e,t){const s=this.m_topoGraph.getShape().getGeometryType(e),n=this.m_topoGraph.getShape().getGeometryType(t),r=Va(s),o=Va(n),h=this.m_topoGraph.getGeometryID(e),m=this.m_topoGraph.getGeometryID(t);a(h>=0),a(m>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=1+(h|m),this.m_maskLookup[h|m]=!0;let l=M;if(this.m_topoGraph.getShape().getVertexDescription().getAttributeCount()>1&&(l=e),2===r&&2===o)return this.topoOperationPolygonPolygonEx(e,t,l);if(1===r&&o>0||1===o&&r>0){const{first:e,second:t}=this.topoOperationPolylinePolylineOrPolygonEx(l,this.m_bOGCOutput);return[t,e]}if(0===r||0===o){const e=[];return e.push(this.topoOperationMultiPoint()),e}i("")}getCombinedHalfEdgeParentage(e){return this.m_topoGraph.getHalfEdgeParentage(e)|this.m_topoGraph.getHalfEdgeFaceParentage(e)|this.m_topoGraph.getHalfEdgeFaceParentage(this.m_topoGraph.getHalfEdgeTwin(e))}prevailingDirection(e,t){const s=this.getCombinedHalfEdgeParentage(t),n=this.m_topoGraph.getHalfEdgeOrigin(t),r=this.m_topoGraph.getHalfEdgeTo(t);let i=0,o=0;for(let a=this.m_topoGraph.getClusterVertexIterator(n);a!==M;a=this.m_topoGraph.incrementVertexIterator(a)){const n=this.m_topoGraph.getVertexFromVertexIterator(a),h=e.getPathFromVertex(n),m=e.getGeometryFromPath(h),l=this.m_topoGraph.getGeometryID(m),g=e.getFirstVertex(h),u=0!==(l&s);u&&g===n&&(this.m_fromEdgeForPolylines=t);const c=e.getNextVertex(n);if(c!==M&&this.m_topoGraph.getClusterFromVertex(c)===r){if(i++,u){if(this.m_fromEdgeForPolylines===M&&g===c){const e=this.m_topoGraph.getHalfEdgeNext(t);this.isGoodParentage(this.getCombinedHalfEdgeParentage(e))&&(this.m_fromEdgeForPolylines=e)}o++}}else{const s=e.getPrevVertex(n);if(s!==M&&this.m_topoGraph.getClusterFromVertex(s)===r&&(i--,u)){if(this.m_fromEdgeForPolylines===M&&g===s){const e=this.m_topoGraph.getHalfEdgeNext(t);this.isGoodParentage(this.getCombinedHalfEdgeParentage(e))&&(this.m_fromEdgeForPolylines=e)}o--}}}this.m_topoGraph.queryXY(n,this.m_dummyPt1),this.m_topoGraph.queryXY(r,this.m_dummyPt2);return(0!==o?o:i)*Qe.distance(this.m_dummyPt1,this.m_dummyPt2)}tryMoveThroughCrossroadBackwards(e,t){const s=this.m_topoGraph.getHalfEdgePrev(e),n=this.m_topoGraph.getHalfEdgeTwin(s);if(!t){if(this.m_topoGraph.isStrongPathNode(this.m_topoGraph.getHalfEdgeOrigin(e)))return M;const t=this.m_topoGraph.getHalfEdgeTwin(e);if(n===this.m_topoGraph.getHalfEdgeNext(t))return s}let r=n,i=M;for(;r!==e;){const e=this.getCombinedHalfEdgeParentage(r);if(this.isGoodParentage(e)){if(i!==M)return M;i=this.m_topoGraph.getHalfEdgeTwin(r)}r=this.m_topoGraph.getHalfEdgeTwin(this.m_topoGraph.getHalfEdgePrev(r))}return i}tryMoveThroughCrossroadForward(e,t){const s=this.m_topoGraph.getHalfEdgeNext(e),n=this.m_topoGraph.getHalfEdgeTwin(s);if(!t){const t=this.m_topoGraph.getHalfEdgeTwin(e);if(this.m_topoGraph.isStrongPathNode(this.m_topoGraph.getHalfEdgeOrigin(t)))return M;if(n===this.m_topoGraph.getHalfEdgePrev(t))return s}let r=n,i=M;for(;r!==e;){const e=this.getCombinedHalfEdgeParentage(r);if(this.isGoodParentage(e)){if(i!==M)return M;i=this.m_topoGraph.getHalfEdgeTwin(r)}r=this.m_topoGraph.getHalfEdgeTwin(this.m_topoGraph.getHalfEdgeNext(r))}return i}isOnALoop(e,t){let s=e;const n=2*this.m_topoGraph.getShape().getTotalPointCount()+10;for(let r=0;r<n;r++){if(1===this.m_topoGraph.getHalfEdgeUserIndex(s,t))return!1;const n=this.m_topoGraph.getHalfEdgeNext(s);if(n===this.m_topoGraph.getHalfEdgeTwin(s))return!1;if(s=n,s===e)return!0}i("is_on_a_loop_")}restorePolylineParts(e,t,s,n,r,i,o,h,m,l){a(r===M&&i>=0&&o>=0||-1===i&&-1===o),a(-1===h&&1!==l.unsplitBehavior||-1!==h&&1===l.unsplitBehavior);const g=l.ogcRule,u=l.allCrossRoadsImpassable,c=1===l.unsplitBehavior,_=0===l.unsplitBehavior,d=this.m_topoGraph.getShape(),p=d.hasSegmentParentage();let f=e,x=this.m_topoGraph.getHalfEdgeTwin(f);const y=new F;this.m_fromEdgeForPolylines=M;let P=this.prevailingDirection(d,f),E=f,S=M,C=!1,I=!1,b=!1;if(!c)for(;;){const t=this.m_topoGraph.getHalfEdgePrev(f);if(t===x){b=!0;break}const n=this.m_topoGraph.getHalfEdgeNext(x);if(this.m_topoGraph.isStrongPathNode(this.m_topoGraph.getHalfEdgeOrigin(n))){C=!0;break}if(this.m_topoGraph.getHalfEdgeTwin(t)!==n){if(u){C=!0;break}if(f=this.tryMoveThroughCrossroadBackwards(f,!0),f===M){C=!0;break}x=this.m_topoGraph.getHalfEdgeTwin(f)}else f=t,x=n;if(1===this.m_topoGraph.getHalfEdgeUserIndex(f,s)){b=!0;break}if(f===e){S=e,I=!0;break}const r=this.getCombinedHalfEdgeParentage(f);if(!this.isGoodParentage(r))break;E=f,P+=this.prevailingDirection(d,f)}if(S===M){for(f=e,x=this.m_topoGraph.getHalfEdgeTwin(f),S=f;;){const e=this.m_topoGraph.getHalfEdgeNext(f),t=this.m_topoGraph.isStrongPathNode(this.m_topoGraph.getHalfEdgeOrigin(e));if(t){C=!0;break}if(e===x){b=!0;break}if(-1!==h){const e=this.m_topoGraph.getHalfEdgeOrigin(x);if(1===this.m_topoGraph.getClusterUserIndex(e,h)){C=!0;break}}const n=this.m_topoGraph.getHalfEdgePrev(x);if(this.m_topoGraph.getHalfEdgeTwin(e)!==n){if(t||u){C=!0;break}if(f=this.tryMoveThroughCrossroadForward(f,!0),f===M){C=!0;break}x=this.m_topoGraph.getHalfEdgeTwin(f)}else f=e,x=n;if(1===this.m_topoGraph.getHalfEdgeUserIndex(f,s)){b=!0;break}const r=this.getCombinedHalfEdgeParentage(f);if(!this.isGoodParentage(r))break;S=f,P+=this.prevailingDirection(d,f)}const t=this.m_topoGraph.getHalfEdgeOrigin(E);I=this.m_topoGraph.getHalfEdgeTo(S)===t}else if(this.m_fromEdgeForPolylines!==M){E=e,S=this.tryMoveThroughCrossroadBackwards(E,!1),a(S!==M);const t=this.m_topoGraph.getHalfEdgeTwin(E);this.m_topoGraph.getHalfEdgeNext(t)}let w=I;I||b||m&&(w=this.isOnALoop(e,s),w||(w=this.isOnALoop(x,s)));const v=P>=0;let N=!1;w&&C&&(I?(N=g,v&&(N||c||_)&&E!==e&&(a(!c),E=e,N=!1)):(c||v&&_)&&(E=e));let T=0;for(f=E;x=this.m_topoGraph.getHalfEdgeTwin(f),this.m_topoGraph.setHalfEdgeUserIndex(f,s,1),this.m_topoGraph.setHalfEdgeUserIndex(x,s,1),T++,f!==S;)f=u?this.m_topoGraph.getHalfEdgeNext(f):this.tryMoveThroughCrossroadForward(f,!1);v||(S=rt(E,E=S),S=this.m_topoGraph.getHalfEdgeTwin(S),E=this.m_topoGraph.getHalfEdgeTwin(E));let G=d.insertPath(t,M);f=E;const D=this.m_topoGraph.getHalfEdgeOrigin(E);let V;V=-1!==i?this.chooseVertexByOrder(D,d,i,o):this.chooseVertexFromCluster_(D,r),this.m_topoGraph.isStrongPathNode(D)&&d.setStrongPathStart(G,!0);let H=d.addVertex(G,V),k=H;-1!==n&&this.m_topoGraph.setClusterUserIndex(D,n,1);let A=0;const U=N?Math.trunc((T+1)/2):-1;let q=M,B=!0,O=M;for(;;){if(p){const e=this.m_topoGraph.getSegmentParentage(f),t=this.m_topoGraph.getHalfEdgeOrigin(f);d.setSegmentParentageAndBreak(k,e,B||this.m_topoGraph.isBreakNode(t))}B=!1,this.m_topoGraph.isHalfEdgeCurve(f)&&(this.m_topoGraph.querySegmentXY(f,y),d.setSegmentToIndex(d.getVertexIndex(k),y.get().clone())),q!==M&&-1!==o&&d.addToUserIndex(q,o,-1);const e=u?this.m_topoGraph.getHalfEdgeNext(f):this.tryMoveThroughCrossroadForward(f,!1),s=this.m_topoGraph.getHalfEdgeTo(f);let a;if(a=-1!==i?this.chooseVertexByOrder(s,d,i,o):this.chooseVertexFromCluster_(s,r),H=d.addVertex(G,a),O=s,-1!==n&&this.m_topoGraph.setClusterUserIndex(s,n,1),p&&this.m_topoGraph.isBreakNode(s)&&d.setSegmentParentageBreakVertex(H,!0),q=a,A++,N&&A===U&&(G=d.insertPath(t,M),H=d.addVertex(G,a),B=!0,-1!==o&&d.addToUserIndex(a,o,-1),q=M),f===S)break;f=e,k=H}O!==M&&this.m_topoGraph.isStrongPathNode(O)&&d.setStrongPathEnd(G,!0)}topoOperationPolylineSimplify_(e,t){return this.topoOperationPolylineSimplifyOrPolylineTopoHelper_(e,M,!1,t).first}topoOperationPolylineSimplifyOrPolylineTopoHelper_(e,t,s,r){a(t===M||e===M);const i=this.m_topoGraph.getShape(),o=t=>t=e===M?t===M?i.getFirstGeometry():i.getNextGeometry(t):t===M?e:M,h=i.createGeometry(n.enumPolyline);let m=-1;s&&(m=this.m_topoGraph.createUserIndexForClusters());const l=this.m_topoGraph.createUserIndexForHalfEdges(),g=t===M?i.createUserIndex():-1,u=t===M?i.createUserIndex():-1;let c=-1;if(1===r.unsplitBehavior){c=this.m_topoGraph.createUserIndexForClusters();for(let e=o(M);e!==M;e=o(e))for(let t=i.getFirstPath(e);t!==M;t=i.getNextPath(t)){{const e=i.getFirstVertex(t),s=this.m_topoGraph.getClusterFromVertex(e);this.m_topoGraph.setClusterUserIndex(s,c,1)}if(!i.isClosedPath(t)){const e=i.getLastVertex(t),s=this.m_topoGraph.getClusterFromVertex(e);this.m_topoGraph.setClusterUserIndex(s,c,1)}}}if(t===M){let e=0;for(let t=o(M);t!==M;t=o(t))for(let s=i.getFirstPath(t);s!==M;s=i.getNextPath(s)){if(i.isClosedPath(s)){let t=i.getFirstVertex(s);for(let n=0,r=i.getPathSize(s);n<r;n++,t=i.getNextVertex(t))i.setUserIndex(t,g,e++),i.setUserIndex(t,u,2)}else{const t=i.getFirstVertex(s);i.setUserIndex(t,g,e++),i.setUserIndex(t,u,1);let n=i.getNextVertex(t);for(let r=1,o=i.getPathSize(s)-1;r<o;++r)i.setUserIndex(n,g,e++),i.setUserIndex(n,u,2),n=i.getNextVertex(n);i.setUserIndex(n,g,e++),i.setUserIndex(n,u,1)}}}for(let n=o(M);n!==M;n=o(n))for(let e=i.getFirstPath(n);e!==M;e=i.getNextPath(e)){let s=i.getFirstVertex(e);for(let n=0,o=i.getPathSize(e);n<o;n++,s=i.getNextVertex(s)){const e=this.m_topoGraph.getHalfEdgeFromVertex(s);if(e===M)continue;if(1===this.m_topoGraph.getHalfEdgeUserIndex(e,l))continue;const i=this.getCombinedHalfEdgeParentage(e);if(this.isGoodParentage(i)){const s=0===n;this.restorePolylineParts(e,h,l,m,t,g,u,c,s,r)}}}let _=M;if(s){_=i.createGeometry(n.enumMultiPoint);let e=M;for(let s=this.m_topoGraph.getFirstCluster();s!==M;s=this.m_topoGraph.getNextCluster(s)){this.progress_();if(1!==this.m_topoGraph.getClusterUserIndex(s,m)){const n=this.m_topoGraph.getClusterParentage(s);if(this.isGoodParentage(n)){e===M&&(e=i.insertPath(_,M));const n=this.m_topoGraph.getClusterVertexIterator(s);if(n!==M){let r;this.m_topoGraph.getVertexFromVertexIterator(n),r=-1!==g?this.chooseVertexByOrder(s,i,g,u):this.chooseVertexFromCluster_(s,t),i.addVertex(e,r)}}}}}return-1!==u&&i.removeUserIndex(u),-1!==g&&i.removeUserIndex(g),-1!==m&&i.removeUserIndex(m),this.m_topoGraph.deleteUserIndexForHalfEdges(l),mt(h,_)}difference(e,t){const s=this.m_topoGraph.getShape().getGeometryType(e),n=this.m_topoGraph.getShape().getGeometryType(t),r=m(s),o=m(n);if(r>o)return e;const a=this.m_topoGraph.getGeometryID(e),h=this.m_topoGraph.getGeometryID(t);if(this.m_maskLookup.length=0,this.m_maskLookup.length=1+(a|h),this.m_maskLookup[a]=!0,2===r&&2===o){let s=M;return this.m_topoGraph.getShape().getVertexDescription().getAttributeCount()>1&&(s=e),this.topoOperationPolygonPolygon_(e,t,s)}if(1===r&&2===o){const t=Ha();return t.allCrossRoadsImpassable=!1,t.ogcRule=this.m_bOGCOutput,t.unsplitBehavior=0,this.topoOperationPolylineSimplifyOrPolylineTopoHelper_(e,M,!1,t).first}if(1===r&&1===o){const t=Ha();return t.allCrossRoadsImpassable=!0,t.ogcRule=this.m_bOGCOutput,t.unsplitBehavior=0,this.topoOperationPolylineSimplifyOrPolylineTopoHelper_(e,M,!1,t).first}if(0===r)return this.topoOperationMultiPoint_();i("")}symmetricDifference(e,t){const s=this.m_topoGraph.getShape().getGeometryType(e),n=this.m_topoGraph.getShape().getGeometryType(t),r=Va(s),o=Va(n),h=this.m_topoGraph.getGeometryID(e),m=this.m_topoGraph.getGeometryID(t);return a(h>=0),a(m>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=1+(h|m),this.m_maskLookup[h]=!0,this.m_maskLookup[h]=!0,this.m_maskLookup[m]=!0,2===r&&2===o?this.topoOperationPolygonPolygon_(e,t,M):1===r&&1===o?this.topoOperationPolyline_(M,this.m_bOGCOutput):0===r&&0===o?this.topoOperationMultiPoint():void i("")}planarSimplifyNoCrackingAndCluster(e,t,s,r){this.m_bOGCOutput=e,this.m_topoGraph=new tn;const o=t.getFillRule(s),h=t.getGeometryType(s);if(1!==o||h===n.enumMultiPoint?this.m_topoGraph.setAndSimplifyEditShapeAlternate(t,s,this.m_progressTracker):this.m_topoGraph.setAndSimplifyEditShapeWinding(t,s,this.m_progressTracker),this.m_topoGraph.dirtyCheckFailed())return!1;this.m_topoGraph.setCheckDirtyPlanesweepTolerance(Number.NaN);const m=this.m_topoGraph.getGeometryID(s);if(a(m>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=m+1,this.m_maskLookup[m]=!0,t.getGeometryType(s)===n.enumPolygon||1===o&&t.getGeometryType(s)!==n.enumMultiPoint){t.setFillRule(s,0);const n=this.topoOperationPolygonPolygon_(s,M,M);if(t.swapGeometry(n,s),t.removeGeometry(n),1===o&&this.m_bOGCOutput)return this.planarSimplifyNoCrackingAndCluster(e,t,s,r)}else if(t.getGeometryType(s)===n.enumPolyline){const e=Ha();e.ogcRule=this.m_bOGCOutput,e.allCrossRoadsImpassable=!0,e.unsplitBehavior=r;const n=this.topoOperationPolylineSimplify_(t.getFirstGeometry(),e);t.swapGeometry(n,s),t.removeGeometry(n)}else if(t.getGeometryType(s)===n.enumMultiPoint){const e=this.topoOperationMultiPoint_();t.swapGeometry(e,s),t.removeGeometry(e)}else i("");return!0}unsplitPolylineExact(e){return a(0),new I}planarSimplifyPolylines(e,t,s,r,i){for(let _=e.getFirstGeometry();_!==M;_=e.getNextGeometry(_)){const t=e.getGeometryType(_);a(t===n.enumPolyline)}let o=0,h=0,m=null;if(e.hasCurves()&&!e.hasSegmentParentage()){m=new fa;const s=e.getEnvelope2D(this.m_progressTracker);h=da(t.total());const n=_a(t.total(),s);o=pa(n,h),aa(e,n,t.total(),12e3,m,null,this.m_progressTracker)}{const s=Ia(t.add(o));e.filterClosePoints(s,!1,!1,!1,M)}if(this.m_topoGraph=new tn,4!==i&&5!==i)if(null===m&&s){const n=new Dn(this.m_progressTracker,!1);n.sweepVertical(e,t.total()),n.hadComplications()?(ya(e,t,this.m_progressTracker,!0,!1),s=!1):this.m_topoGraph.setCheckDirtyPlanesweepTolerance(t.total())}else ya(e,t.add(o),this.m_progressTracker,!0,!1),s=!1;else s=!1;e.removeSelection(),e.collapseAllGeometriesToFirst();const l=e.getFirstGeometry();if(this.m_topoGraph.setAndSimplifyEditShapeAlternate(e,l,this.m_progressTracker),this.m_topoGraph.dirtyCheckFailed())return a(s&&null===m),this.m_topoGraph.removeShape(),this.m_topoGraph=null,this.planarSimplifyPolylines(e,t,!1,r,-1);this.m_topoGraph.setCheckDirtyPlanesweepTolerance(Number.NaN);const g=this.m_topoGraph.getGeometryID(l);a(g>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=g+1,this.m_maskLookup[g]=!0;const u=this.topoOperationPolylineSimplify_(e.getFirstGeometry(),r);null!==m&&m.stitchCurves(e,u,h,!0);const c=e.getGeometry(u);return s||c.getImpl().setIsSimple(4,t.total()),c}planarSimplifyMultiPoints(e,t,s,r){for(let l=e.getFirstGeometry();l!==M;l=e.getNextGeometry(l)){const t=e.getGeometryType(l);a(t===n.enumMultiPoint)}this.m_topoGraph=new tn,4!==r&&5!==r?(ya(e,t,this.m_progressTracker,!0,!1),s=!1):s=!1,e.removeSelection(),e.collapseAllGeometriesToFirst();const i=e.getFirstGeometry();if(this.m_topoGraph.setAndSimplifyEditShapeAlternate(e,i,this.m_progressTracker),this.m_topoGraph.dirtyCheckFailed())return a(s),this.m_topoGraph.removeShape(),this.m_topoGraph=null,this.planarSimplifyMultiPoints(e,t,!1,-1);this.m_topoGraph.setCheckDirtyPlanesweepTolerance(Number.NaN);const o=this.m_topoGraph.getGeometryID(i);a(o>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=o+1,this.m_maskLookup[o]=!0;const h=this.topoOperationMultiPoint(),m=e.getGeometry(h);return s||m.getImpl().setIsSimple(4,t.total()),m}planarSimplifyPolygons(e,t,s,r,i,o){for(let f=e.getFirstGeometry();f!==M;f=e.getNextGeometry(f)){const t=e.getGeometryType(f);a(t===n.enumPolygon||t===n.enumPolyline&&s)}let h=0,m=0,l=null;if(e.hasCurves()&&!e.hasSegmentParentage()){l=new fa;const s=e.getEnvelope2D(this.m_progressTracker);m=da(t.total());const n=_a(t.total(),s);h=pa(n,m),aa(e,n,t.total(),12e3,l,null,this.m_progressTracker)}if(o){ya(e,t.add(h),this.m_progressTracker,!0,!1);for(let t=e.getFirstGeometry();t!==M;t=e.getNextGeometry(t))e.getGeometryType(t)===n.enumPolygon&&er(e,t,-1,!1,M,this.m_progressTracker)}if(this.m_topoGraph=new tn,o||4===i||5===i)r=!1;else if(null===l&&r){const s=new Dn(this.m_progressTracker,!1);s.sweepVertical(e,t.total()),s.hadComplications()?(ya(e,t,this.m_progressTracker,!0,!1),r=!1):this.m_topoGraph.setCheckDirtyPlanesweepTolerance(t.total())}else ya(e,t.add(h),this.m_progressTracker,!0,!1),r=!1;e.removeSelection(),e.collapseAllGeometriesToFirst();const g=e.getFirstGeometry();if(s?this.m_topoGraph.setAndSimplifyEditShapeWinding(e,g,this.m_progressTracker):this.m_topoGraph.setAndSimplifyEditShapeAlternate(e,g,this.m_progressTracker),this.m_topoGraph.dirtyCheckFailed())return a(r&&null===l),this.m_topoGraph.removeShape(),this.m_topoGraph=null,this.planarSimplifyPolygons(e,t,s,!1,-1,!1);this.m_topoGraph.setCheckDirtyPlanesweepTolerance(Number.NaN);const u=this.m_topoGraph.getGeometryID(g);a(u>=0),this.m_maskLookup.length=0,this.m_maskLookup.length=u+1,this.m_maskLookup[u]=!0,e.setFillRule(g,0);const c=this.m_bOGCOutput&&s,_=c;let d=this.topoOperationPolygonPolygon_(g,M,M,_);if(c){this.m_topoGraph.removeShape(),this.m_topoGraph=null,e.removeGeometry(g),this.m_topoGraph=new tn,this.m_topoGraph.setAndSimplifyEditShapeAlternate(e,d,this.m_progressTracker);d=this.topoOperationPolygonPolygon_(d,M,M,!1)}null!==l&&l.stitchCurves(e,d,m,!0);const p=e.getGeometry(d);return p.setFillRule(0),r?p.getImpl().setIsSimple(3,0):(p.getImpl().setIsSimple(4,t.total()),p.getImpl().updateOGCFlagsProtected()),p}planarSimplify3DImpl_(e,t,s,n,r){return a(0),{}}planarSimplifyImpl_(e,t,s,r,o,a,h,m){if(e.isEmpty())return e.clone();const l=e.getGeometryType(),g=new G,u=g.addGeometry(e);if(Te(o)&&l===n.enumPolygon&&(s=!1,g.setFillRule(u,0)),m&&(e.hasAttribute(1)&&g.replaceNaNs(1,0),g.removeNaNVertices()),l===n.enumPolygon||l===n.enumPolyline&&s)return this.planarSimplifyPolygons(g,t,s,r,o,!1);if(l===I.type){const e=Ha();return e.allCrossRoadsImpassable=!0,e.ogcRule=this.m_bOGCOutput,e.unsplitBehavior=h,this.planarSimplifyPolylines(g,t,r,e,o)}if(l===n.enumMultiPoint)return this.planarSimplifyMultiPoints(g,t,r,o);i("what else?")}}function Qa(e,t,s,n){if(e.isEmpty())return e.createInstance();if(t.isEmpty())return n?e.createInstance():new fe({copy:e});const r=[new Qe],o=[0],a=2===t.getDimension();return 1!==t.getDimension()&&2!==t.getDimension()&&i(""),r[0]=e.getXY(),a?Wo(t,r,1,s.total(),o):jo(t,r,1,s.total(),o),0===o[0]?e.createInstance():e}function Ja(e,t,s,n){const r=e.createInstance(),o=lt(Qe,100),a=new Array(100),h=e.getPointCount();let m=!0;const l=2===t.getDimension();1!==t.getDimension()&&2!==t.getDimension()&&i("");for(let i=0;i<h;){const n=e.queryCoordinates(o,o.length,i,-1)-i;l?Wo(t,o,n,s.total(),a):jo(t,o,n,s.total(),a);let h=0;for(let t=0;t<n;t++){0===a[t]&&(m&&(m=!1,r.addPoints(e,0,i)),h!==t&&r.addPoints(e,i+h,i+t),h=t+1)}m||h===n||r.addPoints(e,i+h,i+n),i+=n}return m?e:r}function $a(e,t,s,r){const i=e.getGeometryType();if(i===n.enumEnvelope){const t=new v({vd:e.getDescription()});return e.isEmpty()||t.addEnvelope(e,!1),t}if(i===n.enumPoint&&("|"===r||"^"===r)){const t=new N({vd:e.getDescription()});return e.isEmpty()||t.add(e),t}if(i===n.enumLine){const t=new I({vd:e.getDescription()});return e.isEmpty()||t.addSegment(e,!0),t}if(i===n.enumMultiPoint&&"-"===r&&t.getGeometryType()===n.enumPoint){const t=new fe({vd:e.getDescription()});return e.isEmpty()||e.getPointByVal(0,t),t}if(i===n.enumMultiPoint&&"&"===r&&t.getGeometryType()===n.enumPoint){const t=new fe({vd:e.getDescription()});return e.isEmpty()||e.getPointByVal(0,t),t}return e}function eh(e){const s=e.getGeometryType();if(s===n.enumEnvelope){const t=new v({vd:e.getDescription()});return e.isEmpty()||t.addEnvelope(e,!1),t}if(s===n.enumPoint){const t=new N({vd:e.getDescription()});return e.isEmpty()||t.add(e),t}if(Da(s)){const t=new I({vd:e.getDescription()});return e.isEmpty()||t.addSegment(e,!0),t}return s!==n.enumMultiPoint&&s!==n.enumPolyline&&s!==n.enumPolygon&&t("Unexpected geometry type"),e}function th(e,t,s,n){const r=s===M?e.getClusterHalfEdge(t):s;let i=r;a(e.getHalfEdgeOrigin(r)===t);do{n(i),i=e.getHalfEdgeNext(e.getHalfEdgeTwin(i))}while(i!==r)}class sh{constructor(e,t,s,n,r,i){this.m_rParent=e,this.m_rTopoGraph=e.m_topoGraph,this.m_rShape=this.m_rTopoGraph.getShape(),this.m_IDCuttee=this.m_rTopoGraph.getGeometryID(n),this.m_IDCutter=this.m_rTopoGraph.getGeometryID(r),this.m_IDBoth=this.m_IDCuttee|this.m_IDCutter,this.m_bConsiderTouch=t,this.m_sideIndex=s,this.m_cuttee=n,this.m_cutter=r,this.m_rCutHandles=i,this.m_cutteeBreadcrumbsIndex=this.m_rShape.createUserIndexUninitialized(),this.m_clusterParentageIndex=this.m_rShape.createUserIndexUninitialized();for(let o=this.m_rShape.getFirstPath(this.m_cuttee);o!==M;o=this.m_rShape.getNextPath(o)){let e=0;const t=this.m_rShape.getPathSize(o);for(let s=this.m_rShape.getFirstVertex(o);e<t;e++,s=this.m_rShape.getNextVertex(s))this.m_rShape.setUserIndex(s,this.m_clusterParentageIndex,this.m_rTopoGraph.getClusterParentage(this.m_rTopoGraph.getClusterFromVertex(s)))}}Do(){this.cutPolylinePolyline_(),this.m_rShape.removeUserIndex(this.m_cutteeBreadcrumbsIndex),this.m_rShape.removeUserIndex(this.m_clusterParentageIndex)}setTbd(e){return 8|e}classifyStandardCut(e,t,s,n){const r=this.m_rShape.getPrevVertex(e),i=this.m_rShape.getNextVertex(e),o=r===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(r)),a=i===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(i)),h=this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(s)),m=this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(n));let l=1,g=32,u=32;if(th(this.m_rTopoGraph,t,m,(e=>{e===h&&(l=2),e===o&&(g=l),e===a&&(u=l)})),this.m_bConsiderTouch)32!==g&&this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex)|g),32!==u&&this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex)|u);else{if(32===g||32===u)return 1;if(g===u&&!(o===h||o===m||a===h||a===m))return 1;this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex)|g),this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex)|u)}return 0}classifyTouchCut(e,t,s,n){const r=this.m_rShape.getPrevVertex(e),i=this.m_rShape.getNextVertex(e),o=r===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(r)),a=i===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(i)),h=s===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(s)),m=n===M?M:this.m_rTopoGraph.getHalfEdgeConnector(t,this.m_rTopoGraph.getClusterFromVertex(n));if(!this.m_bConsiderTouch){let t;return(t=h===o||m===o)?this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex))):(t=h===a||m===a)&&this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex))),t?0:1}if(o===M)return this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex))),0;if(a===M)return this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex))),0;if(o===a)return this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex))),this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex))),0;if(m!==M){if(o===m)return this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex))),0;if(a===m)return this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex))),0;let s=1;th(this.m_rTopoGraph,t,m,(t=>{if(t===o){const e=this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex)|s;this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,e),s=2}else if(t===a){const t=this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex)|s;this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,t),s=2}}))}else{if(o===h)return this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex))),0;if(a===h)return this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,this.setTbd(this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex))),0;let s=2;th(this.m_rTopoGraph,t,h,(t=>{if(t===o){const e=this.m_rShape.getUserIndex(r,this.m_cutteeBreadcrumbsIndex)|s;this.m_rShape.setUserIndex(r,this.m_cutteeBreadcrumbsIndex,e),s=1}else if(t===a){const t=this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex)|s;this.m_rShape.setUserIndex(e,this.m_cutteeBreadcrumbsIndex,t),s=1}}))}return 0}classifyCutVertex(e,t){let s=0,n=0;for(let r=this.m_rTopoGraph.getClusterVertexIterator(t);r!==M;r=this.m_rTopoGraph.incrementVertexIterator(r)){const i=this.m_rTopoGraph.getVertexFromVertexIterator(r);if(this.m_rShape.getGeometryFromVertex(i)===this.m_cutter){n++;const r=this.m_rShape.getPrevVertex(i),o=this.m_rShape.getNextVertex(i);s+=r===M||o===M?this.classifyTouchCut(e,t,r,o):this.classifyStandardCut(e,t,r,o)}}n&&s===n&&!this.m_bConsiderTouch&&this.m_rShape.setUserIndex(e,this.m_clusterParentageIndex,this.m_IDCuttee)}cutPolylinePolyline_(){this.m_rShape.getGeometryType(this.m_cuttee),this.m_rShape.getGeometryType(this.m_cutter),this.m_rParent.m_maskLookup.length=0,this.m_rParent.m_maskLookup.length=this.m_IDBoth+1,this.m_rParent.m_maskLookup[this.m_IDBoth]=!0;for(let n=this.m_rShape.getFirstPath(this.m_cuttee);n!==M;n=this.m_rShape.getNextPath(n)){const e=this.m_rShape.getPathSize(n);let t=this.m_rShape.getFirstVertex(n);for(let s=0;s<e;++s,t=this.m_rShape.getNextVertex(t))this.m_rShape.setUserIndex(t,this.m_cutteeBreadcrumbsIndex,0);t=this.m_rShape.getFirstVertex(n);for(let s=0;s<e;++s,t=this.m_rShape.getNextVertex(t)){const e=this.m_rTopoGraph.getClusterFromVertex(t);this.m_rTopoGraph.getClusterParentage(e)===this.m_IDBoth&&this.classifyCutVertex(t,e)}}const e=(e,t)=>{let s=this.m_rShape.getUserIndex(e,this.m_cutteeBreadcrumbsIndex);const n=this.m_rTopoGraph.getHalfEdgeConnector(this.m_rTopoGraph.getClusterFromVertex(e),this.m_rTopoGraph.getClusterFromVertex(t));return(this.m_rTopoGraph.getHalfEdgeParentage(n)&this.m_IDBoth)===this.m_IDBoth&&(s|=4),s};for(let n=this.m_rShape.getFirstPath(this.m_cuttee);n!==M;n=this.m_rShape.getNextPath(n)){let t=this.m_rShape.getFirstVertex(n);const s=this.m_rShape.isClosedPath(n),r=this.m_rShape.getPathSize(n)+(s?1:0);let i=1,o=32;for(let n=this.m_rShape.getNextVertex(t);i<r;++i,t=n,n=this.m_rShape.getNextVertex(n)){const s=e(t,n);this.m_rShape.getUserIndex(t,this.m_clusterParentageIndex)===this.m_IDBoth&&(o=s),32!==o&&this.m_rShape.setUserIndex(t,this.m_cutteeBreadcrumbsIndex,o|s)}t=this.m_rShape.getLastVertex(n);let a=32;i=1;for(let n=this.m_rShape.getPrevVertex(t);i<r;++i,t=n,n=this.m_rShape.getPrevVertex(n)){const s=e(n,t);this.m_rShape.getUserIndex(t,this.m_clusterParentageIndex)===this.m_IDBoth&&(a=s),32!==a&&this.m_rShape.setUserIndex(n,this.m_cutteeBreadcrumbsIndex,a|s)}}let t=M,s=M,r=32;const i=this.m_rShape.hasSegmentParentage(),o=new F;for(let a=this.m_rShape.getFirstPath(this.m_cuttee);a!==M;a=this.m_rShape.getNextPath(a)){const e=this.m_rShape.isClosedPath(a),h=this.m_rShape.getPathSize(a)+(e?1:0);let m=1,l=this.m_rShape.getFirstVertex(a),g=M,u=!0;for(let a=this.m_rShape.getNextVertex(l);m<h;++m,a=this.m_rShape.getNextVertex(a)){let e=this.m_rShape.getUserIndex(l,this.m_cutteeBreadcrumbsIndex);8===e?e=3:(e&=-9,4&e?e=4:3&~e||(e=3)),e!==r?(t!==M&&(g=this.m_rShape.addVertex(s,l),i&&this.m_rTopoGraph.isBreakNode(this.m_rTopoGraph.getClusterFromVertex(l))&&this.m_rShape.setSegmentParentageBreakVertex(g,!0),this.m_rCutHandles.push(t),this.m_rShape.setGeometryUserIndex(t,this.m_sideIndex,r)),t=this.m_rShape.createGeometry(n.enumPolyline),s=this.m_rShape.insertPath(t,M),r=e,u=!0):this.m_rShape.getUserIndex(l,this.m_clusterParentageIndex)===this.m_IDBoth&&4!==e&&(g=this.m_rShape.addVertex(s,l),i&&this.m_rTopoGraph.isBreakNode(this.m_rTopoGraph.getClusterFromVertex(l))&&this.m_rShape.setSegmentParentageBreakVertex(g,!0),s=this.m_rShape.insertPath(t,M),u=!0),g=this.m_rShape.addVertex(s,l);const h=this.m_rTopoGraph.getClusterFromVertex(l);!u&&i&&this.m_rTopoGraph.isBreakNode(h)&&this.m_rShape.setSegmentParentageBreakVertex(g,!0);const m=this.m_rTopoGraph.getHalfEdgeFromVertex(l);if(i){const e=this.m_rTopoGraph.getSegmentParentage(m);this.m_rShape.setSegmentParentageAndBreak(g,e,u||this.m_rTopoGraph.isBreakNode(h))}this.m_rTopoGraph.isHalfEdgeCurve(m)&&(this.m_rTopoGraph.querySegmentXY(m,o),this.m_rShape.setSegmentToIndex(this.m_rShape.getVertexIndex(g),o.get().clone())),l=a,u=!1}g=this.m_rShape.addVertex(s,l),i&&this.m_rTopoGraph.isBreakNode(this.m_rTopoGraph.getClusterFromVertex(l))&&this.m_rShape.setSegmentParentageBreakVertex(g,!0),this.m_rCutHandles.push(t),this.m_rShape.setGeometryUserIndex(t,this.m_sideIndex,r),t=M,s=M,r=32}}}function nh(e,t,s){return new Ka(s).linesToPolygonsImpl(e,t)}function rh(t,s,o,a,h){if(a&&(a.m_reason=0,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),t.isEmpty())return 5;const m=t.getGeometryType();if(m===n.enumPoint)return mh(t,a);const l=me(s,t,!1).total();if(m===n.enumEnvelope){const s=t,n=new e;return s.queryEnvelope(n),n.isDegenerate(l)?(a&&(a.m_reason=4,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),0):5}if(r(m)){const e=t,n=new I({vd:e.getDescription()});return n.addSegment(e,!0),oh(n,s,o,a,h)}const g=[0],u=t.getImpl().getIsSimple(l,g);let c=o?-1:u;if(ce(c)||0===c)return c;const _=new Ph(t,s,c,h,!1);m===n.enumMultiPoint||m===n.enumPolyline||m===n.enumPolygon?c=_.isSimplePlanarImpl():i("");return t.getImpl().setIsSimple(c,l),a&&a.assign(_.m_nonSimpleResult),c}function ih(t,s,o,a,h){if(a&&(a.m_reason=0,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),t.isEmpty())return 5;const m=t.getGeometryType();if(m===n.enumPoint)return mh(t,a);const l=me(s,t,!1).total();if(m===n.enumEnvelope){const s=t,n=new e;return s.queryEnvelope(n),n.isDegenerate(l)?(a&&(a.m_reason=4,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),0):5}if(r(m)){const e=t,n=new I({vd:e.getDescription()});return n.addSegment(e,!0),ih(n,s,o,a,h)}f(m),d(m)||u("OGC simplify is not implemented for this geometry type");const g=[0],c=t.getImpl().getIsSimple(l,g);let _=o?-1:c;if(5===_||0===_)return _;const p=new Ph(t,s,_,h,!0);m===n.enumMultiPoint||m===n.enumPolyline||m===n.enumPolygon?(_=p.isSimplePlanarImpl(),ce(_)&&(_=5)):i("");return t.getImpl().setIsSimple(_,l),a&&a.assign(p.m_nonSimpleResult),_}function oh(t,s,o,a,h){if(a&&(a.m_reason=0,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),t.isEmpty())return 5;const m=t.getGeometryType();if(m===n.enumPoint)return mh(t,a);const l=me(s,t,!1).total();if(m===n.enumEnvelope){const s=t,n=e.constructEmpty();return s.queryEnvelope(n),n.isDegenerate(l)?(a&&(a.m_reason=4,a.m_vertexIndex1=-1,a.m_vertexIndex2=-1),0):5}if(r(m)){const e=t,n=new I({vd:e.getDescription()});return n.addSegment(e,!0),oh(n,s,o,a,h)}const g=[0],u=t.getImpl().getIsSimple(l,g);let c=o?-1:u;if(-1!==c)return c;const _=new Ph(t,s,c,h,!1);return m===n.enumMultiPoint?c=_.multipointIsSimpleAsFeature():m===n.enumPolyline?c=_.polylineIsSimpleAsFeature():m===n.enumPolygon?c=_.polygonIsSimpleAsFeature():i(""),t.getImpl().setIsSimple(c,l),a&&a.assign(_.m_nonSimpleResult),c}function ah(t,s,o,a){if(t.isEmpty())return t;const h=t.getGeometryType();if(h===n.enumPoint){const e=new ts;if(mh(t,e),3===e.m_reason){const e=t.clone();return e.replaceNaNs(1,0),e}return 2===e.m_reason?t.createInstance():t}if(h===n.enumEnvelope){const n=me(s,t,!0).total(),r=t,i=e.constructEmpty();return r.queryEnvelope(i),i.isDegenerate(n)?r.createInstance():t}if(r(h)){const e=t,n=new I({vd:e.getDescription()});return n.addSegment(e,!0),ah(n,s,o,a)}f(h);const m=me(s,t,!1).total(),l=[0],g=t.getImpl().getIsSimple(m,l),u=o?-1:g;if(ce(u)){if(h===n.enumPolygon&&0!==t.getFillRule()){const e=t.clone();return e.setFillRule(0),e}return t}if((h===n.enumMultiPoint||h===n.enumPolyline)&&u>=1)return t;const c=new Ph(t,s,u,a,!1);let _;return h===n.enumMultiPoint?_=c.multipointSimplifyAsFeature():h===n.enumPolyline?_=c.polylineSimplifyAsFeature():h===n.enumPolygon?_=c.polygonSimplifyAsFeature():i(""),_}function hh(t,s,i,o){if(t.isEmpty())return t;const a=t.getGeometryType();if(a===n.enumPoint){const e=new ts;if(mh(t,e),3===e.m_reason){const e=t.clone();return e.replaceNaNs(1,0),e}return 2===e.m_reason?t.createInstance():t}if(a===n.enumEnvelope){const n=t,r=new e;n.queryEnvelope(r);const i=me(s,t,!0).total();return r.isDegenerate(i)?n.createInstance():t}if(r(a)){const e=t,n=new I({vd:e.getDescription()});return n.addSegment(e,!0),hh(n,s,i,o)}f(a),d(a)||u("OGC simplify is not implemented for this geometry type");const h=me(s,t,!1).total(),m=[0],l=t.getImpl().getIsSimple(h,m),g=i?-1:l;if(5===g){if(a===n.enumPolygon&&0!==t.getFillRule()){const e=t.clone();return e.setFillRule(0),e}return t}return Aa(t,me(s,t,!0),!1,g,o,0,!0)}function mh(e,t){const s=e.getX(),n=e.getY();if(!Number.isFinite(s)||!Number.isFinite(n))return t&&(t.m_reason=2,t.m_vertexIndex1=-1,t.m_vertexIndex2=-1),0;if(e.hasAttribute(1)){const s=e.getZ();if(!Number.isFinite(s))return t&&(t.m_reason=Number.isNaN(s)?3:2,t.m_vertexIndex1=-1,t.m_vertexIndex2=-1),0}return 5}class lh{constructor(){this.m_segment=null,this.m_vertexIndex=-1,this.m_pathIndex=-1,this.m_flags=0}setReversed(e){this.m_flags&=-2,this.m_flags=this.m_flags|(e?1:0)}getReversed(){return!!(1&this.m_flags)}getRightSide(){return this.getReversed()?0:1}}function gh(){return{x:-1,y:-1,ipath:-1,ivertex:-1,ipolygon:-1}}function uh(e,t,s,n,r){return{x:e,y:t,ipath:s,ivertex:n,ipolygon:r}}function ch(e,t){return e.x===t.x&&e.y===t.y&&e.ipath===t.ipath&&e.ivertex===t.ivertex&&e.ipolygon===t.ipolygon}function _h(e,t){e.x=t.x,e.y=t.y,e.ipath=t.ipath,e.ivertex=t.ivertex,e.ipolygon=t.ipolygon}function dh(){return{x:-1,y:-1,ipath:-1,ivertex:-1,bBoundary:!1,bEndPoint:!1}}function ph(e,t,s,n,r,i){return{x:e,y:t,ipath:s,ivertex:n,bBoundary:r,bEndPoint:i}}function fh(e,t){e.x=t.x,e.y=t.y,e.ipath=t.ipath,e.ivertex=t.ivertex,e.bBoundary=t.bBoundary,e.bEndPoint=t.bEndPoint}class xh extends Ye{constructor(e){super(),this.m_helper=e}compare(e,t,s){const n=e.getElement(s),r=this.m_helper.m_xy.read(2*t)-this.m_helper.m_xy.read(2*n);return r<0?-1:r>0?1:0}}class yh extends Ye{constructor(e){super(),this.m_helper=e}compare(e,t,s){const n=e.getElement(s),r=this.m_helper.m_edges[t],i=this.m_helper.m_edges[n],o=r.getReversed(),a=i.getReversed();let h=r.m_segment.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0),m=i.m_segment.intersectionOfYMonotonicWithAxisX(this.m_helper.m_yScanline,0);if(h===m){const e=o?r.m_segment.getStartY():r.m_segment.getEndY(),t=a?i.m_segment.getStartY():i.m_segment.getEndY(),s=Math.min(e,t);let n=.5*(s-this.m_helper.m_yScanline)+this.m_helper.m_yScanline;n===this.m_helper.m_yScanline&&(n=s),h=r.m_segment.intersectionOfYMonotonicWithAxisX(n,0),m=i.m_segment.intersectionOfYMonotonicWithAxisX(n,0)}return h<m?-1:h>m?1:0}}class Ph{constructor(e,t,s,n,r){this.m_multiVertexGeom=null,this.m_edges=[],this.m_freeEdges=[],this.m_lineEdgesRecycle=[],this.m_newEdges=[],this.m_recycledSegIter=null,this.m_crossOverHelperList=new Pe,this.m_progressTracker=null,this.m_progressCounter=0,this.m_AET=new Ee,this.m_xyToNode1=null,this.m_xyToNode2=null,this.m_pathOrientations=null,this.m_pathParentage=null,this.m_xy=null,this.m_pairs=[],this.m_pairIndices=null,this.m_pathsForOGCTests=[],this.m_curveStitcher=null,this.m_editShape=null,this.m_multiPathStitcher=null,this.m_nonSimpleResult=new ts,this.m_progressCounter=0,this.m_progressTracker=n,this.m_geometry=e,this.m_knownSimpleResult=s,this.m_sr=t;const i=me(t,e,!1);this.m_toleranceIsSimple=i,this.m_toleranceIsSimpleClustering=ye(i),this.m_toleranceIsSimpleCracking=Se(i),this.m_toleranceSimplify=me(t,e,!0),this.m_description=this.m_geometry.getDescription(),this.m_attributeCount=this.m_description.getAttributeCount(),this.m_bOGCRestrictions=r,this.m_bPlanarSimplify=this.m_bOGCRestrictions,this.m_unknownOrientationPathCount=-1,this.m_yScanline=0,this.m_progressCounter=0}isSimplePlanarImpl(){if(this.m_bPlanarSimplify=!0,!this.checkStructure())return 0;const e=this.m_geometry.getGeometryType();return o(e)&&!this.checkDegenerateSegments(!1)?0:this._CheckClustering()?o(e)?this._CheckCracking()?this.m_geometry.getGeometryType()===n.enumPolyline?this.checkSelfIntersectionsPolylinePlanar()?4:0:this._CheckSelfIntersections()?this._CheckValidRingOrientation():0:0:5:0}isSimplePlanarImpl3D(){return a(0),7}generateSortedPairs(e){let t=null;o(e.getGeometryType())&&(t=e);const s=(this.m_bPlanarSimplify||this.m_bOGCRestrictions)&&null!==t,n=e.getPointCount();this.m_xy=e.getAttributeStreamRef(0),this.m_pairs.length=0,this.m_pairIndices=new Ce(0),s&&(this.m_pathsForOGCTests.length=0);let r=0;for(let o=0;o<n;o++)if(this.m_pairs.push(2*o),this.m_pairs.push(2*o+1),this.m_pairIndices.add(2*o),this.m_pairIndices.add(2*o+1),s){for(;o>=t.getPathEnd(r);)r++;this.m_pathsForOGCTests.push(r)}const i=new Ie,a={parent:this,workPt:new Qe,userSort(e,t,n){n.sort(e,t,((e,t)=>this.parent.compareVerticesForPlanarClustering(e,t,s)))},getValue(e){const t=this.parent.m_pairs[e],s=t>>1;this.parent.m_xy.queryPoint2D(2*s,this.workPt);return this.workPt.y+(1&t?this.parent.m_toleranceIsSimpleClustering:-this.parent.m_toleranceIsSimpleClustering)}};i.sort(this.m_pairIndices,0,2*n,a)}_TestToleranceDistancePlanar(e,t){const s=this.m_xy.read(2*e),n=this.m_xy.read(2*e+1),r=this.m_xy.read(2*t),i=this.m_xy.read(2*t+1);if(!!ln(s,n,r,i,this.m_toleranceIsSimpleClustering*this.m_toleranceIsSimpleClustering)){if(0===this.m_geometry.getDimension())return!1;return s===r&&n===i}return!0}checkStructure(){const e=this.m_geometry.getGeometryType();if(o(e)){const e=this.m_geometry.getImpl(),t=this.m_geometry.getGeometryType()===n.enumPolygon?3:2;for(let s=0,n=e.getPathCount();s<n;s++)if(e.getPathSize(s)<t){if(e.hasNonLinearSegments()&&e.hasNonLinearSegmentsPath(s)&&e.getPathSize(s)>0)continue;return this.m_nonSimpleResult=new ts(1,s,0),!1}}if(d(e)){const e=this.m_geometry.getImpl(),t=e.getAttributeStreamRef(0);for(let s=0,n=e.getPointCount();s<n;s++){if(!t.readPoint2D(2*s).isFinite())return this.m_nonSimpleResult=new ts(2,s,0),!1}if(this.m_geometry.hasAttribute(1)){const t=e.getAttributeStreamRef(1);for(let s=0,n=e.getPointCount();s<n;s++){const e=t.read(s);if(!Number.isFinite(e))return Number.isNaN(e)?this.m_nonSimpleResult=new ts(3,s,0):this.m_nonSimpleResult=new ts(2,s,0),!1}}}return!0}checkDegenerateSegments(e){const t=this.m_geometry.getImpl(),s=t.querySegmentIterator(),n=t.hasAttribute(1),r=n?be(this.m_sr,t,!1).total():0,i=t.hasNonLinearSegments(),o=this.m_toleranceIsSimple.total();for(;s.nextPath();)for(;s.hasNextSegment();){const t=s.nextSegment();let a=t.calculateLowerLength2D();if(!(a>o)&&!(i&&t.isCurve()&&(a=t.calculateLength2D(),a>o))){if(e&&n){const e=t.getStartAttributeAsDbl(1,0),s=t.getEndAttributeAsDbl(1,0);if(Math.abs(s-e)>r)continue}return this.m_nonSimpleResult=new ts(4,s.getStartPointIndex(),-1),!1}}return!0}checkDegenerateSegments3D(){return a(0),!1}_CheckClustering(){const e=this.m_geometry.getImpl();this.generateSortedPairs(e);const t=e.getPointCount();this.m_AET.clear(),this.m_AET.setComparator(new xh(this)),this.m_AET.setCapacity(t);for(let s=0,n=2*t;s<n;s++){this.progress_();const e=this.m_pairIndices.read(s),t=this.m_pairs[e],n=t>>1;if(1&t){const e=this.m_AET.search(n),t=this.m_AET.getPrev(e),s=this.m_AET.getNext(e);if(this.m_AET.deleteNode(e),t!==Ee.st_nullNode()&&s!==Ee.st_nullNode()&&!this._TestToleranceDistancePlanar(this.m_AET.getElement(t),this.m_AET.getElement(s)))return this.m_nonSimpleResult=new ts(5,this.m_AET.getElement(t),this.m_AET.getElement(s)),!1}else{const e=this.m_AET.addElement(n),t=this.m_AET.getPrev(e);if(t!==Ee.st_nullNode()&&!this._TestToleranceDistancePlanar(this.m_AET.getElement(t),n))return this.m_nonSimpleResult=new ts(5,n,this.m_AET.getElement(t)),!1;const s=this.m_AET.getNext(e);if(s!==Ee.st_nullNode()&&!this._TestToleranceDistancePlanar(this.m_AET.getElement(s),n))return this.m_nonSimpleResult=new ts(5,n,this.m_AET.getElement(s)),!1}}return!0}_CheckCracking(){const e=this.m_geometry.getImpl(),t=e.getPointCount();return!e.hasNonLinearSegments()&&t<10?this._CheckCrackingBrute():this._CheckCrackingPlanesweep()}_CheckCrackingPlanesweep(){if(this.m_editShape=new G,this.m_editShape.addGeometry(this.m_geometry),this.m_editShape.hasCurves()){this.m_curveStitcher=new fa;const t=e.constructEmpty();this.m_geometry.queryEnvelope(t);const s=_a(this.m_toleranceSimplify.total(),t),n=new ts;if(la(this.m_editShape,s,this.m_toleranceSimplify.total(),12e3,n,this.m_curveStitcher,null,this.m_progressTracker),0!==n.m_reason)return this.m_editShape=null,this.m_nonSimpleResult.assign(n),!1}const t=new ts;return Mn(!1,this.m_editShape,this.m_toleranceIsSimpleCracking,t,this.m_progressTracker)?(null!=this.m_curveStitcher?(t.m_vertexIndex1=this.m_curveStitcher.getOriginalVertexIndex(this.m_editShape,t.m_vertexIndex1),t.m_vertexIndex2=this.m_curveStitcher.getOriginalVertexIndex(this.m_editShape,t.m_vertexIndex2),this.m_curveStitcher=null):(t.m_vertexIndex1=this.m_editShape.getVertexIndex(t.m_vertexIndex1),t.m_vertexIndex2=this.m_editShape.getVertexIndex(t.m_vertexIndex2)),this.m_editShape=null,this.m_nonSimpleResult.assign(t),!1):(null==this.m_curveStitcher&&(this.m_editShape=null),!0)}_CheckCrackingBrute(){const e=this.m_geometry.getImpl(),t=e.querySegmentIterator(),s=e.querySegmentIterator();for(;t.nextPath();)for(;t.hasNextSegment();){const e=t.nextSegment();if(!t.isLastSegmentInPath()||!t.isLastPath()){s.resetTo(t);do{for(;s.hasNextSegment();){const n=s.nextSegment(),r=U(!0,e,n,this.m_toleranceIsSimpleCracking,!0);if(r){const e=2===r?7:6;return this.m_nonSimpleResult=new ts(e,t.getStartPointIndex(),s.getStartPointIndex()),!1}}}while(s.nextPath())}}return!0}_CheckSelfIntersections(){let e=this.m_geometry.getImpl();null!==this.m_curveStitcher&&(this.m_multiPathStitcher=this.m_editShape.getGeometry(this.m_editShape.getFirstGeometry()),e=this.m_multiPathStitcher.getImpl(),this.generateSortedPairs(e)),this.m_edges.length=0,this.m_lineEdgesRecycle.length=0,this.m_recycledSegIter=e.querySegmentIterator(),this.m_recycledSegIter.setCirculator(!0);const t=[],s=e.getPointCount();let n=Number.NaN,r=0;for(let i=0,o=2*s;i<o;i++){this.progress_();const e=this.m_pairIndices.read(i),s=this.m_pairs[e];if(1&s)continue;const o=s>>1,a=this.m_xy.read(2*o),h=this.m_xy.read(2*o+1);if(t.length&&(a!==n||h!==r)){if(!this.processBunchForSelfIntersectionTest(t))return!1;t.length=0}t.push(o),n=a,r=h}return!!this.processBunchForSelfIntersectionTest(t)}checkSelfIntersectionsPolylinePlanar(){const e=this.m_geometry.getImpl(),t=[];for(let o=0,a=e.getPathCount();o<a;o++)t.push(e.isClosedPathInXYPlane(o));const s=dh();let n,r,i;{const o=this.m_pairIndices.read(0),a=this.m_pairs[o]>>1,h=this.m_xy.readPoint2D(2*a),m=this.m_pathsForOGCTests[a];n=t[m],r=e.getPathStart(m),i=e.getPathEnd(m)-1,s.bEndPoint=a===r||a===i,this.m_bOGCRestrictions?s.bBoundary=!n&&s.bEndPoint:s.bBoundary=s.bEndPoint,s.ipath=m,s.x=h.x,s.y=h.y,s.ivertex=a}for(let o=1,a=this.m_pairIndices.size();o<a;o++){const a=this.m_pairIndices.read(o),h=this.m_pairs[a];if(1&h)continue;const m=h>>1,l=this.m_xy.readPoint2D(2*m),g=this.m_pathsForOGCTests[m];let u;g!==s.ipath&&(n=t[g],r=e.getPathStart(g),i=e.getPathEnd(g)-1);const c=m===r||m===i;u=this.m_bOGCRestrictions?!n&&c:c;const _=ph(l.x,l.y,g,m,u,c);if(_.x===s.x&&_.y===s.y)if(this.m_bOGCRestrictions){if(!(_.bBoundary&&s.bBoundary||_.ipath===s.ipath&&_.bEndPoint&&s.bEndPoint))return this.m_nonSimpleResult=new ts(10,_.ivertex,s.ivertex),!1}else if(!_.bEndPoint||!s.bEndPoint)return this.m_nonSimpleResult=new ts(7,_.ivertex,s.ivertex),!1;fh(s,_)}return!0}checkSelfIntersectionsPolylinePlanar3D(e){return a(0),!1}checkSelfIntersectionsPolygonsOGC(){const e=this.m_geometry.getImpl(),t=[];let s=-1,n=!1;for(let l=0,g=e.getPathCount();l<g;l++)e.isExteriorRingOGC(l)&&(n=!1,s++,l<g-1&&(e.isExteriorRingOGC(l+1)||(n=!0))),t.push(n?s:-1);const r=gh();{const e=this.m_pairIndices.read(0),s=this.m_pairs[e]>>1,n=this.m_xy.readPoint2D(2*s),i=this.m_pathsForOGCTests[s];r.ipath=i,r.x=n.x,r.y=n.y,r.ivertex=s,r.ipolygon=t[i]}const i=[];for(let l=1,g=this.m_pairIndices.size();l<g;l++){const e=this.m_pairIndices.read(l),s=this.m_pairs[e];if(1&s)continue;const n=s>>1,o=this.m_xy.readPoint2D(2*n),a=this.m_pathsForOGCTests[n],h=uh(o.x,o.y,a,n,t[a]);if(h.x===r.x&&h.y===r.y){if(h.ipath===r.ipath)return this.m_nonSimpleResult=new ts(11,h.ivertex,r.ivertex),!1;t[h.ipath]>=0&&t[h.ipath]===t[r.ipath]&&(0!==i.length&&ch(i.at(-1),r)||i.push({...r}),i.push(h))}_h(r,h)}if(0===i.length)return!0;const o=new Pe(!0);t.fill(-1);let a=-1;const h=new Qe;for(let l=0,g=i.length;l<g;l++){const e=i[l];e.x===h.x&&e.y===h.y||(a=o.createList(0),h.x=e.x,h.y=e.y);let s=t[e.ipath];-1===s&&(s=o.createList(2),t[e.ipath]=s),o.addElement(s,a),o.addElement(a,s)}const m=[];for(let l=o.getFirstList();-1!==l;l=o.getNextList(l)){const e=o.getListData(l);if(1&e||!(2&e))continue;let s=-1;for(m.push(l),m.push(-1);m.length;){const e=m.at(-1);m.pop();const t=m.at(-1);m.pop();const n=o.getListData(t);if(1&n){s=2&n?t:e;break}o.setListData(t,1|n);for(let s=o.getFirst(t);-1!==s;s=o.getNext(s)){const n=o.getData(s);n!==e&&(m.push(n),m.push(t))}}if(-1!==s){const e=t.indexOf(s);return this.m_nonSimpleResult=new ts(12,e,-1),!1}}return!0}_CheckValidRingOrientation(){const e=null!==this.m_multiPathStitcher?this.m_multiPathStitcher.getImpl():this.m_geometry.getImpl();if(e.calculateArea2D()<=0)return this.m_nonSimpleResult=new ts(8,1===e.getPathCount()?1:-1,-1),0;if(1===e.getPathCount())return this.m_bOGCRestrictions&&!this.checkSelfIntersectionsPolygonsOGC()?0:4;this.m_pathOrientations=new we(e.getPathCount(),0),this.m_pathParentage=new Ce(e.getPathCount(),-1);let t=-1,s=0;for(let i=0,o=e.getPathCount();i<o;i++){const n=e.calculateRingArea2D(i);if(this.m_pathOrientations.write(i,n<0?0:8),n>0)t=i,s=n;else{if(0===n)return this.m_nonSimpleResult=new ts(8,i,-1),0;if((t<0||s<Math.abs(n))&&(this.m_nonSimpleResult=new ts(9,i,-1),this.m_bOGCRestrictions))return 0;this.m_pathParentage.write(i,t)}}this.m_unknownOrientationPathCount=e.getPathCount(),this.m_newEdges.length=0;const n=e.getPointCount();this.m_yScanline=Number.NaN;const r=[];this.m_xyToNode1=new Ce(n,Ee.st_nullNode()),this.m_xyToNode2=new Ce(n,Ee.st_nullNode()),this.m_freeEdges.length=0,this.m_AET.clear(),this.m_AET.setComparator(new yh(this));for(let i=0,o=2*n;this.m_unknownOrientationPathCount>0&&i<o;i++){const e=this.m_pairIndices.read(i),t=this.m_pairs[e];if(1&t)continue;const s=t>>1,n=this.m_xy.read(2*s+1);if(n!==this.m_yScanline&&r.length){if(!this.processBunchForRingOrientationTest(r))return 0;r.length=0}r.push(s),this.m_yScanline=n}return this.m_unknownOrientationPathCount>0&&!this.processBunchForRingOrientationTest(r)?0:this.m_bOGCRestrictions?0!==this.m_nonSimpleResult.m_reason?0:this.checkSelfIntersectionsPolygonsOGC()?5:0:0===this.m_nonSimpleResult.m_reason?4:3}processBunchForSelfIntersectionTest(e){if(1===e.length)return!0;for(let o=0,a=e.length;o<a;o++){const t=e[o];this.m_recycledSegIter.resetToVertex(t,-1);const s=this.m_recycledSegIter.previousSegment();this.m_edges.push(this.createEdge(s,t,this.m_recycledSegIter.getPathIndex(),!0)),this.m_recycledSegIter.nextSegment();const n=this.m_recycledSegIter.nextSegment();this.m_edges.push(this.createEdge(n,t,this.m_recycledSegIter.getPathIndex(),!1))}this.m_edges.sort(((e,t)=>this.edgeAngleCompare(e,t)));let t=this.m_crossOverHelperList.getFirstList();-1===t&&(t=this.m_crossOverHelperList.createList(0)),this.m_crossOverHelperList.reserveNodes(this.m_edges.length);for(let o=0,a=this.m_edges.length;o<a;o++)this.m_crossOverHelperList.addElement(t,o);let s=!0,n=-1,r=-1;for(;s;){s=!1;let e=this.m_crossOverHelperList.getFirst(t);if(-1===e)break;let i=this.m_crossOverHelperList.getNext(e);for(;-1!==i;){const o=this.m_crossOverHelperList.getData(e),a=this.m_crossOverHelperList.getData(i);if(n=this.m_edges[o].m_vertexIndex,r=this.m_edges[a].m_vertexIndex,n!==r)e=i,i=this.m_crossOverHelperList.getNext(e);else if(s=!0,this.m_crossOverHelperList.deleteElement(t,e),e=this.m_crossOverHelperList.getPrev(i),i=this.m_crossOverHelperList.deleteElement(t,i),-1===i||-1===e)break}}const i=this.m_crossOverHelperList.getListSize(t);if(this.m_crossOverHelperList.clear(t),i>0)return this.m_nonSimpleResult=new ts(7,n,r),!1;for(let o=0,a=e.length;o<a;o++)this.recycleEdge(this.m_edges[o]);return this.m_edges.length=0,!0}processBunchForRingOrientationTest(e){for(let t=0,s=e.length;t<s;t++){const s=e[t];let n=this.m_xyToNode1.read(s);if(n!==Ee.st_nullNode()){const e=this.m_AET.getElement(n);this.m_freeEdges.push(e),this.m_AET.deleteNode(n),this.recycleEdge(this.m_edges[e]),this.m_edges[e]=null,this.m_xyToNode1.write(s,Ee.st_nullNode())}if(n=this.m_xyToNode2.read(s),n!==Ee.st_nullNode()){const e=this.m_AET.getElement(n);this.m_freeEdges.push(e),this.m_AET.deleteNode(n),this.recycleEdge(this.m_edges[e]),this.m_edges[e]=null,this.m_xyToNode2.write(s,Ee.st_nullNode())}}for(let t=0,s=e.length;t<s;t++){const s=e[t];this.m_recycledSegIter.resetToVertex(s,-1);const n=this.m_recycledSegIter.previousSegment();if(n.getStartY()>n.getEndY()){const e=this.m_recycledSegIter.getStartPointIndex(),t=this.createEdge(n,s,this.m_recycledSegIter.getPathIndex(),!0);let r;this.m_freeEdges.length>0?(r=this.m_freeEdges.at(-1),this.m_freeEdges.pop(),this.m_edges[r]=t):(r=this.m_edges.length,this.m_edges.push(t));const i=this.m_AET.addElement(r);this.m_xyToNode1.read(e)===Ee.st_nullNode()?this.m_xyToNode1.write(e,i):this.m_xyToNode2.write(e,i),3&this.m_pathOrientations.read(this.m_recycledSegIter.getPathIndex())||this.m_newEdges.push(i)}this.m_recycledSegIter.nextSegment();const r=this.m_recycledSegIter.nextSegment();if(r.getStartY()<r.getEndY()){const e=this.m_recycledSegIter.getEndPointIndex(),t=this.createEdge(r,s,this.m_recycledSegIter.getPathIndex(),!1);let n;this.m_freeEdges.length>0?(n=this.m_freeEdges.at(-1),this.m_freeEdges.pop(),this.m_edges[n]=t):(n=this.m_edges.length,this.m_edges.push(t));const i=this.m_AET.addElement(n);this.m_xyToNode1.read(e)===Ee.st_nullNode()?this.m_xyToNode1.write(e,i):this.m_xyToNode2.write(e,i),3&this.m_pathOrientations.read(this.m_recycledSegIter.getPathIndex())||this.m_newEdges.push(i)}}for(let t=0,s=this.m_newEdges.length;t<s&&this.m_unknownOrientationPathCount>0;t++){const e=this.m_newEdges[t],s=this.m_AET.getElement(e),n=this.m_edges[s].m_pathIndex;if(!(3&this.m_pathOrientations.read(n))){let t=-1,s=this.m_AET.getPrev(e),n=e,r=0;{let e=-1,i=null,o=-1,a=0;for(;s!==Ee.st_nullNode()&&(e=this.m_AET.getElement(s),i=this.m_edges[e],o=i.m_pathIndex,a=this.m_pathOrientations.read(o),!(3&a));)n=s,s=this.m_AET.getPrev(s);s===Ee.st_nullNode()?(r=1,s=n):(t=1==(3&a)?o:this.m_pathParentage.read(o),r=i.getRightSide()?0:1,s=this.m_AET.getNext(s))}do{const e=this.m_AET.getElement(s),i=this.m_edges[e],o=i.m_pathIndex;let a=this.m_pathOrientations.read(o);if(!(3&a)){if(r!==i.getRightSide())return this.m_nonSimpleResult=new ts(8,o,-1),!1;const e=r&&!i.getReversed()?1:2;if(a=-4&a|e,this.m_pathOrientations.write(o,a),2===e&&0===this.m_nonSimpleResult.m_reason){const e=this.m_pathParentage.read(o);if(e!==t&&(this.m_nonSimpleResult=new ts(9,o,e),this.m_bOGCRestrictions))return!1}if(this.m_unknownOrientationPathCount--,!this.m_unknownOrientationPathCount)return!0}t=1==(3&a)?o:this.m_pathParentage.read(o),n=s,s=this.m_AET.getNext(s),r=r?0:1}while(n!==e)}}return this.m_newEdges.length=0,!0}createEdge(e,t,s,r){let i;return e.getGeometryType()===n.enumLine?i=this.createEdgeLine(e):(i=new lh,i.m_segment=e.clone()),i.m_vertexIndex=t,i.m_pathIndex=s,i.m_flags=0,i.setReversed(r),i}createEdgeLine(e){let t;return this.m_lineEdgesRecycle.length>0?(t=this.m_lineEdgesRecycle.at(-1),this.m_lineEdgesRecycle.pop(),e.copyTo(t.m_segment)):(t=new lh,t.m_segment=e.clone()),t}recycleEdge(e){e.m_segment.getGeometryType()===n.enumLine&&this.m_lineEdgesRecycle.push(e)}static isShortSegment(e,t,s,n){let r=e.calculateLowerLength2D();if(r<=s){let i=!0;if(e.isCurve()&&(r=e.calculateLength2D(),i=r<=s),i){if(t){let t=e.getEndAttributeAsDbl(1,0);Number.isNaN(t)&&(t=0);let s=e.getStartAttributeAsDbl(1,0);return Number.isNaN(s)&&(s=0),Math.abs(s-t)<=n}return!0}return!1}return!1}static isShortSegmentPoints(e,t,s,n,r){if(s){const s=e.getXYZ(),i=t.getXYZ();return ve(s,i,n,r)}{const s=e.getXY(),r=t.getXY();return Qe.sqrDistance(s,r)<=n*n}}removeDegenerateSegmentsFromCurvedPath(e,t,s,n){const r=e.hasAttribute(1),i=e.querySegmentIterator();i.resetToPath(t),a(i.nextPath());const o=this.m_toleranceSimplify.total();let h=!1,m=!0;const l=new fe,g=new fe,u=new Qe;for(;i.hasNextSegment();){this.progress_();const e=i.nextSegment();if(Ph.isShortSegment(e,r,o,s))if(h){if(e.queryEnd(g),Ph.isShortSegmentPoints(l,g,r,o,s))continue;m&&(n.startPathPoint(l),m=!1),e.queryEnd(l),n.lineToPoint(l),h=!1}else u.assign(e.getStartXY()),e.queryStart(l),h=!0;else if(h)if(e.isCurve()){const t=e.clone();if(t.setCoordsForIntersector(u,e.getEndXY(),!1),t.setStart(l),Ph.isShortSegment(t,r,o,s))continue;n.addSegment(t,m),m=!1,h=!1}else{if(e.queryEnd(g),Ph.isShortSegmentPoints(l,g,r,o,s))continue;m&&(n.startPathPoint(l),m=!1),n.lineToPoint(g),h=!1}else n.addSegment(e,m),m=!1}if(m)return;if(!h)return;e.isClosedPath(t)?e.getPointByVal(e.getPathStart(t),l):e.getPointByVal(e.getPathEnd(t)-1,l);const c=n.querySegmentIterator();c.resetToLastPath(),c.resetToLastSegment();const _=n.getDescription().getAttributeCount()>1;for(a(c.previousPath());c.hasPreviousSegment();){const e=c.previousSegment();if(e.isCurve()){const t=e.clone();if(t.setCoordsForIntersector(e.getStartXY(),l.getXY(),!1),!Ph.isShortSegment(t,r,o,s)){_&&t.setEnd(l);const e=c.getEndPointIndex();for(let t=n.getPointCount()-1;t>=e;t--)n.removePoint(t);return void n.addSegment(t,!1)}}else if(e.queryStart(g),!Ph.isShortSegmentPoints(g,l,r,o,s)){const e=c.getEndPointIndex();for(let t=n.getPointCount()-1;t>=e;t--)n.removePoint(t);return void n.lineToPoint(l)}}n.removePath(n.getPathCount()-1)}multipointIsSimpleAsFeature(){if(!this.checkStructure())return 0;const e=this.m_geometry.getImpl();this.m_multiVertexGeom=e;const t=e.getPointCount(),s=Ke(t,0);for(let n=0;n<t;n++)s[n]=n;s.sort(((e,t)=>this.compareVerticesMultiPoint(e,t)));for(let n=1;n<t;n++)if(0===this.compareVerticesMultiPoint(s[n-1],s[n]))return this.m_nonSimpleResult=new ts(5,s[n-1],s[n]),0;return 1}polylineIsSimpleAsFeature(){return this.checkStructure()&&this.checkDegenerateSegments(!0)?1:0}polygonIsSimpleAsFeature(){return this.isSimplePlanarImpl()}multipointSimplifyAsFeature(){let e=this.m_geometry.getImpl();const t=Ph.hasNanZs(e);let s,n=this.m_geometry;t&&(s=this.m_geometry.clone(),e=s.getImpl(),s.replaceNaNs(1,Ne.getDefaultValue(1)),n=s),this.m_multiVertexGeom=e;const r=e.getPointCount(),i=Ke(r,0);for(let g=0;g<r;g++)i[g]=g;i.sort(((e,t)=>this.compareVerticesMultiPoint(e,t)));const o=new Array(r);o.fill(!1);let a=-1;for(let g=0;g<r;g++){const t=i[g];e.getXY(t).isFinite()&&((a<0||0!==this.compareVerticesMultiPoint(a,t))&&(o[t]=!0),a=t)}const h=this.m_geometry.createInstance();let m=0,l=0;for(let g=0;g<r;g++)o[g]?l=g+1:(m<l&&h.addPoints(n,m,l),m=g+1);return m<l&&h.addPoints(n,m,l),h.getImpl().setIsSimple(1,this.m_toleranceSimplify.total()),h}polylineSimplifyAsFeature(){const e=this.m_geometry.getImpl(),t=e.querySegmentIterator(),s=e.querySegmentIterator(),n=this.m_geometry.createInstance(),r=this.m_geometry,i=e.hasAttribute(1),o=i?be(this.m_sr,e,!0).total():0,a=[],h=[];let m=null;i&&(m=e.getAttributeStreamRef(1));const l=new fe,g=e.hasNonLinearSegments(),u=this.m_toleranceSimplify.total();for(;t.nextPath();){if(s.nextPath(),e.getPathSize(t.getPathIndex())<2)continue;if(g&&e.hasNonLinearSegmentsPath(t.getPathIndex())){this.removeDegenerateSegmentsFromCurvedPath(e,t.getPathIndex(),o,n);continue}s.resetToLastSegment();let c=0,_=0,d=!0,p=!0;for(;t.hasNextSegment();){this.progress_();const n=t.nextSegment(),r=s.previousSegment();if(t.getStartPointIndex()>s.getStartPointIndex())break;if(d){const s=t.getStartPointIndex();e.getXY(s).isNAN()||(d=!1,a.push(s))}if(p){const t=s.getEndPointIndex();e.getXY(t).isNAN()||(h.push(t),p=!1)}if(!d){const s=a.at(-1),r=t.getEndPointIndex();if(r-s>1){const t=new Qe;t.setSub(e.getXY(s),e.getXY(r)),c=t.length()}else c=n.calculateLength2D();if(c>u)a.push(r),c=0;else if(i){let e=m.read(s);Number.isNaN(e)&&(e=0);let t=m.read(r);Number.isNaN(t)&&(t=0),Math.abs(t-e)>o&&(a.push(r),c=0)}}if(!p){const t=h.at(-1),n=s.getStartPointIndex();if(n-t>1){const s=new Qe;s.setSub(e.getXY(t),e.getXY(n)),_=s.length()}else _=r.calculateLength2D();if(_>u)h.push(n),_=0;else if(i){let e=m.read(t);Number.isNaN(e)&&(e=0);let s=m.read(n);Number.isNaN(s)&&(s=0),Math.abs(s-e)>o&&(h.push(n),_=0)}}}if(a.length>0&&h.length>0&&(a.at(-1)<h.at(-1)?a.length>h.length?a.pop():h.pop():(a.at(-1)===h.at(-1)||h.pop(),h.pop())),h.length+a.length>=2){let e=!1;for(let t=0,s=a.length;t<s;t++)r.getPointByVal(a[t],l),e?n.lineToPoint(l):(n.startPathPoint(l),e=!0);for(let t=h.length-1;t>0;t--)r.getPointByVal(h[t],l),e?n.lineToPoint(l):(n.startPathPoint(l),e=!0);r.isClosedPath(t.getPathIndex())?n.closePathWithLine():h.length>0&&(r.getPointByVal(h[0],l),n.lineToPoint(l))}a.length=0,h.length=0}return i&&n.replaceNaNs(1,0),n.getImpl().setIsSimple(1,u),n}polygonSimplifyAsFeature(){return this.simplifyPlanar()}simplifyPlanar(){if(1===this.m_geometry.getFillRule()&&!Te(this.m_knownSimpleResult))return Ma(this.m_geometry,this.m_toleranceSimplify,!0,!1,this.m_knownSimpleResult,this.m_progressTracker,0,!0);const t=new G;if(t.addGeometry(this.m_geometry),this.m_geometry.hasAttribute(1)&&t.replaceNaNs(1,0),t.removeNaNVertices(),0!==t.getTotalPointCount()){let s=null,r=0,i=0;if(t.hasCurves()){s=new fa;const n=e.constructEmpty();this.m_geometry.queryEnvelope(n);const o=_a(this.m_toleranceSimplify.total(),n);r=da(this.m_toleranceSimplify.total()),i=pa(o,r),aa(t,o,this.m_toleranceSimplify.total(),12e3,s,null,this.m_progressTracker)}if(!Te(this.m_knownSimpleResult)){ya(t,this.m_toleranceSimplify.add(i),this.m_progressTracker,!0,!1)}this.m_geometry.getGeometryType()===n.enumPolygon&&er(t,t.getFirstGeometry(),this.m_knownSimpleResult,!1,-1,this.m_progressTracker),null!==s&&s.stitchCurves(t,t.getFirstGeometry(),r,!0)}const s=t.getGeometry(t.getFirstGeometry());return s.getGeometryType()===n.enumPolygon&&(s.getImpl().updateOGCFlagsProtected(),s.setFillRule(0)),s.getImpl().setIsSimple(4,this.m_toleranceSimplify.total()),s}progress_(){}static hasNanZs(e){if(e.hasAttribute(1)){const t=e.getAttributeStreamRef(1);for(let s=0,n=e.getPointCount();s<n;s++){const e=t.read(s);if(Number.isNaN(e))return!0}}return!1}compareVerticesForPlanarClustering(e,t,s){if(e===t)return 0;const n=this.m_pairs[e],r=this.m_pairs[t],i=n>>1,o=r>>1,a=this.m_xy.readPoint2D(2*i);a.y+=1&n?this.m_toleranceIsSimpleClustering:-this.m_toleranceIsSimpleClustering;const h=this.m_xy.readPoint2D(2*o);h.y+=1&r?this.m_toleranceIsSimpleClustering:-this.m_toleranceIsSimpleClustering;const m=a.compare(h);if(0===m&&s){const e=this.m_pathsForOGCTests[i]-this.m_pathsForOGCTests[o];return it(e)}return m}compareVerticesMultiPoint(e,t){if(e===t)return 0;const s=this.m_multiVertexGeom.getXY(e),n=this.m_multiVertexGeom.getXY(t),r=!s.isFinite(),i=!n.isFinite();if(r||i)return r<i?-1:r>i?1:0;if(s.y<n.y)return-1;if(s.y>n.y)return 1;if(s.x<n.x)return-1;if(s.x>n.x)return 1;for(let o=1;o<this.m_attributeCount;o++){const s=this.m_description.getSemantics(o),n=Ne.getComponentCount(s);for(let r=0;r<n;r++){const n=this.m_multiVertexGeom.getAttributeAsDbl(s,e,r),i=this.m_multiVertexGeom.getAttributeAsDbl(s,t,r),o=ot(n,i);if(0!==o)return o}}return 0}edgeAngleCompare(e,t){if(e===t)return 0;const s=e.m_segment.getTangent(e.getReversed()?1:0);e.getReversed()&&s.negateThis();const n=t.m_segment.getTangent(t.getReversed()?1:0);t.getReversed()&&n.negateThis();const r=s.getQuarter(),i=n.getQuarter();if(i===r){const e=s.crossProduct(n);return e<0?1:e>0?-1:0}return r<i?-1:1}}class Eh{getOperatorType(){return 10103}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}isSimpleAsFeature(e,t,s,n,r){const i=oh(e,t,s,n,r);return ue(e.getGeometryType(),i)}isSimplePlanarDONOTUSE(e,t,s,n,r){const i=rh(e,t,s,n,r);return ce(i)}executeMany(e,t,s,n){return new Sh(e,t,s,n)}execute(e,t,s,n){const r=new $t([e]),o=this.executeMany(r,t,s,n).next();return o||i("null geometry"),o}}class Sh extends es{constructor(e,t,s,n){super(),this.m_progressTracker=n,this.m_bForceSimplify=s,this.m_index=-1,this.m_inputGeometryCursor=e,this.m_spatialReference=t}next(){const e=this.m_inputGeometryCursor.next();return e?(this.m_index=this.m_inputGeometryCursor.getGeometryID(),this.simplify(e)):null}getGeometryID(){return this.m_index}tock(){return!1}getRank(){return 1}simplify(e){if(e||t(""),e.getGeometryType()===n.enumGeometryCollection){const t=V(e,-1),s=(new Eh).executeMany(t,this.m_spatialReference,this.m_bForceSimplify,this.m_progressTracker),n=e.createInstance();for(let e=s.next();null!=e;e=s.next())n.addGeometry(e);return n}return ah(e,this.m_spatialReference,this.m_bForceSimplify,this.m_progressTracker)}}function Ch(t,s,r){const i=new e;t.queryEnvelope(i);const o=new e;s.queryEnvelope(o);const a=new e(o);if(a.inflate(2*r),!a.isIntersecting(i))return 4;const h=t.getGeometryType(),m=s.getGeometryType();if(h===n.enumEnvelope&&i.containsEnvelope(a))return 1;if(m===n.enumEnvelope){const t=new e(i);if(t.inflate(2*r),o.containsEnvelope(t))return 2}return 0}class Ih{constructor(e,t,s,r){this.m_intersectorGeom=null,this.m_sr=null,this.m_dimensionMask=-1,this.m_progressTracker=null,this.m_intersectorGeomType=n.enumUnknown,this.m_geomIntersectorEmptyGeom=null,this.m_intersectorGeom=e,this.m_sr=t,this.m_dimensionMask=s,this.m_progressTracker=r,this.m_intersectorGeomType=e.getGeometryType()}intersect(t){const s=this.tryFastImplementation(t);if(null!==s)return s;const n=_e(this.m_intersectorGeom,t),r=de(this.m_sr,n,!0).total(),i=e.constructEmpty();this.m_intersectorGeom.queryEnvelope(i);const o=e.constructEmpty();t.queryEnvelope(o),i.inflateCoords(2*r,2*r),i.intersect(o),i.inflateCoords(100*r,100*r);const a=0;let h=Zt(this.m_intersectorGeom,i,a,0,this.m_progressTracker),m=Zt(t,i,a,0,this.m_progressTracker);return t.getDimension()>this.m_intersectorGeom.getDimension()&&(h=rt(m,m=h)),za(m,h,this.m_sr,this.m_progressTracker)}intersectEx(t){const s=this.tryFastImplementation(t);if(null!==s){const e=[];return e.length=3,e[s.getDimension()]=s,this.prepareVector(t.getDescription(),this.m_dimensionMask,e)}const n=_e(this.m_intersectorGeom,t),r=de(this.m_sr,n,!0).total(),i=e.constructEmpty();this.m_intersectorGeom.queryEnvelope(i);const o=e.constructEmpty();t.queryEnvelope(o),i.inflateCoords(2*r,2*r),i.intersect(o),i.inflateCoords(100*r,100*r);const a=0;let h=Zt(this.m_intersectorGeom,i,a,0,this.m_progressTracker),m=Zt(t,i,a,0,this.m_progressTracker);t.getDimension()>this.m_intersectorGeom.getDimension()&&(h=rt(m,m=h));const l=Wa(m,h,this.m_sr,this.m_progressTracker);return this.prepareVector(t.getDescription(),this.m_dimensionMask,l)}init(e,t,s,n=null){a(0)}static intersectPoints(e,t,s){const n=_e(e,t);return La(e,t,de(s,n,!0))}tryFastImplementation(t){const s=t.getGeometryType();if(this.m_intersectorGeomType===n.enumPoint&&s===n.enumPoint){const e=Ih.intersectPoints(t,this.m_intersectorGeom,this.m_sr);if(-1!==this.m_dimensionMask){const t=new N({vd:e.getDescription()});return e.isEmpty()||t.add(e),t}return e}if(s===n.enumEnvelope&&this.m_intersectorGeomType===n.enumEnvelope&&(-1===this.m_dimensionMask||4===this.m_dimensionMask)){const e=t,s=this.m_intersectorGeom,n=new pe({copy:e});return n.intersect(s),n}const r=_e(t,this.m_intersectorGeom),o=de(this.m_sr,r,!0),a=t.isEmpty(),h=this.m_intersectorGeom.isEmpty();let l=a||h;if(!l){const e=Ch(this.m_intersectorGeom,t,o.total());if(4===e)l=!0;else{if(2&e)return this.m_intersectorGeom;if(1&e)return t}}if(l){const e=m(s),r=m(this.m_intersectorGeomType);return e<r?Ih.ReturnEmpty(t,a):e>r||0===e&&s===n.enumMultiPoint&&this.m_intersectorGeomType===n.enumPoint?this.ReturnEmptyIntersector():Ih.ReturnEmpty(t,a)}if(s===n.enumEnvelope&&0===m(this.m_intersectorGeomType)||this.m_intersectorGeomType===n.enumEnvelope&&0===m(s)){const r=s===n.enumEnvelope?t:this.m_intersectorGeom,i=s===n.enumEnvelope?this.m_intersectorGeom:t,a=e.constructEmpty();return r.queryEnvelope(a),Zt(i,a,o.total(),0,this.m_progressTracker)}if(0===m(s)&&m(this.m_intersectorGeomType)>0||m(s)>0&&0===m(this.m_intersectorGeomType)){if(s===n.enumMultiPoint)return Oa(t,this.m_intersectorGeom,o);if(s===n.enumPoint)return Xa(t,this.m_intersectorGeom,o);if(this.m_intersectorGeomType===n.enumMultiPoint)return Oa(this.m_intersectorGeom,t,o);if(this.m_intersectorGeomType===n.enumPoint)return Xa(this.m_intersectorGeom,t,o);i("")}return null}ReturnEmptyIntersector(){return null===this.m_geomIntersectorEmptyGeom&&(this.m_geomIntersectorEmptyGeom=this.m_intersectorGeom.createInstance()),this.m_geomIntersectorEmptyGeom}static ReturnEmpty(e,t){return t?e:e.createInstance()}prepareVector(e,t,s){let n=0;return 1&t?(s[0]||(s[0]=new N({vd:e})),n++):s.shift(),2&t?(s[n]||(s[n]=new I({vd:e})),n++):s.splice(n,1),4&t?s[n]||(s[n]=new v({vd:e})):s.splice(n,1),new $t(s)}}class bh extends es{constructor(e,s,n,r,i){super(),this.m_smallCursor=null,this.m_progressTracker=r,this.m_geomIntersector=s.next(),this.m_intersector=new Ih(this.m_geomIntersector,n,i,r),this.m_index=-1,this.m_inputGeoms=e,this.m_dimensionMask=i,-1!==this.m_dimensionMask&&(this.m_dimensionMask<=0||this.m_dimensionMask>7)&&t("bad dimension mask")}next(){if(!this.m_geomIntersector)return null;let e;if(null!==this.m_smallCursor){if(e=this.m_smallCursor.next(),e)return e;this.m_smallCursor=null}for(;e=this.m_inputGeoms.next();){if(s(e),this.m_index=this.m_inputGeoms.getGeometryID(),-1===this.m_dimensionMask){return this.m_intersector.intersect(e)}this.m_smallCursor=this.m_intersector.intersectEx(e);return this.m_smallCursor.next()}return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}class wh{getOperatorType(){return 1e4}accelerateGeometry(e,t,s){if(!this.canAccelerateGeometry(e))return!1;me(t,e,!0);let r=0;return e.getGeometryType()!==n.enumPolygon&&e.getGeometryType()!==n.enumPolyline||!b(e)||0===s||(r|=e.getImpl().buildQuadTreeAccelerator(s)?1:0),!!r}canAccelerateGeometry(e){return b(e)}supportsCurves(){return!0}executeMany(e,t,s,n,r=-1){return new bh(e,t,s,n,r)}execute(e,t,s,r){if(e.getGeometryType()===n.enumPoint&&t.getGeometryType()===n.enumPoint)return Ih.intersectPoints(e,t,s);const o=new $t([e]),a=new $t([t]),h=this.executeMany(o,a,s,r,-1).next();return h||i("null output"),h}}function vh(e,t,s){return t.m_projector.project(e,s)}function Nh(e,t,s,n,r){e.m_projector.transformInPlaceZ(t,null,s,n,null,r);const i=n.slice(0,s).filter((e=>!e.isNAN()));for(let o=0,a=i.length;o<a;++o)n[o].assign(i[o]);return i.length}function Th(e,t,s,n,r){return e.m_projector.transformInPlaceZ(t,null,s,n,null,r)}function Gh(s,i,a,h){if(s&&i&&i.isPannable()||t("fold_into_360_range_geodetic"),s.isEmpty())return s;if(4===a)return Dh(s,i,h);let m=s;const l=m.getGeometryType();if(o(l)){m=Al(s,i);const t=new e;m.queryEnvelope(t);const n=de(i,t,!1).total(),r=i.getPannableExtent();let o=Math.floor((t.xmin-r.xmin)/r.width())*r.width()+r.xmin,h=m;for(;o<t.xmax;)o>t.xmin+n&&o<t.xmax-n&&(h=Hl(h,i,a,!0,o)),o+=r.width();m=h}else{if(l===n.enumEnvelope){const e=new v({vd:m.getDescription()});return e.addEnvelope(m,!1),Gh(e,i,a,h)}if(r(l)){const e=new I({vd:m.getDescription()});return e.addSegment(m,!0),Gh(e,i,a,h)}}return Dh(m,i,h)}function Dh(e,s,i){if(e&&s&&s.isPannable()||t(""),e.isEmpty())return e;let o;const a=e.getGeometryType();if(a===n.enumEnvelope){const t=new v({vd:e.getDescription()});t.addEnvelope(e,!1),o=t}else if(r(a)){const t=new I({vd:e.getDescription()});t.addSegment(e,!0),o=t}else o=e;const h=Al(o,s);return h.isEmpty()?h:vl(h,s,0,h!==e,0,i)}function Vh(e,t,s){if(!t.isPannable()||e.isEmpty())return e;const n=t.getPannableExtent().width(),r=.5*n,i=e.queryInterval(0,0);if(i.width()<r||!d(e.getGeometryType())){if(Number.isNaN(s))return e;const t=i.getCenter();if(Math.abs(t-s)<=r)return e;{const r=new jt,i=nt((s-t)/n)*n;r.setShiftCoords(i,0);const o=e.clone();return o.applyTransformation(r),o}}const a=e.getGeometryType(),h=e,m=h.getAttributeStreamRef(0),l=e.clone(),g=l.getAttributeStreamRef(0);let u=0,c=0,_=0,p=o(a)?0:-1;const f=at.constructEmpty();let x=!1;for(let d=0,y=h.getPointCount();d<y;d++){const e=m.read(2*d);d===c&&(o(a)?(0===p&&Number.isNaN(s)&&(x=!0),p>0&&Number.isNaN(s)&&(s=f.getCenter(),x=!1),c=h.getPathEnd(p),p++):c=h.getPointCount(),Number.isNaN(s)?_=e:(_=s,u=0));let t=e-_;Math.abs(t)>r&&(t=nt(t/n)*n,u-=t,Math.abs(u)<.1*n&&(u=0));const i=e+u;g.write(2*d,i),x&&f.mergeCoordinate(i),_=e}return l.notifyModified(),l}const Fh="missing implementation";function Hh(t,s,n,r){const o=s.getCoordinateSystemType();if(0===o){const e=new ac;return s.queryPrecisionDescriptor(e),kh(t,e,s,n)}let a=t;2!==r&&3!==r||!s.isPannable()||(a=Dh(a,s,n));const h=new ac;if(s.queryPrecisionDescriptor(h),a=kh(a,h,s,n),0===r||a.isEmpty())return a;if(1===o){if(1===r){const t=new e;a.queryLooseEnvelope(t);const r=s.getPannableExtent(),i=.01*r.width();return r.xmin=t.xmin-i,r.xmax=t.xmax+i,(new Kt).execute(a,r,s,n)}return a}if(2===o){const e=s.getPCSHorizon();if(1===r||2===r){const t=(new wh).execute(a,e,s,n);return t===e?t.clone():t}return a}if(3===o)return a;i(Fh)}function kh(e,t,s,n){const r=t.getXYGridRange(),i=e.hasAttribute(1),o=e.hasAttribute(2);let a=new at,h=new at;i&&(a=t.getZGridRange()),o&&(h=t.getMGridRange());let m=(new Kt).execute(e,r,s,n);if(i){const t=m.queryInterval(1,0);a.contains(t)||(e===m&&(m=m.clone()),Le(m,a,1,0))}if(o){const t=m.queryInterval(2,0);h.contains(t)||(e===m&&(m=m.clone()),Le(m,h,2,0))}return m}class Ah{constructor(e){this.m_inputPCSHorizonClipOption=0,this.m_outputPCSHorizonClipOption=0,this.m_bDontGeonormalizePolygon=!1,this.m_bClipOutCurvedPoles=!1,this.m_bNormalizeOutputGeometry=!1,this.m_bDontHackPolesInGeogToGeog=!1,this.m_centralMeridianOfOutputGCS=0,this.m_densificationStepInput=0,e||t(""),this.m_projTransform=e,this.m_bClipOutCurvedPoles=!1;const s=this.m_projTransform.getExtendedParamsImpl();this.m_bNormalizeOutputGeometry=s.normalizeResultGeometry,this.m_bNormalizeOutputGeometry&&(s.legacyHorizonClipping?this.m_bNormalizeOutputGeometry=!1:this.m_projTransform.getOutputSR().isPannable()||(this.m_bNormalizeOutputGeometry=!1)),s.clipWithInputHorizon?(this.m_inputPCSHorizonClipOption=0,!s.legacyHorizonClipping&&this.m_projTransform.getInputSR().isPannable()&&(this.m_inputPCSHorizonClipOption=this.m_bNormalizeOutputGeometry?4:2)):this.m_inputPCSHorizonClipOption=1,s.clipWithOutputHorizon?(this.m_outputPCSHorizonClipOption=0,!s.legacyHorizonClipping&&this.m_projTransform.getOutputSR().isPannable()&&(this.m_outputPCSHorizonClipOption=this.m_bNormalizeOutputGeometry?4:2)):this.m_outputPCSHorizonClipOption=1,this.m_centralMeridianOfOutputGCS=s.centralMeridianOfOutputGCS,this.m_densificationStepInput=s.densificationStep;const n=this.m_projTransform.getExtendedParamsInternal();this.m_bDontGeonormalizePolygon=n.hasFlag(2147483648),this.m_bDontHackPolesInGeogToGeog=n.hasFlag(1073741824),this.m_bClipOutCurvedPoles=n.hasFlag(536870912)}project(e,t){if(this.m_projTransform.isIdentity()||e.isEmpty())return e;const s=e.getGeometryType();if(s===n.enumPoint)return this.projectPoint(e,t);const r=this.m_projTransform.getInputSR().getCoordinateSystemType(),o=this.m_projTransform.getOutputSR().getCoordinateSystemType(),a=this.m_projTransform.getInputSR(),h=this.m_projTransform.getOutputSR();if(0===r&&r===o){const t=Uh(a,h),s=e.clone();return s.applyTransformation(t),s}switch(s){case n.enumPolyline:case n.enumPolygon:return this.projectMultiPath(e,t);case n.enumMultiPoint:return this.projectMultiPoint(e,t);case n.enumEnvelope:return this.projectEnvelope(e,t);case n.enumGeometryCollection:return this.projectGeometryCollection(e,t);default:i("")}}projectPoint(e,t){const s=[e.getXY()];let n,r=null;(n=e.hasAttribute(1))&&(r=[e.getZ()]),this.transformInPlaceZ(s,r,1,s,r,null);const i=e.clone();return i.setXY(s[0]),n&&i.setZ(r[0]),i}projectMultiPoint(e,t){let s=new N({copy:e});const n=this.m_projTransform.getInputSR(),r=this.m_projTransform.getOutputSR(),i=n.getCoordinateSystemType(),o=r.getCoordinateSystemType();if(3===i&&a(0),s=Xl(s,n,this.m_inputPCSHorizonClipOption,t),s.isEmpty())return s;2===i&&$l(n,0,s),gg(this.m_projTransform,s,!1);let h=0;3===o&&a(0);const m=2===o;return m?h=r.getCentralMeridian():Number.isNaN(this.m_centralMeridianOfOutputGCS)||(h=this.m_centralMeridianOfOutputGCS),m&&0!==this.m_outputPCSHorizonClipOption||(s=vl(s,Zu(r),h,!1,0,t)),m&&(s=Sl(s,r,this.m_outputPCSHorizonClipOption,t),Kl(r,s,this.m_bNormalizeOutputGeometry),s.isEmpty()),s}projectMultiPath(e,t){const s=e.getGeometryType();return s===n.enumPolygon?this.projectPolygon(e,t):s===n.enumPolyline?this.projectPolyline(e,t):void i("project_multi_path_")}projectEnvelope(e,t){this.m_projTransform.getInputSR(),this.m_projTransform.getOutputSR();const s=this.m_projTransform.isVertical()&&e.hasAttribute(1);let n=at.constructEmpty();if(s&&(n=e.queryInterval(1,0)),n.width()>0){const s=e.clone();s.setInterval(1,0,n.vmin,n.vmin);const r=this.projectEnvelopeHelper(s,t);s.setInterval(1,0,n.vmax,n.vmax);const i=this.projectEnvelopeHelper(s,t);return r.merge(i),r}return this.projectEnvelopeHelper(e,t)}projectPolygon(t,s){a(t.getGeometryType()===n.enumPolygon),a(!this.m_projTransform.isIdentity()),a(!t.isEmpty());const r=this.m_projTransform.getInputSR(),i=this.m_projTransform.getOutputSR(),o=r.getCoordinateSystemType(),h=i.getCoordinateSystemType(),m=new v({copy:t});3===o&&a(0),3===h&&a(0);const l=2===o,g=2===h,u=l?r.getGCS():r,c=g?i.getGCS():i,_=!g&&!this.m_bDontHackPolesInGeogToGeog;let d=!1,p=Xl(m,r,this.m_inputPCSHorizonClipOption,s);if(p.isEmpty())return p;let f=this.m_densificationStepInput;const x=!Number.isNaN(f);let y;x&&(p=(new Jt).execute(p,f,0,0,s));let P=g?i.getPCSInfo():null,E=Number.NaN;l&&(E=r.getCentralMeridian());const S=null!==i.getGCSSplitLines();if(this.m_bDontGeonormalizePolygon){const e=p;if(l&&(hg(r,E,e),x)){const e=r.getUnitsPerMillimeter();f*=r.getGCS().getUnitsPerMillimeter()/e}if(cg(this.m_projTransform,e,_),x){const e=r.getGCS().getUnitsPerMillimeter();f*=i.getGCS().getUnitsPerMillimeter()/e}y=e}else{let t=new I({vd:p.getDescription()});if(t.addAndExplicitlyOpenAllPaths(p,!1),l){if(hg(r,E,t),x){const e=r.getUnitsPerMillimeter();f*=r.getGCS().getUnitsPerMillimeter()/e}if(this.m_bClipOutCurvedPoles){const n=r.getPCSInfo(),i=n.getSouthPoleGeometry()===Nc.PE_POLE_LINE_CURVED,o=n.getNorthPoleGeometry()===Nc.PE_POLE_LINE_CURVED;if(i||o){const n=e.constructEmpty();t.queryLooseEnvelope(n),n.inflateCoords(1,1);const r=89.9999*u.getOneDegreeGCSUnit();i&&(n.ymin=-r),o&&(n.ymax=r),t=Qt(t,n,u,0,0,s)}}}if(cg(this.m_projTransform,t,_),x){const e=Zu(r).getUnitsPerMillimeter();f*=Zu(i).getUnitsPerMillimeter()/e}let n=Number.NaN;g?(P=i.getPCSInfo(),n=i.getCentralMeridian()):Number.isNaN(this.m_centralMeridianOfOutputGCS)||(n=this.m_centralMeridianOfOutputGCS);let o=Mh(r)|Mh(i),a=10*c.getTolerance(0);this.m_bDontHackPolesInGeogToGeog&&(o=3,a=10*c.getTolerance(0)),y=Vl(p,r,t,c,n,s,o,a,this.m_bNormalizeOutputGeometry),o=0}if(S&&(a(!i.isPannable()),y=cl(y,i,s)),g){if(!d){const e=c.getPannableExtent().width();if(y.queryInterval(0,0).width()>=e-10*c.getTolerance(0)){const e=P.getNorthPoleLocation(),t=P.getSouthPoleLocation(),s=P.getNorthPoleGeometry(),n=P.getSouthPoleGeometry();let r=0;s===Nc.PE_POLE_POINT&&e!==Nc.PE_POLE_OUTSIDE_BOUNDARY&&(r=1),n===Nc.PE_POLE_POINT&&t!==Nc.PE_POLE_OUTSIDE_BOUNDARY&&(r|=2),d||=0!==r}}y=Sl(y,i,this.m_outputPCSHorizonClipOption,s),x&&(y=(new Jt).execute(y,f,0,0,s)),Jl(i,y,this.m_bNormalizeOutputGeometry)}return y.isEmpty()||d&&(y=(new Eh).execute(y,i,!1,s)),y}projectPolyline(e,t){a(e.getGeometryType()===n.enumPolyline),a(!this.m_projTransform.isIdentity()),a(!e.isEmpty());const s=this.m_projTransform.getInputSR(),r=this.m_projTransform.getOutputSR(),i=s.getCoordinateSystemType(),o=r.getCoordinateSystemType(),h=new I({copy:e});3===i&&a(0),3===o&&a(0);const m=2===i,l=2===o;m&&s.getGCS();const g=l?r.getGCS():r,u=!l&&!this.m_bDontHackPolesInGeogToGeog;let c=Xl(h,s,this.m_inputPCSHorizonClipOption,t);if(c.isEmpty())return c;let _=Number.NaN;m&&(_=s.getCentralMeridian());const d=null!==r.getGCSSplitLines();let p=this.m_densificationStepInput;const f=!Number.isNaN(p);let x;if(f&&(c=(new Jt).execute(c,p,0,0,t)),this.m_bDontGeonormalizePolygon){if(m&&(hg(s,_,c),f)){const e=s.getUnitsPerMillimeter();p*=s.getGCS().getUnitsPerMillimeter()/e}if(cg(this.m_projTransform,c,u),f){const e=s.getGCS().getUnitsPerMillimeter();p*=r.getGCS().getUnitsPerMillimeter()/e}x=c}else{const e=new I({vd:c.getDescription()});if(e.addAndExplicitlyOpenAllPaths(c,!1),m&&(hg(s,_,e),f)){const e=s.getUnitsPerMillimeter();p*=s.getGCS().getUnitsPerMillimeter()/e}if(cg(this.m_projTransform,e,u),f){const e=s.getGCS().getUnitsPerMillimeter();p*=r.getGCS().getUnitsPerMillimeter()/e}let n=Number.NaN;l?n=r.getCentralMeridian():Number.isNaN(this.m_centralMeridianOfOutputGCS)||(n=this.m_centralMeridianOfOutputGCS);let i=Mh(s)|Mh(r),o=10*g.getTolerance(0);this.m_bDontHackPolesInGeogToGeog&&(i=3,o=0),x=Fl(c,s,e,g,n,t,i,o,this.m_bNormalizeOutputGeometry),i=0}return d&&(a(!r.isPannable()),x=cl(x,r,t)),l&&(x=Sl(x,r,this.m_outputPCSHorizonClipOption,t),f&&(x=(new Jt).execute(x,p,0,0,t)),Jl(r,x,this.m_bNormalizeOutputGeometry)),x.isEmpty(),x}projectGeometryCollection(e,t){return a(0),{}}projectEnvelopeHelper(t,s){const n=(t.height()+t.width())/400;if(0!==n){const r=(new Jt).execute(t,n,0,0,s),i=this.projectMultiPath(r,s),o=new pe({vd:t.getDescription()});if(i.isEmpty()){const n=Math.min(t.height(),t.width()),i=me(this.m_projTransform.getInputSR(),t,!0).total();if(n>100*i){const t=e.constructEmpty(),s=de(this.m_projTransform.getOutputSR(),t,!0).total(),r=this.m_projTransform.getInputSR().getOneMeter()/this.m_projTransform.getOutputSR().getOneMeter();if(n>100*Math.max(i,s*r))return o}const a=new I;a.addAndExplicitlyOpenAllPaths(r,!1);this.projectMultiPath(a,s).queryEnvelope(o);const h=new N({vd:t.getDescription()});h.reserve(4);const m=new fe;for(let e=0;e<4;e++)t.queryCornerByVal(e,m),h.add(m);const l=this.projectMultiPoint(h,s),g=new pe;return l.queryEnvelope(g),o.merge(g),o}return i.queryEnvelope(o),o}{const e=t.getCenterXY(),n=new fe(e),r=this.projectPoint(n,s),i=new pe({vd:t.getDescription()});if(r.isEmpty())i.setEmpty();else{t.copyTo(i);const e=r.getXY();i.setCoords(e.x,e.y,e.x,e.y)}return i}}transformInPlace(e,t,s,n){return a(0),0}transformInPlaceZ(e,t,s,n,r,i){if(this.m_projTransform.isIdentity())return e!==n&&et(n,e,s),t!==r&&wt(r,t,0,0,s),s;const o=this.m_projTransform,h=o.getInputSR(),m=o.getOutputSR(),l=h.getCoordinateSystemType(),g=m.getCoordinateSystemType();if(0===l&&l===g){return Uh(h,m).transformPoints2D(e,s,n),o.isVertical()&&a(0),s}3===l&&u("image: transform_in_place_"),3===g&&u("image: transform_in_place_"),Ll(e,s,n,h,this.m_inputPCSHorizonClipOption),r!==t&&wt(r,t,0,0,s),2===l&&mg(h,0,n,s),fg(this.m_projTransform,n,r,s,!1);let c=0;const _=2===g;if(_?c=m.getCentralMeridian():Number.isNaN(this.m_centralMeridianOfOutputGCS)||(c=this.m_centralMeridianOfOutputGCS),_&&0!==this.m_outputPCSHorizonClipOption||Nl(n,s,m.getGCS(),c),_){if(!wl(n,s,m,this.m_outputPCSHorizonClipOption))for(let e=0;e<s;++e)n[e].setNAN();Wl(m,n,s,!1)}let d=s;for(let a=0;a<s;++a)n[a].isNAN()&&(r&&(r[a]=Number.NaN),d--);return d}}function Mh(e){if(2!==e.getCoordinateSystemType())return 0;let t=0;const s=e.getPCSInfo(),n=s.getNorthPoleLocation(),r=s.getSouthPoleLocation(),i=s.getNorthPoleGeometry(),o=s.getSouthPoleGeometry();return i===Nc.PE_POLE_POINT&&n!==Nc.PE_POLE_OUTSIDE_BOUNDARY&&(t=1),o===Nc.PE_POLE_POINT&&r!==Nc.PE_POLE_OUTSIDE_BOUNDARY&&(t|=2),t}function Uh(e,t){const s=e.getHorzUnitFactor(),n=t.getHorzUnitFactor();let r=1,i=1;const o=20015077/180;1===e.getUnit().getUnitType()&&(r=o),1===t.getUnit().getUnitType()&&(i=o);const a=s/n*(r!==i?r/i:1),h=new jt;return h.setScaleCoords(a,a),h}let qh=class{getOperatorType(){return 10300}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s){return!t||t.isIdentity()?e:new Bh(e,t,s)}execute(e,t,s){return t.isIdentity()?e:vh(e,t,s)}transform(e,t,s,n,r=!0){return r?Nh(e,t,s,n,null):Th(e,t,s,n,null)}transform3D(e,t,s,n,r=!0){return a(0),0}foldInto360Range(e,t){return Dh(e,t,null)}foldInto360RangeGeodetic(e,t,s){return Gh(e,t,s,null)}normalizeGeometryEx(e,t,s,n,r=0){return Tm(e,t,s,n,r)}normalizeGeometry(e,t,s){return Vh(e,t,s)}clipToSpatialReference(e,t,s,n=0){return Hh(e,t,s,n)}};class Bh extends es{constructor(e,s,n){super(),this.m_projTrans=s,this.m_progressTracker=n,this.m_index=-1,e||t(""),this.m_inputGeoms=e}next(){const e=this.m_inputGeoms.next();return null!=e?(y(e),s(e),this.m_index=this.m_inputGeoms.getGeometryID(),vh(e,this.m_projTrans,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function Oh(e,i,h,m,l,g,u=!1){e||t("Geometry.Geodetic_densify.densify");let c=e.getGeometryType();if(s(e),e.isEmpty()||p(c))return e;const _=new Wh;_.m_sr=i,_.m_gcs=i.getGCS(),_.m_transform=_.m_gcs!==i?i.getSRToGCSTransform():null,_.m_progressTracker=g;const d=Hu();let f,x,y;if(_.m_gcs.querySpheroidData(d),_.m_a=d.majorSemiAxis,_.m_eSquared=d.e2,_.m_rpu=_.m_gcs.getUnit().getUnitToBaseFactor(),_.m_gcsTolerance=_.m_gcs.getTolerance(0),_.m_radTolerance=_.m_gcsTolerance*_.m_rpu,_.m_maxLength=m,_.m_maxDeviation=l,_.m_curveType=h,c===n.enumEnvelope){const t=new v({vd:e.getDescription()});t.addEnvelope(e,!1),f=t,c=n.enumPolygon}else if(r(c)){const t=new I({vd:e.getDescription()});t.addSegment(e,!0),f=t,c=n.enumPolyline}else f=e;if(4!==_.m_curveType){if(a(o(c)),x=_.replaceCurvesWithLinesAndProjectToGCSAsMultiPoint_(f),x.isEmpty())return x;x=Yh(_.m_rpu,x);let e=_.geodeticDensify(x);u||(e=(new qh).foldInto360RangeGeodetic(e,_.m_gcs,_.m_curveType)),y=_.m_transform&&!_.m_transform.isIdentity()?(new qh).execute(e,_.m_transform.getInverse(),g):e}else{let e;if(a(o(c)),i.isPannable())e=Al(f,i);else{const t=i.getPCSHorizon();e=(new wh).execute(f,t,i,g),e===t&&(e=t.clone())}if(x=e,x.isEmpty())return x;y=_.shapePreservingDensify(x)}return y}function Yh(t,s){const n=new e;if(s.queryLooseEnvelope(n),n.width()*t<Math.PI)return s;let r=!1;const i=s.querySegmentIterator(),o=new Qe,a=new Qe;for(;i.nextPath();)for(;i.hasNextSegment();){const e=i.nextSegment();if(o.setCoordsPoint2D(e.getStartXY()),a.setCoordsPoint2D(e.getEndXY()),o.scale(t),a.scale(t),Math.abs(o.x-a.x)>Math.PI){if(!Xh(o,a)){r=!0;break}if(Math.abs(o.x-a.x)>2*Math.PI){r=!0;break}}}if(!r)return s;const h=s.createInstance();h.reserve(s.getPointCount());const m=s.getDescription().getAttributeCount()>1,l=new Qe,g=new Qe,u=new Qe(0,0),c=new Qe(0,0),_=new fe;for(i.resetToFirstPath();i.nextPath();){let e=Number.NaN,s=0;for(;i.hasNextSegment();){const n=i.nextSegment();o.setCoordsPoint2D(n.getStartXY()),a.setCoordsPoint2D(n.getEndXY()),o.scale(t),a.scale(t),Number.isNaN(e)?(s=im(o.x,Number.NaN,s),u.setCoordsPoint2D(o)):u.setCoordsPoint2D(c),e=u.x;if(Xh(o,a)){if(a.x-o.x>2*Math.PI)for(;a.x-o.x>2*Math.PI;)a.x-=2*Math.PI;else if(a.x-o.x<2*-Math.PI)for(;a.x-o.x<2*-Math.PI;)a.x+=2*Math.PI;s=im(a.x,Number.NaN,s),c.setCoordsPoint2D(a)}else l.setCoordsPoint2D(a),gm(l),s=im(l.x,e,s),c.setCoords(s+l.x,l.y);if(Math.abs(c.x-a.x)<.5&&c.setCoordsPoint2D(a),m){n.queryCoord(0,_),g.setCoordsPoint2D(u),g.scale(1/t),_.setXY(g);i.isFirstSegmentInPath()?h.startPathPoint(_):h.lineToPoint(_),i.isLastSegmentInPath()&&!i.isPathClosed()&&(n.queryCoord(1,_),g.setCoordsPoint2D(c),g.scale(1/t),_.setXY(g),h.lineToPoint(_))}else{i.isFirstSegmentInPath()&&h.insertPath2D(-1,null,0,0,!0);const e=h.getPathCount()-1;g.setCoordsPoint2D(u),g.scale(1/t),h.insertPoint2D(e,-1,g),i.isLastSegmentInPath()&&!i.isPathClosed()&&(g.setCoordsPoint2D(c),g.scale(1/t),h.insertPoint2D(e,-1,g))}}}return h}function Rh(e,t,s,n,r,i,o,a,h,m,l,g){const u=new Qe,c=new Qe,_=n.compare(r)>0;nm(_,n,r,u,c);const d=Kh(e,t,s,u,c,i,o,a,h,m,null,l,g);return _&&sm(h,m,null,l),d}function Xh(e,t){return!(!Pc(e.y,Ct)||!Pc(t.y,Ct))||!(!Pc(e.y,-Ct)||!Pc(t.y,-Ct))}function Lh(e,t){return!(!Pc(e.y,Ct)||Pc(t.y,Ct))||!(!Pc(e.y,-Ct)||Pc(t.y,-Ct))}function zh(e,t){return!(!Pc(t.y,Ct)||Pc(e.y,Ct))||!(!Pc(t.y,-Ct)||Pc(e.y,-Ct))}class Wh{constructor(){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_progressTracker=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_gcsTolerance=0,this.m_radTolerance=0,this.m_maxLength=0,this.m_maxDeviation=0,this.m_curveType=0}geodeticDensify(e){const t=e.createInstance(),s=e.querySegmentIterator(),n=[],r=[],i=new F,o=e.getDescription().getAttributeCount()>1;for(;s.nextPath();){const e=[0];for(;s.hasNextSegment();){const a=s.nextSegment(),h=a.getStartXY(),m=a.getEndXY();h.scale(this.m_rpu),m.scale(this.m_rpu);const l=new Qe,g=new Qe,u=h.compare(m)>0;nm(u,h,m,l,g),n.length=0,r.length=0,this.m_maxLength>0?Kh(this.m_a,this.m_eSquared,this.m_curveType,l,g,this.m_maxLength,this.m_maxDeviation,this.m_radTolerance,null,null,o?r:null,n,e):Qh(),u&&sm(null,null,o?r:null,n),n[0].setCoordsPoint2D(a.getStartXY()),n.at(-1).setCoordsPoint2D(a.getEndXY());const c=1/this.m_rpu;for(let e=1,t=n.length-1;e<t;e++)n[e].scale(c);if(o){const e=rm(u,a,i);Zh(s.isFirstSegmentInPath(),s.isLastSegmentInPath()&&!s.isPathClosed(),a,e,r,n,t)}else jh(s.isFirstSegmentInPath(),s.isLastSegmentInPath()&&!s.isPathClosed(),n,t)}}return t}shapePreservingDensify(e){const t=e.createInstance(),s=e.querySegmentIterator(),n=[],r=[],i=new F,o=e.getDescription().getAttributeCount()>1;for(;s.nextPath();)for(;s.hasNextSegment();){const e=s.nextSegment(),a=e.getStartXY(),h=e.getEndXY(),m=a.compare(h)>0,l=rm(m,e,i);n.length=0,r.length=0,tm(this.m_a,this.m_eSquared,this.m_rpu,l,this.m_sr,this.m_maxLength,this.m_maxDeviation,o?r:null,n),m&&sm(null,null,o?r:null,n),o?Zh(s.isFirstSegmentInPath(),s.isLastSegmentInPath()&&!s.isPathClosed(),e,l,r,n,t):jh(s.isFirstSegmentInPath(),s.isLastSegmentInPath()&&!s.isPathClosed(),n,t)}return t}replaceCurvesWithLinesAndProjectToGCSAsMultiPoint_(e){const t=e.hasNonLinearSegments();if((!this.m_transform||this.m_transform.isIdentity())&&(e=Al(e,this.m_gcs),!t))return e;const s=e.createInstance();s.reserveParts(e.getPointCount(),e.getPathCount());for(let n=0,r=e.getPathCount();n<r;++n){let t=new N;const r=e.getPathStart(n),i=e.getPathEnd(n);t.addPoints(e,r,i);const o=e.isClosedPath(n);let a=!1;if(o&&i-r===1&&e.hasNonLinearSegmentsPath(n)){const s=new fe;e.getPointByVal(r,s),t.add(s),a=!0}if(this.m_transform&&!this.m_transform.isIdentity()){if(o&&!a){const s=new fe;e.getPointByVal(r,s),t.add(s)}if(t=(new qh).execute(t,this.m_transform,this.m_progressTracker),o&&t.getPointCount()>1){const e=t.getXY(0),s=t.getXY(t.getPointCount()-1);e.equals(s)&&t.removePoint(t.getPointCount()-1)}}t.getPointCount()>1&&(s.addPathMultiPoint(t,0,-1,!0),o&&s.closePathWithLine())}return s}}function jh(e,t,s,n){e&&n.insertPath2D(-1,null,0,0,!0);const r=n.getPathCount()-1;n.insertPointsFromPoints(r,-1,s,0,s.length-1,!0),t&&n.insertPoint2D(r,-1,s.at(-1))}function Zh(e,t,s,n,r,i,o){o.reserve(o.getPointCount()+i.length-1);const a=new fe;if(s.queryStart(a),e?o.startPathPoint(a):o.lineToPoint(a),i.length>2){const e=n.calculateLength2D();for(let t=1;t<i.length-1;t++){const s=n.lengthToT(r[t]*e);n.queryCoord(s,a),a.setXY(i[t]),o.lineToPoint(a)}}t&&(s.queryEnd(a),o.lineToPoint(a))}function Kh(e,t,s,n,r,i,o,a,h,m,l,g,u){const c={stack:[],error:void 0,hasError:!1};try{const _=zt(c,new Cc,!1),d=zt(c,new Cc,!1),p=zt(c,new Cc,!1);Dc.geodeticDistance(e,t,n.x,n.y,r.x,r.y,p,_,d,s);const f=p.val,x=_.val,y=d.val;let P=x,E=y;P<0&&(P+=2*Math.PI),E<0&&(E+=2*Math.PI),h&&(h[0]=P),m&&(m[0]=E);let S=Number.NaN,C=Number.NaN;if(null!==l){const s=Vc.q90(e,t),r=Vc.q(e,t,n.y);S=(s-r)/f,C=(s+r)/f}const I=Lh(n,r),b=zh(n,r),w=I||b,v=mm(n,r,a),N=zt(c,new pt(new Cc,new Cc),!1),T=new Qe,G=new Qe,D=new Qe;u[0]=im(n.x,Number.NaN,u[0]);let V=u[0];if(f<=i)return g.push(n.clone()),u[0]=im(r.x,Number.NaN,u[0]),null!=l&&l.push(0),w?(I&&om(n,r,l,g),b&&am(n,r,l,g)):v?hm(n,r,x,S,C,l,g):o>0&&(G.setCoords(n.x-V,n.y),T.setCoords(r.x-u[0],r.y),V=Jh()),g.push(r.clone()),f;const F=1+Math.ceil(f/i),H=f/(F-1),k=new Qe;g.push(n.clone()),k.setCoordsPoint2D(n),G.setCoords(n.x-u[0],n.y),null!==l&&l.push(0);for(let i=1;i<F;i++){let h;if(i<F-1){const r=i*H;Dc.geodeticCoordinate(e,t,n.x,n.y,r,x,N.at(0),N.at(1),s),T.setCoords(N.at(0).val,N.at(1).val),u[0]=im(T.x,k.x,u[0]),D.setCoords(u[0]+T.x,T.y),h=i/(F-1)}else u[0]=im(r.x,Number.NaN,u[0]),T.setCoords(r.x-u[0],r.y),D.setCoordsPoint2D(r),h=1;w?(1===i&&I&&om(n,D,l,g),i===F-1&&b&&am(k,r,l,g)):v?lm(k,D,a)&&(n.x<r.x?k.x>D.x&&(u[0]+=2*Math.PI,D.setCoords(u[0]+T.x,T.y)):k.x<D.x&&(u[0]-=2*Math.PI,D.setCoords(u[0]+T.x,T.y)),hm(k,D,x,S,C,l,g)):o>0&&Jh(),g.push(D.clone()),null!=l&&l.push(h),k.setCoordsPoint2D(D),G.setCoordsPoint2D(T),V=u[0]}return f}catch(_){c.error=_,c.hasError=!0}finally{Wt(c)}}function Qh(e,t,s,n,r,i,o,h,m,l){a(0)}function Jh(e,t,s,n,r,i,o,h,m,l,g,u,c,_,d){return a(0),0}function $h(e,t,s,n){const r=ds(e,t,s),i=ds(e,t,n);return Re.distance(r,i)}function em(e,t,s,n,r,i,o,h){const m=new Array,l=lt(Array,8);let g=2,u=r.getCoord2D(i);l[0][0]=u.x,l[0][1]=u.y,u=r.getCoord2D(o),l[1][0]=u.x,l[1][1]=u.y;const c=e=>{if(null!==s){const t=wc.projToGeog(s,e,l);a(t===e)}for(const t of l)t[0]*=n,t[1]*=n};c(2),m.push(ds(e,t,new Qe(l[0][0],l[0][1]))),m.push(ds(e,t,new Qe(l[1][0],l[1][1])));let _=Re.distance(m[0],m[1]);if(_>h)return _;let d=0;for(g=3;g<=17;){const s=1/(g-1);let n=0;for(let e=1;e<g;++e)if(1&e){const t=ft(i,o,e*s);r.queryCoord2D(t,u),l[n][0]=u.x,l[n][1]=u.y,n++}c(n);let p=1;for(let r=0;r<n;++r)m.splice(p,0,ds(e,t,new Qe(l[r][0],l[r][1]))),p++;p=0;let f=m[p];p++;let x=0;for(;p!==m.length;++p){const e=m[p];x+=Re.distance(f,e),f=e}if(x>h)return x;if(d=x-_,a(d>=0||Math.abs(d)<1e-14*x),d<0&&(d=0),_=x,x+d<=h)return x+d;g=2*g-1}return _+d}function tm(e,t,s,n,r,i,o,h,m){const l=n.isCurve(),g=Fs(e,t)*Math.PI*179/180;let u=i;i>0&&!(i>g)||(u=g);const c=o,_=c>0;let d=Number.NaN;_&&(d=Bs(e,t,c));const p=1===r.getCoordinateSystemType();let f=null;p||(f=r.getPECoordSys());const x=r.getTolerance(0),y=n.getStartXY(),P=n.getEndXY(),E=new Qe,S=new Qe;if(p)E.setCoordsPoint2D(y),E.scale(s),S.setCoordsPoint2D(P),S.scale(s);else{const e=[y.x,y.y,P.x,P.y];wc.projToGeog(f,2,e),E.setCoords(e[0],e[1]),E.scale(s),S.setCoords(e[2],e[3]),S.scale(s)}let C=0,I=0;const b=[],w=[],v=[];b.push(P.clone()),w.push(S.clone()),v.push(1),m.push(y.clone()),null!==h&&h.push(I);const N=r.isPannable(),T=y.clone(),G=[.5,.33333333333333337,.6666666666666666,.16666666666666669,.8333333333333333];let D=5;l||(_?(G[0]=.5,G[1]=.25,G[2]=.75,D=3):D=1),a(u>0);const V=e=>{if(e=e.clone(),null!==f){const t=[e.x,e.y];wc.projToGeog(f,1,t),e.setCoords(t[0],t[1])}return e.scale(s),e};for(;w.length>0;){const i=b.at(-1).clone();S.assign(w.at(-1));const o=v.at(-1);let g=!1,c=Number.NaN;const y=em(e,t,f,s,n,I,o,u);let P=u>=y&&Math.abs(E.y-S.y)<.9*Math.PI;p&&P&&(P=Math.abs(E.x-S.x)<.9*Math.PI);const F=new Qe,H=new Qe;let k=!1;if(!_&&P&&P&&(k=!0),n.calculateSubLength(I,o)<=x&&(k=!0),!k)for(let h=0;h<D;h++){const m=ft(I,o,G[h]),u=new Qe;n.queryCoord2D(m,u);const f=V(u);if(0===h&&(c=m,F.setCoordsPoint2D(u),H.setCoordsPoint2D(f),!P)){g=!0;break}if(a(_),p&&Math.abs(E.x-f.x)>=Math.PI){g=!0;break}let x=new Qe,y=new Qe;l?(x=Qe.lerp(T,i,G[h]),y=V(x)):(x=u.clone(),y=f.clone());const C=Ss(e,t,E,S,G[h]),b=C.clone();if(p?(b.x/=s,b.y/=s):(b.x/=s,b.y/=s,Th(r.getGCSToSRTransform(),[b],1,[b],null)),b.isNAN()){const s=ds(e,t,f),n=ds(e,t,E),r=ds(e,t,S),{second:i}=vs(e,t,s,n,r,2,null);if(i>d){g=!0;break}}else{if(N){const e=r.getPannableExtent().width(),t=ft(n.getStartX(),n.getEndX(),.5);for(;b.x<t-.5*e;)b.x+=e;for(;b.x>=t+.5*e;)b.x-=e}const s=n.getClosestCoordinateOnInterval(b,new at(I,o),-1);let i=n.getCoord2D(s);i=V(i);let a=$h(e,t,i,C);if(a>d){if(a<4*d){const s=ds(e,t,i),n=ds(e,t,E),r=ds(e,t,S),{second:o}=vs(e,t,s,n,r,2,null);a=o}if(a>d){g=!0;break}}else if(l){let s=ds(e,t,f);const n=ds(e,t,E),r=ds(e,t,S);let{second:i}=vs(e,t,s,n,r,3,null);if(i<=d){s=ds(e,t,y);const{second:o}=vs(e,t,s,n,r,3,null);i=o}if(i>d){g=!0;break}}}}g?(b.push(F.clone()),w.push(H.clone()),v.push(c)):(b.pop(),w.pop(),v.pop(),m.push(i.clone()),C+=y,null!==h&&h.push(C),T.setCoordsPoint2D(i),E.setCoordsPoint2D(S),I=o)}if(null!==h){const e=1/C;for(let t=0;t<h.length;t++)h[t]*=e}}function sm(e,t,s,n){if(n.reverse(),null!==s&&s.reverse(),e){const s=e[0],n=t[0];e[0]=n,t[0]=s}}function nm(e,t,s,n,r){e?(n.setCoordsPoint2D(s),r.setCoordsPoint2D(t)):(n.setCoordsPoint2D(t),r.setCoordsPoint2D(s))}function rm(e,t,s){return e?(s.create(t.getGeometryType()),t.copyTo(s.get()),s.get().reverse(),s.get()):t}function im(e,t,s){if(Number.isNaN(t)){for(;s-e>Math.PI;)s-=2*Math.PI;for(;e-s>Math.PI;)s+=2*Math.PI;return s}return s+e-t>Math.PI?s-=2*Math.PI:t-(s+e)>Math.PI&&(s+=2*Math.PI),s}function om(e,t,s,n){if(e.y>0){const r=new Qe;r.setCoords(t.x,Ct),Pc(e.x,r.x)||Pc(t.y,r.y)||(n.push(r),null!==s&&s.push(0))}else{const r=new Qe;r.setCoords(t.x,-Ct),Pc(e.x,r.x)||Pc(t.y,r.y)||(n.push(r),null!==s&&s.push(0))}}function am(e,t,s,n){if(t.y>0){const r=new Qe;r.setCoords(e.x,Ct),Pc(t.x,r.x)||Pc(e.y,r.y)||(n.push(r),null!==s&&s.push(1))}else{const r=new Qe;r.setCoords(e.x,-Ct),Pc(t.x,r.x)||Pc(e.y,r.y)||(n.push(r),null!==s&&s.push(1))}}function hm(e,t,s,n,r,i,o){if(Sc(s)){if(Ct-e.y>0){const t=new Qe;t.setCoords(e.x,Ct),o.push(t),null!==i&&i.push(n)}if(Ct-t.y>0){const e=new Qe;e.setCoords(t.x,Ct),o.push(e),null!==i&&i.push(n)}}else{if(Ct+e.y>0){const t=new Qe;t.setCoords(e.x,-Ct),o.push(t),null!==i&&i.push(r)}if(Ct+t.y>0){const e=new Qe;e.setCoords(t.x,-Ct),o.push(e),null!==i&&i.push(r)}}}function mm(e,t,s){return!(!lm(e,t,s)||Pc(e.y,Ct)||Pc(e.y,-Ct)||Pc(t.y,Ct)||Pc(t.y,-Ct))}function lm(e,t,s){return Math.abs(Math.abs(e.x-t.x)-Math.PI)<=s}function gm(e){if(e.x<-Math.PI)for(;e.x<-Math.PI;)e.x+=2*Math.PI;else if(e.x>Math.PI)for(;e.x>Math.PI;)e.x-=2*Math.PI}function um(e,t,s,n){const r={stack:[],error:void 0,hasError:!1};try{const i=[s.x],o=[s.y-n],a=[s.x],h=[s.y+n];Vs(i,o),Vs(a,h);const m=zt(r,new Cc,!1),l=zt(r,new Cc,!1);Dc.greatEllipticDistance(e,t,s.x,s.y,i[0],o[0],m,null,null),Dc.greatEllipticDistance(e,t,s.x,s.y,a[0],h[0],l,null,null);return Math.min(m.val,l.val)}catch(i){r.error=i,r.hasError=!0}finally{Wt(r)}}function cm(t,s,n,r,i){const o=new e;n.queryEnvelope(o);const a=me(null,n,!0).total();if(s.xmin-o.xmin<=a&&o.xmax-s.xmax<=a)return n;const h=s.width();let m=0;for(;s.xmin+m*h<o.xmin;)m++;for(;s.xmin+m*h>o.xmin;)m--;const l=m*h,g=new jt;g.setShiftCoords(-l,0);const u=n;u.applyTransformation(g);const c=new e;u.queryEnvelope(c);let _=null;if(c.xmax>s.xmax){let n=0;const r=new e;r.setCoords({env2D:s}),r.ymin-=1,r.ymax+=1;let o=u;for(;r.xmin<c.xmax;){c.xmax>r.xmax&&(o=Hl(o,t,2,!0,r.xmax));const e=We(o,r),a=de(null,e,!0).total(),m=Zt(o,r,a,Number.NaN,i);null===_?_=m===o?m.clone():m:(g.setShiftCoords(-n*h,0),m.applyTransformation(g),_.add(m,!1)),n++,r.xmin=r.xmax,r.xmax=s.xmax+n*h}}else _=u;return _}class _m{constructor(e,t){this.m_basisX=new Re,this.m_basisY=new Re,this.m_normal=new Re,a(1===e.getCoordinateSystemType()),this.m_gcs=e;const s=Hu();e.querySpheroidData(s),this.m_a=s.majorSemiAxis,this.m_e2=s.e2,this.m_rpu=e.getUnit().getUnitToBaseFactor(),this.m_curvCenterRad=t.mul(this.m_rpu);const n=this.m_curvCenterRad.x,r=this.m_curvCenterRad.y,i=Math.cos(n),o=Math.sin(n),h=Math.cos(r),m=Math.sin(r);this.m_cartCenter3D=fs(this.m_a,this.m_e2,i,o,h,m),this.m_normal.setCoordsPoint3D(this.m_cartCenter3D),this.m_d=this.m_cartCenter3D.length(),this.m_normal.divThis(this.m_d),Re.selectRightHandedBasisFromNormal(this.m_normal,this.m_basisX,this.m_basisY),this.m_northPolePcs=this.projectPoint(Qe.construct(0,.5*Math.PI/this.m_rpu)),this.m_southPolePcs=this.projectPoint(Qe.construct(0,.5*-Math.PI/this.m_rpu))}project(e){const s=e.getGeometryType();if(d(s)){y(e);const t=e;return this.projectMultiVertex(t)}t("Gnomonic.project")}unproject(e,s,r){const i=e.getGeometryType();if(d(i)){y(e);let t=e;const a=[];if(i===n.enumPolygon){const e=t.getPathCount();for(let s=0;s<e;s++){const e=t.calculateRingArea2D(s);a.push(e)}}return this.unprojectMultiVertex(s,t),o(i)?(Cm(this.m_gcs,0,t),dm(a,this.m_gcs,0,t,r)):t=vl(t,this.m_gcs,0,!0,0,r),t}t("Gnomonic.unproject")}projectPoint(e){const t=e.mul(this.m_rpu),s=ds(this.m_a,this.m_e2,t),n=this.m_normal.dotProduct(s);if(n<=0)return Qe.construct(Number.NaN,Number.NaN);const r=this.m_d/n,i=s.mul(r).sub(this.m_cartCenter3D),o=new Qe;return o.x=this.m_basisX.dotProduct(i),o.y=this.m_basisY.dotProduct(i),o}unprojectPoint(e){const t=this.m_cartCenter3D.add(this.m_basisX.mul(e.x).add(this.m_basisY.mul(e.y)));return Ps(this.m_a,this.m_e2,t).divide(this.m_rpu)}projectMultiVertex(e){const t=e.getImpl();let s=!0;const n=new Qe,r=new Qe;for(let i=0,o=t.getPointCount();i<o;i++)t.queryXY(i,n),n.y*this.m_rpu>.5*Math.PI?r.assign(this.m_northPolePcs):n.y*this.m_rpu<.5*-Math.PI?r.assign(this.m_southPolePcs):r.assign(this.projectPoint(n)),t.setXYNoCurves(i,r),r.isNAN()&&(s=!1);return t.notifyModifiedFlags(2001),s}unprojectMultiVertex(e,t){const s=t.getImpl(),n=e*e,r=!this.m_northPolePcs.isNAN(),i=!this.m_southPolePcs.isNAN();for(let o=0,a=s.getPointCount();o<a;o++){const e=s.getXY(o);let t=new Qe;r&&Qe.sqrDistance(e,this.m_northPolePcs)<=n?(t.setCoords(this.m_curvCenterRad.x,.5*Math.PI),t.scale(1/this.m_rpu)):i&&Qe.sqrDistance(e,this.m_southPolePcs)<=n?(t.setCoords(this.m_curvCenterRad.x,.5*-Math.PI),t.scale(1/this.m_rpu)):t=this.unprojectPoint(e),s.setXYNoCurves(o,t)}s.notifyModifiedFlags(2001)}}function dm(t,s,r,i,o){const a=i.getGeometryType(),h=s.getPannableExtent();let m=i,l=!1,g=!1;if(a===n.enumPolygon){const n=new e,i=Qe.construct(r,0);n.setCoords({env2D:h}),n.centerAt(i),l=pm(t,s,n,m,o);const a=Sm(s,n,m,o);a!==m&&(g=!0),m=a}else m=(new qh).foldInto360RangeGeodetic(m,s,2);a===n.enumPolygon&&(l||g)&&(m=(new Eh).execute(m,s,!1,o)),m!==i&&(i.setEmpty(),i.add(m,!1))}function pm(e,t,s,n,r){const i=fm(s,n),o=xm(e,t,s,n,r);return i||o}function fm(t,s){const n=new e;s.queryEnvelope(n);const r=Pc(t.ymax,n.ymax),i=Pc(t.ymin,n.ymin),o=r||i;return!!o&&(ym(t,s),o)}function xm(e,t,s,n,r){const i=[],o=[],a=.5*s.width();for(let g=0;g<n.getPathCount();g++){const h=n.getXY(n.getPathStart(g)),m=n.getXY(n.getPathEnd(g)-1),l=e[g]<0;if(Math.abs(h.x-m.x)>a){const e=Pm(l,t,s,g,n,r);i.push(e),o.push(g)}else if(!l){if(n.calculateRingArea2D(g)<0){const e=Em(t,s,g,n,r);i.push(e),o.push(g)}}}if(0===i.length)return!1;const h=new v({vd:n.getDescription()});let m=0,l=o[m];for(let g=0;g<n.getPathCount();g++)g===l?(h.add(i[m],!1),m++,m<o.length&&(l=o[m])):h.addPath(n,g,!0);return n.setEmpty(),n.add(h,!1),!0}function ym(t,s){const n=new v,r=new e;for(let e=0;e<s.getPathCount();e++){s.queryPathEnvelope(e,r);let i=Pc(t.ymax,r.ymax),o=Pc(t.ymin,r.ymin);if(!(i||o)){n.addPath(s,e,!0);continue}n.insertPath2D(-1,null,0,0,!0);const a=s.getPathStart(e),h=s.getPathEnd(e),m=h-a;let l=-1;for(l=a;l<h;l++){const e=s.getXY(l);if(i=Pc(t.ymax,e.y),o=Pc(t.ymin,e.y),!i&&!o)break}let g=l,u=!1,c=Number.NaN;do{const r=s.getXY(g);i=Pc(t.ymax,r.y),o=Pc(t.ymin,r.y);const h=a+(g+1-a)%m;if(i||o){let i=Qe.construct(c,r.y);n.insertPoint2D(e,-1,i);const o=s.getXY(h),a=Pc(t.ymax,o.y),m=Pc(t.ymin,o.y);a||m||(i=Qe.construct(o.x,r.y),u?n.setXYNoCurves(n.getPointCount()-1,i):n.insertPoint2D(e,-1,i)),u=!0}else n.insertPoint2D(e,-1,r),c=r.x,u=!1;g=h}while(g!==l)}s.setEmpty(),s.add(n,!1)}function Pm(t,s,n,r,i,o){const a=new v,h=new v,m=new jt,l=i.getXY(i.getPathStart(r)),g=i.getXY(i.getPathEnd(r)-1),u=n.width(),c=.5*u,_=new e;i.queryEnvelope(_);const d=Math.ceil(_.width()/u)+1;let p,f;l.x>g.x?(p=-u,f=t?n.ymin:n.ymax):(p=u,f=t?n.ymax:n.ymin),m.setShiftCoords(p,0),a.addPath(i,r,!0),h.add(a,!1);const x=new fe;for(let e=0;e<d;e++)h.applyTransformation(m),h.getPointByVal(0,x),a.lineToPoint(x),a.addSegmentsFromPath(h,0,0,h.getSegmentCount()-1,!1);const y=a.getXY(0),P=a.getXY(a.getPointCount()-1);y.y=f,P.y=f,a.lineTo(P);const E=new Qe;for(E.setCoordsPoint2D(P),E.x-=.5*p;Math.abs(E.x-y.x)>c;)a.lineTo(E),E.x-=.5*p;a.lineTo(y);const S=n.getCenter().x,C=new e;a.queryEnvelope(C);let I=0;const b=C.getCenter().x;b-S>c?I=-Math.ceil((b-S-c)/u):S-b>c&&(I=Math.ceil((S-b-c)/u)),0!==I&&(m.setShiftCoords(I*u,0),a.applyTransformation(m));const w=new G,N=w.addGeometry(a);kl(w,N,s,0,2,!0,n.xmin),kl(w,N,s,0,2,!0,n.xmax);const T=w.getGeometry(N),D=We(T,n);D.inflateCoords(0,1);const V=de(null,D,!0);return Zt(T,n,V.total(),Number.NaN,o)}function Em(t,s,n,r,i){const o=s.width(),a=.5*o,h=s.getCenter().x,m=new e;r.queryPathEnvelope(n,m);let l,g=0,u=m.getCenter().x;if(u-h>a?g=-Math.ceil((u-h-a)/o):h-u>a&&(g=Math.ceil((h-u-a)/o)),0!==g){const e=new jt;e.setShiftCoords(g*o,0),r.getImpl().applyTransformationToPath(e,n),r.queryPathEnvelope(n,m),u=m.getCenter().x}const c=new e;s.containsExclusiveEnvelope(m)?(l=!1,c.setCoords({env2D:s})):(l=!0,c.setCoords({env2D:s}),c.xmin-=o,c.xmax+=o);let _=r.createInstance();_.addPathPoint2D(null,0,!0);const d=new Qe;if(d.setCoords(c.xmin,c.ymin),_.insertPoint2D(0,-1,d),d.setCoords(c.xmin,c.ymax),_.insertPoint2D(0,-1,d),d.setCoords(.5*(c.xmin+c.xmax),c.ymax),_.insertPoint2D(0,-1,d),d.setCoords(c.xmax,c.ymax),_.insertPoint2D(0,-1,d),d.setCoords(c.xmax,c.ymin),_.insertPoint2D(0,-1,d),d.setCoords(.5*(c.xmin+c.xmax),c.ymin),_.insertPoint2D(0,-1,d),l){_.addPath(r,n,!0);const e=new jt;u<h?e.setShiftCoords(o,0):e.setShiftCoords(-o,0),r.getImpl().applyTransformationToPath(e,n),_.addPath(r,n,!0);const a=new G,m=a.addGeometry(_);kl(a,m,t,0,2,!0,s.xmin),kl(a,m,t,0,2,!0,s.xmax),_=a.getGeometry(m);const l=We(_,s);l.inflateCoords(0,1);const g=de(null,l,!0).total();_=Zt(_,s,g,Number.NaN,i)}else _.addPath(r,n,!0);return _}function Sm(t,s,n,r){const i=new e;n.queryEnvelope(i);const o=me(null,n,!0).total();if(s.xmin-i.xmin<=o&&i.xmax-s.xmax<=o)return n;const a=n.createInstance();let h=n.createInstance();const m=new e,l=n.getPathCount();for(let e=0;e<l;e++)n.queryPathEnvelope(e,m),s.xmin-m.xmin<=o&&m.xmax-s.xmax<=o?a.addPath(n,e,!0):(h.setEmpty(),h.addPath(n,e,!0),h=cm(t,s,h,!0,r),a.add(h,!0));return a}function Cm(e,t,s){const n=e.getPannableExtent(),r=Qe.construct(t,0);n.centerAt(r);const i=n.width(),o=.5*i,a=new Qe;a.setNAN();let h=Number.NaN;for(let m=0;m<s.getPathCount();m++)for(let e=s.getPathStart(m);e<s.getPathEnd(m);e++){const t=s.getXY(e),r=Pc(t.y,n.ymax)||Pc(n.ymin,t.y);e===s.getPathStart(m)?(a.setNAN(),h=0):a.isNAN()||r||(h=Im(t.x,a.x,o,i,h)),t.x+=h,s.setXYNoCurves(e,t),r||a.setCoordsPoint2D(t)}s.getImpl().notifyModifiedFlags(2001)}function Im(e,t,s,n,r){return r+e-t>s?r-=n:t-(r+e)>s&&(r+=n),r}function bm(e,t,s,n,r,i){const o=t.getAttributeStreamRef(0),a=t.getPointCount();let h=!1;const m=new Qe;for(let P=0;P<a;++P){if(o.queryPoint2D(2*P,m),1&i&&m.y>=s){h=!0;break}if(2&i&&m.y<=-s){h=!0;break}}if(!h)return!1;let l=!1;e&&(l=t.getImpl().isClosedPathInXYPlane(0));const g=new G,u=g.addGeometry(t),c=g.getFirstPath(u);let _=-1,d=!0;const p=new Qe,f=new fe;let x=M;const y=Gm*r/360;for(let P=g.getFirstVertex(c);P!==M;P=g.getNextVertex(P)){g.queryXY(P,m);let e=1&i&&m.y>=s?1:0;if(e|=2&i&&m.y<=-s?2:0,_>0&&_!==e){if(p.x!==m.x){const e=g.getPrevVertex(P);g.queryPoint(e,f);const t=g.insertVertex(c,P,f);p.x=m.x,g.setXY(t,p)}if(l){let e=x!==M?g.getNextVertex(x):g.getFirstVertex(c);const t=g.getPrevVertex(P);for(;e!==t;)e=g.removeVertex(e,!1);if(x!==M){const e=g.getXY(x),s=g.getXY(t);if(Math.abs(e.x-s.x)>y){g.queryPoint(x,f);const n=g.insertVertex(c,t,f);e.x=ft(e.x,s.x,.5),g.setXY(n,e)}}}x=M}if(e&&(m.y=xt(n,m.y),g.setXY(P,m),!d&&_!==e))if(m.x!==p.x){g.queryPoint(P,f);const e=g.insertVertex(c,P,f);g.setXYCoords(e,p.x,m.y),x=e}else x=P;_=e,p.assign(m),d=!1}if(l){if(x!==M){let e=g.getNextVertex(x);for(;e!==M;)e=g.removeVertex(e,!1)}const e=g.getFirstVertex(c);let t=g.getLastVertex(c);const s=g.getXY(e),n=g.getXY(t);if(!s.equals(n)&&(g.queryPoint(e,f),t=g.insertVertex(c,M,f),Math.abs(s.x-n.x)>y)){const e=g.insertVertex(c,t,f);s.x=ft(s.x,n.x,.5),g.setXY(e,s)}}return t.assignCopy(g.getGeometry(u)),!0}function wm(e,t){let s=new v({vd:e});s.addEnvelope(t,!1);const n=t.width()/180;return s=(new Jt).execute(s,n,0,0,null),s}function vm(e,t){const s=e.getPannableExtent();return Number.isNaN(t)||s.centerAtCoords(t,0),s}function Nm(e,t,s){const n=Hu();t.querySpheroidData(n);const r=t.getGCS()!==t?t.getSRToGCSTransform():null,i=lt(Qe,100),o=new Re(0,0,0),a=e.getPointCount(),h=t.getGCS().getUnit().getUnitToBaseFactor();for(let u=0,c=a;u<c;){const t=Math.min(100,c-u);e.queryCoordinates(i,t,u,u+t),r&&(new qh).transform(r,i,t,i,!1);for(let e=0;e<t;e++){if(i[e].isNAN())continue;i[e].scale(h);const t=ds(n.majorSemiAxis,n.e2,i[e]);o.addThis(t)}u+=t}const m=Ps(n.majorSemiAxis,n.e2,o);m.scale(1/h);const l=e;if(!new _m(t.getGCS(),m).project(l))return 0;s.length=e.getPathCount();const g=l.calculateArea2D()<0;for(let u=0,c=e.getPathCount();u<c;u++){const e=l.calculateRingArea2D(u),t=g?e<0:e>0;s[u]=t}return g?-1:1}function Tm(e,t,s,r,o){if(!t.isPannable()||e.isEmpty())return e;const a=e.getGeometryType();a===n.enumGeometryCollection&&u("not yet impl for geometry collection");const h=t.getPannableExtent();Number.isNaN(s)&&(s=h.getCenterX());const m=h.width(),l=.5*m,g=o>0,c=e.queryInterval(0,0);if(!g&&c.width()<l||!d(e.getGeometryType())){const t=c.getCenter();if(Math.abs(t-s)<=l)return e;{const n=new jt,r=nt((s-t)/m)*m;n.setShiftCoords(r,0);const i=e.clone();return i.applyTransformation(n),i}}if(a===n.enumPolygon){let n=new I({vd:e.getDescription()});n.addAndExplicitlyOpenAllPaths(e,!1),g&&(n=Oh(n,t,2,o,Number.NaN,null,!0));const i=[];if(!r){{let s=e;g&&(s=new v,s.add(n,!1));const r=Nm(e,t,i);if(r)r<0&&n.reverseAllPaths();else{const e=s.getPathCount();for(let t=0;t<e;t++)i.push(s.calculateRingArea2D(t)>0)}}r=i}return new Dm(null,r,n,null,t,s,3,0,null).geoNormalizePolygonGeometry(!0)}if(a===n.enumPolyline){let n=new I({vd:e.getDescription()});n.addAndExplicitlyOpenAllPaths(e,!1),g&&(n=Oh(n,t,2,o,Number.NaN,null,!0));return new Dm(null,null,n,null,t,s,3,0,null).geoNormalizePolylineGeometry(!0)}if(a===n.enumMultiPoint){const t=e,n=t.getAttributeStreamRef(0);let r,i=null,o=s,a=0;const h=.1*m;for(let s=0,g=t.getPointCount();s<g;s++){const t=n.read(2*s);let g=t-o;if(Math.abs(g)>l&&(g=nt(g/m)*m,a-=g,Math.abs(a)<h&&(a=0)),0!==a){i||(r=e.clone(),i=r.getAttributeStreamRef(0));const n=t+a;i.write(2*s,n)}o=t}return i?(r.notifyModified(),r):e}i("")}const Gm=210;class Dm{constructor(e,t,s,n,r,i,o,h,m){this.m_bAdjustedAtPoles=0,this.m_inputPoly=s,this.m_progressTracker=m,this.m_originalGeometry=e,this.m_originalSR=n,this.m_polygonRingFlags=t,this.m_pannableSR=r,this.m_poleSnappingTolerance=h,this.m_poleFlags=o,this.m_bAdjustedAtPoles=0,this.m_pannableExtent=vm(this.m_pannableSR,i),this.m_centralLongitude=Number.isNaN(i)?this.m_pannableExtent.getCenterX():i,this.m_width360=this.m_pannableExtent.width(),this.m_degree=this.m_width360/360,this.m_GCSLargeDelta=Gm*this.m_degree,a(null===this.m_originalGeometry&&null===this.m_originalSR||null!==this.m_originalGeometry&&null!==this.m_originalSR)}geonormalizeRing(e,t,s,n,r,o,h){let m=s;const l=new I({vd:this.m_inputPoly.getDescription()});l.addPath(this.m_inputPoly,e,!0),0!==this.m_poleFlags&&(this.m_bAdjustedAtPoles|=bm(!0,l,this.m_pannableExtent.ymax-this.m_poleSnappingTolerance,this.m_pannableExtent.ymax,this.m_pannableExtent.width(),this.m_poleFlags)?1:0,this.m_bAdjustedAtPoles&&(m=!1));let g=-1;m&&(g=this.m_originalGeometry.getPathStart(e));const u=l.getAttributeStreamRef(0),c=l.getPointCount();let _=0,d=u.read(0),p=0;const f=3*this.m_pannableSR.getTolerance(0);let x=!1;const y=new Qe,P=new Qe;let E=!1;const S=l.hasNonLinearSegments(),C=new Qe;for(let a=1;a<c;++a){u.queryPoint2D(2*a,C);const e=C.x;let t=e+_;const s=t-d;if(C.x=t,Math.abs(s)>this.m_GCSLargeDelta){if(m){const e=g+a-1,t=g+(a+1<c?a:0),r=o.read(2*e),i=(o.read(2*t)-r)*n;Math.abs(s-i)>1*this.m_degree&&(m=!1)}if(!m){_-=xt(this.m_width360,t-d),t=e+_,++p,E=0!==_,C.x=t}}else x||Xe(y,P,C,f)&&(x=!0);E&&(S&&i("error in geonormalize_ring_ for curves"),u.write(2*a,t)),d=t,y.setCoordsPoint2D(P),P.setCoordsPoint2D(C)}p&&l.notifyModified();const b=l.getXY(0),w=l.getXY(c-1);if(Qe.distance(b,w)<f){const e=this.finalizeGeoNormalizeClosedRing(l,x,r);h.add(e,!1)}else{if(t<0)if(null!==this.m_originalGeometry){a(null!==this.m_originalGeometry);t=this.m_originalGeometry.calculateRingArea2D(e)>0?1:0}else t=1;const s=this.finalizeGeoNormalizeOpenedRing(t>0,l);h.add(s,!1)}}geoNormalizePolygonGeometry(t){a(this.m_originalSR&&this.m_originalGeometry||!this.m_originalGeometry&&!this.m_originalSR),a(this.m_pannableSR.isPannable());let s=null,n=Number.NaN;const r=!!this.m_originalSR&&this.m_originalSR.isPannable();r&&(s=this.m_originalGeometry.getAttributeStreamRef(0),n=this.m_width360/this.m_originalSR.getPannableExtent().width()),this.m_bAdjustedAtPoles=0;const i=new v({vd:this.m_inputPoly.getDescription()});for(let e=0,a=this.m_inputPoly.getPathCount();e<a;++e){const o=this.m_polygonRingFlags?this.m_polygonRingFlags[e]?1:0:-1;this.geonormalizeRing(e,o,r,n,t,s,i)}const o=this.m_pannableSR.getTolerance(0),h=this.m_pannableExtent.width()/180;Ol(i,this.m_pannableExtent,.1*o,!1);const m=e.constructEmpty();if(m.setCoords({env2D:this.m_pannableExtent}),t){let t=!0;for(let s=0;s<2;s++){t=!0;const s=e.constructEmpty();for(let e=0,n=i.getPathCount();e<n;e++)if(i.queryPathEnvelope(e,s),!(m.xmin<=s.xmin&&m.xmax>=s.xmax||s.xmin>=m.xmax||s.xmax<=m.xmin)){t=!1;break}if(t)break;m.move(.5*this.m_width360,0)}t||m.setCoords({env2D:this.m_pannableExtent})}let l=Zt(i,m,o,h,this.m_progressTracker),g=i!==l;const u=this.m_originalGeometry?this.m_originalGeometry.calculateArea2D():1,c=l.calculateArea2D();let _=0;if(c>0&&u<0)_=1;else if(c<=0&&u>0)if(0===c){if(this.m_originalSR){let e=Number.NaN;2===this.m_originalSR.getCoordinateSystemType()?e=this.m_originalSR.getPCSHorizon().calculateArea2D():1===this.m_originalSR.getCoordinateSystemType()&&(e=this.m_originalSR.getPannableExtent().getArea()),u>.99*e&&(_=-1)}}else _=-1;if(0!==_){const e=wm(l.getDescription(),m);e.add(l,!1),g=!0,l=e}return g&&(l=(new Eh).execute(l,this.m_pannableSR,!1,this.m_progressTracker)),l}geoNormalizePolylineGeometry(t){a(this.m_pannableSR.isPannable());let s=null;const n=this.m_originalSR&&this.m_originalSR.isPannable();let r=1;n&&(a(this.m_originalGeometry),r=this.m_width360/this.m_originalSR.getPannableExtent().width(),s=this.m_originalGeometry.getAttributeStreamRef(0));const o=this.m_pannableExtent.width(),h=o*ht()*4;let m=t,l=Number.NaN;const g=at.constructEmpty();this.m_bAdjustedAtPoles=0;let u=new I({vd:this.m_inputPoly.getDescription()});for(let d=0,p=this.m_inputPoly.getPathCount();d<p;++d){let t=n;const c=new I({vd:this.m_inputPoly.getDescription()});c.addPath(this.m_inputPoly,d,!0);const _=this.m_inputPoly.isClosedPath(d);0!==this.m_poleFlags&&(this.m_bAdjustedAtPoles|=bm(_,c,this.m_pannableExtent.ymax-this.m_poleSnappingTolerance,this.m_pannableExtent.ymax,o,this.m_poleFlags)?1:0,this.m_bAdjustedAtPoles&&(t=!1));let p=-1;const f=c.getPointCount();let x=!1;t&&(p=this.m_originalGeometry.getPathStart(d),x=this.m_originalGeometry.isClosedPath(d));const y=c.getAttributeStreamRef(0);let P=0,E=y.read(0),S=0;const C=new Qe,b=new Qe;let w=!1;const v=c.hasNonLinearSegments(),N=new Qe;for(let e=1;e<f;++e){y.queryPoint2D(2*e,N);const n=N.x;let o=n+P;const a=o-E;if(N.x=o,Math.abs(a)>this.m_GCSLargeDelta){if(t){const n=p+e-1;let i=p;(!x||e+1<f)&&(i+=e);const o=s.read(2*n),h=(s.read(2*i)-o)*r;Math.abs(a-h)>1*this.m_degree&&(t=!1)}if(!t){P-=xt(this.m_width360,o-E),o=n+P,++S,w=0!==P,N.x=o}}w&&(v&&i("error in geonormalize_ring_ for curves"),y.write(2*e,o)),E=o,C.setCoordsPoint2D(b),b.setCoordsPoint2D(N)}if(S&&c.notifyModified(),m){let t=!1;if(!c.isEmpty()){const s=e.constructEmpty();if(c.queryEnvelope(s),s.width()>=o||s.ymin<=this.m_pannableExtent.ymin||s.ymax>=this.m_pannableExtent.ymax)t=!0;else{if(Number.isNaN(l)){const e=this.m_centralLongitude-.5*o;l=s.xmin,l+=Math.round((e-s.xmin)/o)*o,l>e&&(l-=o),a(l<=e),l<e&&(l+=o),a(l>=e)}let e=Math.round((l-s.xmin)/o)*o;if(s.xmin+e>l+h&&(e-=o),s.xmin+e<l-h&&(e+=o),g.mergeCoordinate(s.xmin+e),g.mergeCoordinate(s.xmax+e),t=g.width()>=o,!t){const t=new jt;t.setShiftCoords(e,0),c.applyTransformation(t)}}}u.add(c,!1),t&&(u=(()=>{const e=new I({vd:u.getDescription()});for(let t=0,s=u.getPathCount();t<s;++t){const s=new I({vd:u.getDescription()});s.addPath(u,t,!0);const n=vl(s,this.m_pannableSR,this.m_centralLongitude,!0,0,this.m_progressTracker);e.add(n,!1)}return e})(),m=!1)}else{const e=vl(c,this.m_pannableSR,this.m_centralLongitude,!0,0,this.m_progressTracker);u.add(e,!1)}}if(m)return u;const c=this.m_pannableSR.getTolerance(0),_=this.m_pannableExtent.width()/180;Ol(u,this.m_pannableExtent,.1*c,!1);return Zt(u,this.m_pannableExtent,c,_,this.m_progressTracker)}finalizeGeoNormalizeOpenedRing(t,s){const n=s.getPointCount(),r=s.getXY(0),i=s.getXY(n-1);{const e=Math.abs(i.x-r.x),t=Math.round(e/this.m_width360)*this.m_width360;a(Math.abs(e-t)<this.m_pannableSR.getTolerance(0))}const o=it(i.x-r.x),h=e.constructEmpty();s.queryLooseEnvelope(h);const m=this.m_pannableExtent.getCenterX();let l=0,g=m-this.m_width360,u=m+this.m_width360;if(o>=0){let e=Math.ceil((g-h.xmin)/this.m_width360);for(e*=this.m_width360;g>h.xmin+e;)e+=this.m_width360;for(;g<h.xmax+e;)e-=this.m_width360;for(l=e,h.width()>720&&(u=g+360*Math.ceil(h.width()/360));u<h.xmax;)u+=this.m_width360}else{let e=Math.ceil((u-h.xmax)/this.m_width360);for(e*=this.m_width360;u<h.xmax+e;)e-=this.m_width360;for(;u>h.xmin+e;)e+=this.m_width360;for(l=e,h.width()>720&&(g=u-360*Math.ceil(h.width()/360));g>h.xmin;)g-=this.m_width360}const c=Math.round(Math.abs(i.x-r.x)/this.m_width360)*this.m_width360,_=o*c,d=h.clone();d.move(l,0);const p=new Qe(0,0),f=new jt;f.setShiftCoords(l,0),s.applyTransformation(f);const x=new I({vd:s.getDescription()});x.add(s,!1),p.assign(s.getXY(n-1));let y=0,P=x.getXY(0).x;for(;o>0?d.xmax<u:d.xmin>g;)d.move(_,0),f.xd=_,s.applyTransformation(f),P+=_,this.m_pannableExtent.xmin<=P&&this.m_pannableExtent.xmax>=P&&(y=x.getPointCount()-1),s.setXY(0,p),p.assign(s.getXY(n-1)),x.addSegmentsFromPath(s,0,0,n-1,!1);const E=new v({vd:x.getDescription()});E.add(x,!1);const S=x.getXY(0),C=x.getXY(x.getPointCount()-1),b=o<0?t:!t,w=E.getPointCount()-1;if(b){const e=new Qe(C.x,this.m_pannableExtent.ymax);E.lineTo(e);const t=new Qe(this.m_pannableExtent.getCenterX(),this.m_pannableExtent.ymax);E.lineTo(t);const s=new Qe(S.x,this.m_pannableExtent.ymax);E.lineTo(s)}else{const e=new Qe(C.x,this.m_pannableExtent.ymin);E.lineTo(e);const t=new Qe(this.m_pannableExtent.getCenterX(),this.m_pannableExtent.ymin);E.lineTo(t);const s=new Qe(S.x,this.m_pannableExtent.ymin);E.lineTo(s)}if(E.interpolateAttributesPath(0,w,0),E.getImpl().changeRingStartPoint(y),c>this.m_width360){const e=new v({copy:E});f.setShiftCoords(this.m_width360,0),e.applyTransformation(f),E.add(e,!1)}return E}finalizeGeoNormalizeClosedRing(t,s,r){const i=new v({vd:t.getDescription()});i.add(t,!1);const o=()=>{const e=i.getPointCount()-2;return i.getSegmentType(e)!==n.enumLine};if(i.hasNonLinearSegments()&&o()){const e=new F,t=i.getPointCount()-2;i.getSegmentBuffer(t,e,!1),i.removePointFromPath(0,t+1),i.closeLastPathWithSegment(e.get())}else i.removePointFromPath(0,i.getPointCount()-1);const a=e.constructEmpty();i.queryLooseEnvelope(a);let h=Math.ceil((this.m_pannableExtent.xmin-a.xmin)/this.m_width360);for(h*=this.m_width360;this.m_pannableExtent.xmin>a.xmin+h;)h+=this.m_width360;for(;this.m_pannableExtent.xmin<a.xmax+h;)h-=this.m_width360;if(h+=this.m_width360,0!==h){a.move(h,0);const e=new jt;e.setShiftCoords(h,0),i.applyTransformation(e)}if(this.m_pannableExtent.xmin<=a.xmin&&this.m_pannableExtent.xmax>=a.xmax){if(s){const e=i.calculateArea2D(),t=(new Eh).execute(i,this.m_pannableSR,!0,this.m_progressTracker);if(t!==i){const s=t.calculateArea2D();it(e)!==it(s)&&t.reverseAllPaths(),i.assignMove(t)}}let e;if(e=new v(r?{copy:i}:{move:i}),r)for(;a.xmin<this.m_pannableExtent.xmax;){a.move(this.m_width360,0);const t=new jt;t.setShiftCoords(this.m_width360,0),i.applyTransformation(t),e.add(i,!1)}return e}let m=new v({vd:t.getDescription()});m.add(i,!1);const l=s||a.width()>this.m_width360-10*this.m_pannableSR.getTolerance(0);for(;a.xmin<this.m_pannableExtent.xmax;){a.move(this.m_width360,0);const e=new jt;e.setShiftCoords(this.m_width360,0),i.applyTransformation(e),m.add(i,!1)}if(l){const e=m.calculateArea2D();m.setFillRule(1),m=(new Eh).execute(m,this.m_pannableSR,!0,this.m_progressTracker);const t=m.calculateArea2D();it(e)!==it(t)&&m.reverseAllPaths()}return m}geonormalize_ring_(e,t,s,n,r,i,o){a(0)}}function Vm(e){a(0);const t=ou(e),s=new km;return s.setVertProj_(t),s}function Fm(e,t=!0){return a(0),{}}function Hm(e){return Su()}class km{constructor(){this.m_hashCode=0,this.m_peVertSysVal=null,this.m_verticalUnit=new bu,this.m_verticalShift=0,this.m_userVerticalWKID=0,this.m_bIsDepth=!1}getType(){return a(0),0}getID(){return a(0),0}getLatestID(){return this.m_peVertSysVal?this.m_peVertSysVal.getLatestID():0}getOldID(){return this.m_peVertSysVal?this.m_peVertSysVal.getOldID():0}getText(){return a(0),""}getTextExtended(e){return a(0),""}getText2(e){return a(0),""}getUnit(){return a(0),{}}equals(e){return a(0),!1}equalForProjection(e){return a(0),!1}getPeVertcsCopy(){return a(0),{}}getOneMeter(){return 1/this.m_verticalUnit.getUnitToBaseFactor()}getUnitToBaseFactor(){return a(0),0}isDepth(){return a(0),!1}getVerticalShift(){return a(0),0}isCustomWkid(){return!!this.m_peVertSysVal&&this.m_peVertSysVal.isCustomWkid()}getHashCode(){return this.m_hashCode}setVertProj_(e){this.m_peVertSysVal=e}getPEVerticalCoordSys(){return this.m_peVertSysVal?this.m_peVertSysVal.m_peVertcs:null}}function Am(e,t,s,n,r){if(e.equals(t))return!1;if(n){let s=1,i=0,o=1,a=1,h=0,m=1;Number.isNaN(e.m_heightMetersPerUnit)||(s=e.m_heightMetersPerUnit,i=e.m_heightZ0,o=e.m_heightSign,a=t.m_heightMetersPerUnit,h=t.m_heightZ0,m=t.m_heightSign);const l=o*m*s/a;for(let e=0;e<r;e++)n[e]=(n[e]-i)*l+h}let i=1,o=0;if(Number.isNaN(e.m_XYToRadians)||(i=e.m_XYToRadians/t.m_XYToRadians,o=e.m_PrimeMeridianDegrees-t.m_PrimeMeridianDegrees,0!==o&&(o=he(o),o/=t.m_XYToRadians)),Array.isArray(s)){const e=s;for(let t=0;t<r;t++)e[t][0]=e[t][0]*i+o,e[t][1]=e[t][1]*i}else{const e=s;for(let t=0;t<r;t++){const s=t<<1;e[s]=e[s]*i+o,e[s+1]=e[s+1]*i}}return!0}function Mm(){return{m_heightMetersPerUnit:0,m_heightSign:0,m_heightZ0:0,m_XYToRadians:0,m_PrimeMeridianDegrees:0,assign(e){this.m_heightMetersPerUnit=e.m_heightMetersPerUnit,this.m_heightSign=e.m_heightSign,this.m_heightZ0=e.m_heightZ0,this.m_XYToRadians=e.m_XYToRadians,this.m_PrimeMeridianDegrees=e.m_PrimeMeridianDegrees},equals(e){return st(this.m_heightSign,e.m_heightSign)&&st(this.m_heightMetersPerUnit,e.m_heightMetersPerUnit)&&st(this.m_heightZ0,e.m_heightZ0)&&st(this.m_XYToRadians,e.m_XYToRadians)&&st(this.m_PrimeMeridianDegrees,e.m_PrimeMeridianDegrees)},initFromGcsAndVcsPe(e,t){this.m_heightSign=1,this.m_heightMetersPerUnit=Number.NaN,this.m_heightZ0=0,this.m_XYToRadians=Number.NaN,this.m_PrimeMeridianDegrees=Number.NaN,t&&a(0),e&&(this.m_XYToRadians=e.getUnit().getUnitFactor(),this.m_PrimeMeridianDegrees=e.getPrimem().getLongitude())},initFromGcsAndVcs(e,t){const s=e?e.getPECoordSys():null,n=t?t.getPEVerticalCoordSys():null;this.initFromGcsAndVcsPe(s,n)},processUnitParams(e){Number.isNaN(this.m_heightMetersPerUnit)&&(this.m_heightMetersPerUnit=e.m_heightMetersPerUnit,this.m_heightSign=e.m_heightSign,this.m_heightZ0=e.m_heightZ0),Number.isNaN(this.m_XYToRadians)&&(this.m_XYToRadians=e.m_XYToRadians,this.m_PrimeMeridianDegrees=e.m_PrimeMeridianDegrees)}}}class Um{constructor(e){this.m_constantsLoaded=-1,this.m_isUsable=-1,this.m_inputSR=null,this.m_outputSR=null,this.m_inputSRHorz=null,this.m_outputSRHorz=null,this.m_inputVCS=null,this.m_outputVCS=null,this.m_hashCode=0,this.m_areaOfUse=new pe,this.m_inputUnitParams=Mm(),this.m_outputUnitParams=Mm(),a(e),this.m_geogTran=e,this.m_vertTran=null,this.m_latestID=Ic.getCode(this.m_geogTran),this.m_latestID<0&&(this.m_latestID=0);const t=this.m_geogTran.getGeogcs1();Ic.getCode(t);const s=this.m_geogTran.getGeogcs2();Ic.getCode(s),this.initUnitParams()}getLatestId(){return this.m_latestID}getText(){return this.m_geogTran?this.m_geogTran.toString():(a(0),"")}getGeogtran(){return this.m_geogTran}getVerttran(){return null}loadConstants(e){let t=this.m_constantsLoaded;if(-1===t){if(!e){this.m_geogTran||i("vcs not impl");const t=this.m_geogTran.getParameters();null!==t[bc.PE_PARM_ND]&&(e=0===t[bc.PE_PARM_ND].getValue())}t=this.m_geogTran.loadConstants()?1:0,this.m_constantsLoaded=t}return 0!==t}isUsable(){let e=this.m_isUsable;return-1===e&&(this.m_geogTran?this.m_isUsable=e=this.m_geogTran?1:0:this.m_isUsable=e=this.m_vertTran?1:0),1===e}getInputSr(e){return this.updateSrs(),e?this.m_inputSR:this.m_inputSRHorz}getOutputSr(e){return this.updateSrs(),e?this.m_outputSR:this.m_outputSRHorz}getHashCode(){let e=this.m_hashCode;return 0===e&&(e=this.m_latestID>0?Ze(this.m_latestID):ct(this.getText()),0===e&&(e=345),this.m_hashCode=e),e}isGeogtran(){return null!==this.m_geogTran}prepareOrThrow(){}getName(){return this.isGeogtran()?this.getGeogtran().getName():(u("vcs not impl"),"")}updateSrs(){if(this.m_inputSR||this.m_inputVCS)return;let e,t,s,n,r,i;if(this.m_geogTran){const o=this.m_geogTran.getGeogcs1(),a=ru(o),h=this.m_geogTran.getGeogcs2(),m=ru(h);let l=-1,g=-1;l=a.getVcsCode(),g=m.getVcsCode(),s=Ru(o,null,null,1),n=Ru(h,null,null,1),l>0&&g>0?(r=Vm(l),i=Vm(g),e=zu(),t=zu()):(e=s,t=n)}else a(0);this.m_inputSR||this.m_inputVCS||(this.m_inputSR=e,this.m_outputSR=t,this.m_inputSRHorz=s,this.m_outputSRHorz=n,this.m_inputVCS=r,this.m_outputVCS=i)}initUnitParams(){if(this.m_inputUnitParams.m_heightSign=1,this.m_inputUnitParams.m_heightMetersPerUnit=Number.NaN,this.m_inputUnitParams.m_heightZ0=0,this.m_outputUnitParams.m_heightSign=1,this.m_outputUnitParams.m_heightMetersPerUnit=Number.NaN,this.m_outputUnitParams.m_heightZ0=0,this.m_inputUnitParams.m_XYToRadians=Number.NaN,this.m_inputUnitParams.m_PrimeMeridianDegrees=Number.NaN,this.m_outputUnitParams.m_XYToRadians=Number.NaN,this.m_outputUnitParams.m_PrimeMeridianDegrees=Number.NaN,this.m_vertTran)a(0);else if(this.m_geogTran){const e=this.m_geogTran;let t=e.getGeogcs1();this.m_inputUnitParams.m_XYToRadians=t.getUnit().getUnitFactor(),this.m_inputUnitParams.m_PrimeMeridianDegrees=t.getPrimem().getLongitude(),t=e.getGeogcs2(),this.m_outputUnitParams.m_XYToRadians=t.getUnit().getUnitFactor(),this.m_outputUnitParams.m_PrimeMeridianDegrees=t.getPrimem().getLongitude()}}}function qm(e,t,s,n,r,i,o){let a=null;if(t){a=t.getPEVerticalCoordSys()}let h=null;if(e){h=e.getPECoordSys()}let m=null;if(n){m=n.getPEVerticalCoordSys()}let l=null;if(s){l=s.getPECoordSys()}if(!(h||a||l||m))return!1;const g=Mm();g.initFromGcsAndVcsPe(h,a);const u=Mm();return u.initFromGcsAndVcsPe(l,m),Am(g,u,r,i,o)}function Bm(e,t,s,n,r,i,o,a){const h=t,m=e,l=Mm();l.initFromGcsAndVcsPe(m,h),a.assign(n?s.m_outputUnitParams:s.m_inputUnitParams),a.processUnitParams(l),l.processUnitParams(a),o>0&&Am(l,a,r,i,o)}function Om(e,t,s,n,r,i,o,a){const h=Mm();h.assign(s?t.m_inputUnitParams:t.m_outputUnitParams),h.processUnitParams(e);let m=null,l=null;if(n){l=n.getPECoordSys()}const g=Mm();g.initFromGcsAndVcsPe(l,m),g.processUnitParams(h),h.processUnitParams(g),a>0&&Am(h,g,i,o,a)}function Ym(e,t,s,n,r,i,o,a,h){const m=Mm(),l=Mm();m.assign(s?t.m_inputUnitParams:t.m_outputUnitParams),l.assign(r?n.m_outputUnitParams:n.m_inputUnitParams),m.processUnitParams(e),l.processUnitParams(m),m.processUnitParams(l),a>0&&Am(m,l,i,o,a),h.assign(l)}function Rm(e,t,s,n,r,i,o){const a=t.getVerttran(),h=t.getGeogtran();if(o.assign(s?t.m_inputUnitParams:t.m_outputUnitParams),o.processUnitParams(e),i>0){t.prepareOrThrow();const e=s?bc.PE_TRANSFORM_2_TO_1:bc.PE_TRANSFORM_1_TO_2;a?dg():pg(h,i,n,r,e)}}function Xm(e,t,s,n,r){const i=e.getVerttran(),o=e.getGeogtran();if(r>0){e.prepareOrThrow();const a=t?bc.PE_TRANSFORM_2_TO_1:bc.PE_TRANSFORM_1_TO_2;i?dg():pg(o,r,s,n,a)}}class Lm{supportsCurves(){return!0}accelerateGeometry(e,t,s){return zm(e,t,s)}canAccelerateGeometry(e){return Wm(e)}}function zm(e,t,s){if(!Wm(e))return!1;ge(t,e,!1);let n=0;const r=e.getGeometryType();return o(r)&&b(e)&&0!==s&&(n|=e.getImpl().buildQuadTreeAccelerator(s)?1:0),o(r)&&w(e)&&0!==s&&(n|=e.getImpl().buildQuadTreeForPathsAccelerator(s)?1:0),n>0}function Wm(e){return b(e)||w(e)}class jm extends Lm{getOperatorType(){return 8}execute(e,t,s,n){return kr(e,t,s,1,n)}}function Zm(s,i,o,a){if(s.isEmpty()||i.isEmpty())return s;const h=s.getDimension(),m=i.getDimension();if(h>m)return s;const l=s.getGeometryType(),g=i.getGeometryType(),u=new e,c=new e,_=new e;s.queryEnvelope(u),i.queryEnvelope(c),_.setCoords({env2D:u}),_.mergeEnvelope2D(c);const d=de(o,_,!0),p=ye(d),f=new e;if(f.setCoords({env2D:u}),f.inflateCoords(p,p),!f.isIntersecting(c))return s;if(1===h&&2===m){const e=ol(s,i,g,o,a);if(e)return e}if(l===n.enumPoint){let e;switch(r(g)?(e=new I({vd:i.getDescription()}),e.addSegment(i,!0)):e=i,g){case n.enumPolygon:return Jm(s,e,d);case n.enumPolyline:return $m(s,e,d);case n.enumMultiPoint:return el(s,e,d);case n.enumEnvelope:return tl(s,e,d);case n.enumPoint:return sl(s,e,d);default:t("invalid shape type")}}else if(l===n.enumMultiPoint)switch(g){case n.enumPolygon:return nl(s,i,d);case n.enumEnvelope:return rl(s,i,d);case n.enumPoint:return il(s,i,d)}const x=new e(u);x.inflate(100*d.total());return Ya(s,Zt(i,x,0,0,a),o,a)}class Km{getOperatorType(){return 10002}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n){return new Qm(e,t,s,n)}execute(e,t,s,n){return this.executeMany(new $t([e]),new $t([t]),s,n).next()}}class Qm extends es{constructor(e,t,s,n){super(),this.m_progressTracker=n,this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=s;const r=t.next();this.m_geomSubtractor=r||new v}next(){const e=this.m_inputGeoms.next();return e?(s(e),h(e),this.m_index=this.m_inputGeoms.getGeometryID(),Zm(e,this.m_geomSubtractor,this.m_spatialReference,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function Jm(e,t,s,n){return 0===Xo(t,e,s.total())?e:e.createInstance()}function $m(t,s,n,r){const i=t.getXY(),o=s.querySegmentIterator(),a=ye(n),h=a*a;for(;o.nextPath();)for(;o.hasNextSegment();){const s=o.nextSegment(),r=new e;if(s.queryEnvelope(r),r.inflateCoords(a,a),!r.contains(i))continue;if(s.isIntersectingPoint(i,n.total()))return t.createInstance();let m=s.getStartXY();if(Qe.sqrDistance(i,m)<=h)return t.createInstance();if(m=s.getEndXY(),Qe.sqrDistance(i,m)<=h)return t.createInstance()}return t}function el(e,t,s,n){const r=t.getImpl().getAttributeStreamRef(0),i=t.getPointCount(),o=e.getXY(),a=ye(s),h=a*a,m=new Qe;for(let l=0;l<i;l++){r.queryPoint2D(2*l,m);if(Qe.sqrDistance(m,o)<=h)return e.createInstance()}return e}function tl(t,s,n,r){const i=new e;s.queryEnvelope(i),i.inflate(n.total());const o=t.getXY();return i.contains(o)?t.createInstance():t}function sl(e,t,s,n){const r=ye(s),i=r*r,o=e.getXY(),a=t.getXY();return Qe.sqrDistance(o,a)<=i?e.createInstance():e}function nl(t,s,n,r){const i=new e;s.queryEnvelope(i),i.inflate(n.total());const o=t.getPointCount();let a=!1;const h=Ke(o,!1),m=new Qe;for(let e=0;e<o;e++){if(t.queryXY(e,m),!i.contains(m))continue;0!==Lo(s,m,n.total())&&(a=!0,h[e]=!0)}if(!a)return t;const l=t.createInstance();for(let e=0;e<o;e++)h[e]||l.addPoints(t,e,e+1);return l}function rl(t,s,n,r){const i=new e;s.queryEnvelope(i),i.inflate(n.total());const o=t.getPointCount();let a=!1;const h=Ke(o,!1),m=new Qe;for(let e=0;e<o;e++)t.queryXY(e,m),i.contains(m)&&(a=!0,h[e]=!0);if(!a)return t;const l=t.createInstance();for(let e=0;e<o;e++)h[e]||l.addPoints(t,e,e+1);return l}function il(e,t,s,n){const r=e.getImpl().getAttributeStreamRef(0),i=e.getPointCount(),o=t.getXY();let a=!1;const h=Ke(i,!1),m=ye(s),l=m*m,g=new Qe;for(let c=0;c<i;c++){r.queryPoint2D(2*c,g);Qe.sqrDistance(g,o)<=l&&(a=!0,h[c]=!0)}if(!a)return e;const u=e.createInstance();for(let c=0;c<i;c++)h[c]||u.addPoints(e,c,c+1);return u}function ol(t,s,r,i,o){const a=new pe;t.queryEnvelope(a);const h=new e;s.queryEnvelope(h),a.merge(h);const m=.1*a.width(),l=.1*a.height();a.inflateCoords(m,l);const g=new v;g.addEnvelope(a,!1);const u=g.getImpl();if(r===n.enumPolygon){const e=s.getImpl();u.add(e,!0)}else u.addEnvelope(s,!0);return new Ih(g,i,-1,o).tryFastImplementation(t)}class al{getOperatorType(){return 10001}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n=0){return new gl(e,t,s,n)}execute(e,t,s,n){const r=new $t([e,t]),o=new gl(r,s,n,0).next();return o||i("null output"),o}}function hl(){return{geom:null,vertexCount:-1,bUnioned:!1,location:new Qe}}function ml(e,t){return Qe.compareZorder(e.location,t.location)?-1:e.location.equals(t.location)?0:1}class ll{constructor(){this.binVertexCount=0,this.geometries=[]}addPair(e){this.binVertexCount+=e.vertexCount,this.geometries.push(e)}sort(){this.geometries.sort(((e,t)=>ml(e,t)))}geomCount(){return this.geometries.length}geomPairs(){return this.geometries}clear(){this.binVertexCount=0,this.geometries.length=0}getBinVertexCount(){return this.binVertexCount}}class gl extends es{constructor(e,t,s,n,r=!1){super(),this.m_index=-1,this.m_currentDim=-1,this.m_bDone=!1,this.m_unionBins=[],this.m_readyGeoms=Je(4),this.m_dimGeomCounts=Ke(4,0),this.m_addedGeoms=0,this.m_maxDimension=-1,this.m_bHadGeometry=Ke(4,!1),this.m_complexUnionGeoms=Je(4),this.m_totalNonEmptyGeomCounters=Ke(4,0),this.m_progressTracker=s,this.m_bUnionAllDimensions=!!(4&n),this.m_bPreserveAllPathEnds=!!(8&n),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_options=n,this.m_bIs3D=r}next(){if(this.m_bDone&&this.m_currentDim===this.m_maxDimension)return null;for(;!this.step_(););if(-1===this.m_maxDimension)return null;if(this.m_bUnionAllDimensions){if(-1===this.m_currentDim)for(let e=0;e<=this.m_maxDimension;e++)if(this.m_bHadGeometry[e]){this.m_complexUnionGeoms[e]=this.getResultGeometry(e);for(let t=e+1;t<=this.m_maxDimension;t++)this.m_complexUnionGeoms[t]=this.getResultGeometry(t),this.m_bHadGeometry[t]&&!this.m_complexUnionGeoms[t].isEmpty()&&(this.m_bIs3D?a(0):this.m_complexUnionGeoms[e]=(new Km).execute(this.m_complexUnionGeoms[e],this.m_complexUnionGeoms[t],this.m_spatialReference,this.m_progressTracker))}for(;this.m_currentDim++,(this.m_currentDim>this.m_maxDimension||this.m_currentDim<0)&&i(""),!this.m_bHadGeometry[this.m_currentDim];);if(this.m_index++,0===this.m_currentDim&&this.m_complexUnionGeoms[this.m_currentDim].getGeometryType()===n.enumPoint){const e=new N({vd:this.m_complexUnionGeoms[this.m_currentDim].getDescription()});return this.m_complexUnionGeoms[this.m_currentDim].isEmpty()||e.add(this.m_complexUnionGeoms[this.m_currentDim]),e}return this.m_complexUnionGeoms[this.m_currentDim]}return this.m_index=0,this.m_currentDim=this.m_maxDimension,this.getResultGeometry(this.m_maxDimension)}getGeometryID(){return this.m_index}getRank(){return 1}tock(){return this.step_()}getResultGeometry(e){return this.m_readyGeoms[e]}finishDim(e,t,s){let r=t;if(!s)return 16&this.m_options?(r=ja([r],1,this.m_spatialReference,this.m_progressTracker,this.m_options,this.m_bIs3D),r):r;if(1&this.m_options)return r;if(1===e){if(!(8&this.m_options)&&(!!(16&this.m_options)||this.m_totalNonEmptyGeomCounters[e]>1)){r=ja([r],1,this.m_spatialReference,this.m_progressTracker,16|this.m_options,this.m_bIs3D);const e=[0],t=r.getImpl().getIsSimple(0,e);a(this.m_bIs3D||ce(t))}else 1===this.m_totalNonEmptyGeomCounters[e]&&(this.m_bIs3D?a(0):r=(new Eh).execute(r,this.m_spatialReference,!1,this.m_progressTracker))}else this.m_bIs3D?a(0):r=(new Eh).execute(r,this.m_spatialReference,!1,this.m_progressTracker);if(0===e&&r.getGeometryType()===n.enumPoint){const e=new N({vd:r.getDescription()});r.isEmpty()||e.add(r),r=e}return r}static getLevel(e){const t=4,s=l(e);let n=s>0?(Math.log(s)-Math.log(32))/Math.log(t):0;return n<0&&(n=0),Math.floor(n)}step_(){if(this.m_bDone)return!0;let e;if(this.m_inputGeoms?(e=this.m_inputGeoms.next(),null===e?(this.m_bDone=!0,this.m_inputGeoms=null):(this.checkAndThrow(e),e.isEmpty()||this.m_totalNonEmptyGeomCounters[e.getDimension()]++)):e=null,null!==e){const t=e.getDimension();this.m_bHadGeometry[t]=!0,(t>=this.m_maxDimension||this.m_bUnionAllDimensions)&&(this.addGeom(t,!1,e),t>this.m_maxDimension&&!this.m_bUnionAllDimensions&&this.removeAllBinsWithLowerDimension(t))}if(this.m_addedGeoms>0)for(let t=0;t<=this.m_maxDimension;t++){for(;this.m_dimGeomCounts[t]>1;){const e=this.collectGeometriesToUnion(t);if(null===e)break;{let s;s=1&this.m_options?ja(e,e.length,this.m_spatialReference,this.m_progressTracker,this.m_options,this.m_bIs3D):Za(e,e.length,this.m_spatialReference,this.m_progressTracker,8|this.m_options,this.m_bIs3D),this.addGeom(t,!0,s)}}if(this.m_bDone&&(a(this.m_dimGeomCounts[t]<=1),0!==this.m_dimGeomCounts[t])){const e=this.m_unionBins[t].entries().next().value,s=e[1].geomPairs()[0].geom,n=e[1].geomPairs()[0].bUnioned;this.m_unionBins[t].clear(),this.m_readyGeoms[t]=this.finishDim(t,s,n)}}return this.m_bDone}addGeom(t,s,n){const r=hl();r.geom=n;const i=l(n);r.vertexCount=i;const o=e.constructEmpty();n.queryEnvelope(o),r.location=i>0?o.getCenter():new Qe(0,0);const a=gl.getLevel(n);if(t+1>this.m_unionBins.length)for(;this.m_unionBins.length<Math.max(2,t+1);)this.m_unionBins.push(new Map);let h=null;const m=this.m_unionBins[t].get(a);m&&(h=m),null===h&&(h=new ll,this.m_unionBins[t].set(a,h)),r.bUnioned=s,h.addPair(r),this.m_dimGeomCounts[t]++,this.m_addedGeoms++,this.m_maxDimension=Math.max(this.m_maxDimension,t)}removeAllBinsWithLowerDimension(e){for(let t=0;t<e;t++)this.m_unionBins[t].clear(),this.m_addedGeoms-=this.m_dimGeomCounts[t],this.m_dimGeomCounts[t]=0}collectGeometriesToUnion(e){if(1&this.m_options&&!this.m_bDone)return null;let t=null;const s=[];for(const n of this.m_unionBins[e].keys())s.push(n);$e(s);for(let n=0;n<s.length;n++){if(-1===s[n])continue;const r=this.m_unionBins[e].get(s[n]);{const i=5e3,o=4,a=r.getBinVertexCount()>i&&r.geomCount()>=o;if(this.m_bDone||a){for(let r=0;r<n;r++){if(-1===s[r])continue;const n=this.m_unionBins[e].get(s[r]);n.sort(),this.m_dimGeomCounts[e]-=n.geomCount(),this.m_addedGeoms-=n.geomCount();for(const e of n.geomPairs())t||(t=new Array),t.push(e.geom);n.clear(),this.m_unionBins[e].delete(s[r]),s[r]=-1}r.sort(),this.m_dimGeomCounts[e]-=r.geomCount(),this.m_addedGeoms-=r.geomCount();for(const e of r.geomPairs())t||(t=new Array),t.push(e.geom);if(r.clear(),this.m_unionBins[e].delete(s[n]),s[n]=-1,!this.m_bDone)break}}}return t}checkAndThrow(e){this.m_bIs3D&&(e.getDimension()>1&&g(),e.hasAttribute(1)||t("Geometry must have Zs")),s(e)}}class ul extends Lm{getOperatorType(){return 3}execute(e,t,s,n=null){return kr(e,t,s,4,n)}}function cl(t,s,n){const r=s.getGCSSplitLines();if(null===r)return t;const i=s.getGCS(),o=i.getPannableExtent().width(),a=e.constructEmpty();t.queryLooseEnvelope(a);const h=at.constructEmpty();a.queryIntervalX(h);const m=r.querySegmentIterator();let l=null;const g=new jt;for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),t=e.queryInterval(0,0),s=at.constructEmpty();s.setCoordsFromEnvelope(t);let n=0;for(;s.vmax>h.vmin;)s.move(-o),n--;for(;s.vmin<=h.vmax;){if(s.isIntersecting(h)){null===l&&(l=new I);const t=new H({start:e.getStartXY(),end:e.getEndXY()});0!==n&&(g.setShiftCoords(n*o,0),t.applyTransformation(g)),l.addSegment(t,!0)}s.move(o),++n}}if(null!==l){const e=me(i,l,!0);return Un(t,l,ye(e),n)}return t}function _l(e,t,s){let n=e.getName();return sc(n)||(s||t>0?(n=e.toString(bc.PE_STR_NAME_CANON|bc.PE_STR_AUTH_NONE),n=yl(n)):n=e.toString(bc.PE_STR_AUTH_TOP)),n}function dl(e,t,s,n){return a(0),""}function pl(e,s=-1){if((s>1||s<-1)&&t("verbosity"),-1===s)return e.toString();{const t=0===s?bc.PE_STR_AUTH_TOP:bc.PE_STR_AUTH_ALL;return e.toString(t)}}function fl(e,s){(s>1||s<-1)&&t("verbosity");let n=bc.PE_STR_FMT_WKT2;return-1!==s&&(n|=0===s?bc.PE_STR_AUTH_TOP:bc.PE_STR_AUTH_ALL),e.toString(n)}function xl(e){return a(0),""}function yl(e){return e.toLocaleUpperCase("en-US")}function Pl(e,s,r){const i=e.getPCSHorizon();if(i.getGeometryType()!==n.enumPolygon)if(i.getGeometryType()!==n.enumEnvelope)t("");else{const e=i;for(let t=0;t<r;t++)e.contains(s[t])||s[t].setNAN()}else{const t=e.getDefaultPrecisionSR().getTolerance(0),n=i;for(let e=0;e<r;e++)1!==Lo(n,s[e],t)&&s[e].setNAN()}}function El(e,t,s,n){for(let r=0;r<t;r++){if(e[r].y<s.ymin||e[r].y>s.ymax){e[r].setNAN();continue}const t=e[r].x;e[r].x=Gl(t,s,n)}}function Sl(t,s,r,a){if(t.isEmpty()||1===r)return t;const h=t.getGeometryType();if(h===n.enumPoint){const e=t,n=e.getXY();return 0===wl([n],1,s,r)||n.isNAN()?e.setEmpty():e.setXY(n),t}if(h===n.enumMultiPoint){const e=t,n=t.createInstance(),i=e.getPointCount();n.reserve(i);const o=e.getAttributeStreamRef(0),a=e.getDescription().getAttributeCount()>1,h=new fe,m=Float64Array.from(o.getArray());if(wl(m,i,s,r)>0)for(let t=0,s=2*i;t<s;t+=2)Number.isNaN(m[t])||(a?(e.getPointByVal(t>>1,h),h.setXYCoords(m[t],m[t+1]),n.add(h)):n.addXY(m[t],m[t+1]));return n}let m=t;const l=s.getOneDegreeGCSUnit(),g=90*l,u=180*l,c=360*l,_=s.getCentralMeridian(),d=.5*l,p=e.constructEmpty();m.queryEnvelope(p);const f=s.getGCSHorizon(),x=s.getGCSHorisonIsInclusive(),y=f.getGeometryType()===n.enumEnvelope,P=e.constructEmpty();f.queryEnvelope(P);const E=s.getGCS();if(2!==r&&4!==r||(P.xmin=_-u,P.xmax=P.xmin+c),4===r){if(!(p.width()>c-l)){const t=e.constructEmpty();t.setCoords({xmin:p.xmin-l,ymin:P.ymin,xmax:p.xmax+l,ymax:P.ymax}),m=(new Kt).execute(m,t,E,a);let s=Math.floor((_-p.getCenterX())/c);for(p.move(s*c,0);p.xmin>P.xmax;)s-=1,p.move(-c,0);for(;p.xmin<P.xmin;)s+=1,p.move(c,0);if(0!==s){const e=new jt;e.setShiftCoords(s*c,0),m.applyTransformation(e)}return m}r=2}if(2===r&&(P.xmin=_-u,P.xmax=P.xmin+c),p.ymin<-g||p.ymax>g){const t=e.constructEmpty();if(t.setCoords({xmin:p.xmin-l,ymin:-g,xmax:p.xmax+l,ymax:g}),m=(new Kt).execute(m,t,E,a),m.isEmpty())return m;m.queryEnvelope(p)}if(x&&(P.ymax<p.ymin||P.ymin>p.ymax))return m.createInstance();p.width()>c&&(m=ql(m,_-u,c,E,!0,0,!0,a),m.queryEnvelope(p));let S=Ul(p.xmin,p.xmax,P.xmin,P.xmax,c);if(0!==S&&p.move(S,0),p.xmax>P.xmax||p.xmin<P.xmin){if(p.xmax>P.xmax)for(;p.xmin>=P.xmax;)p.move(-c,0),S-=c;for(;p.xmin<P.xmax-c;)p.move(c,0),S+=c}const C=ge(E,f,!1);if(0!==S){const e=new jt;e.setShiftCoords(S,0),m.applyTransformation(e),S=0}if(x){if(y&&P.containsEnvelope(p))return m;const e=new Array(2);for(let t=0;t<2;t++){let s;if(y?s=o(h)?Zt(m,P,C,d,a):Zt(m,P,C,0,a):(s=(new wh).execute(m,f,E,a),s===f&&(s=s.clone())),P.xmin<=p.xmin&&P.xmax>=p.xmax)return s;if(P.xmin>=p.xmin&&P.xmax<=p.xmax)return s;if(e[t]=s,0===t){p.move(-c,0);const e=new jt;e.setShiftCoords(-c,0),m.applyTransformation(e)}}return o(h)?e[0].add(e[1],!1):i("intersect_with_GCS_horizon: unexpected geometry type"),e[0]}{if(P.ymax<p.ymin||P.ymin>p.ymax)return m;let e=0;for(;!m.isEmpty()&&p.xmax>P.xmin;){if(0!==e){const t=new jt;t.setShiftCoords(e,0),m.applyTransformation(t)}if(!(new ul).execute(m,f,E,a)){m=(new Km).execute(m,f,E,a),f===m&&(m=m.clone())}if(0!==e){const t=new jt;t.setShiftCoords(-e,0),m.applyTransformation(t)}e-=c,p.move(-c,0)}return m}}function Cl(e,t,s,n,r,i){const o={stack:[],error:void 0,hasError:!1};try{if(2===i){return Gs(e,t,s,n,r)}if(Math.abs(s.x-n.x)>=Math.PI||!Fg(s.x,n.x,r))return Number.NaN;s.x>n.x&&(n=rt(s,s=n));const a=zt(o,new Cc,!1),h=zt(o,new Cc,!1),m=zt(o,new Cc,!1),l=s.clone();Dc.geodeticDistance(e,t,s.x,s.y,n.x,n.y,h,a,null,i);const g=h.val;let u=0,c=1;for(;g*(c-u)>1e-12*e;){const o=.5*(u+c);if(Dc.geodeticCoordinate(e,t,s.x,s.y,g*o,a.val,h,m,i),l.x=h.val,l.y=m.val,l.x===r)return l.y;if(Fg(s.x,l.x,r))c=o;else{if(!Fg(n.x,l.x,r))return Number.NaN;u=o}}return l.y}catch(a){o.error=a,o.hasError=!0}finally{Wt(o)}}function Il(e,t){let s;if(Array.isArray(e)){const n=e;s=new Float64Array(2*t);for(let e=0,r=0;e<t;e++,r+=2)s[r]=n[e].x,s[r+1]=n[e].y}else s=e;return s}function bl(e,t,s,n){for(let r=0,i=0;r<n;r++,i+=2)t[s+r].x=e[i],t[s+r].y=e[i+1]}function wl(t,s,r,i){if(0===s||1===i)return s;const o=Il(t,s);if(2===i){const e=r.getPannableExtentInGCS();let n=s;for(let t=0,r=2*s;t<r;t+=2)(o[t+1]>e.ymax||o[t+1]<e.ymin)&&(o[t]=Number.NaN,n--);return n?(Bl(o,s,e.xmin,e.width(),!0),t!==o&&bl(o,t,0,s),n):0}const a=r.getOneDegreeGCSUnit(),h=90*a,m=180*a,l=360*a;let g=s;for(let e=0,n=2*s;e<n;e+=2)(o[e+1]>h||o[e+1]<-h)&&(o[e]=Number.NaN,g--);if(!g)return 0;const u=e.constructEmpty();u.setFromPoints(o,s);const c=r.getGCSHorizon(),_=r.getGCSHorisonIsInclusive(),d=c.getGeometryType()===n.enumEnvelope,p=e.constructEmpty();if(c.queryEnvelope(p),_&&(p.ymax<u.ymin||p.ymin>u.ymax))return 0;if(_){if(Bl(o,s,p.getCenterX()-m,l,!0),g=s,d)for(let e=0,t=2*s;e<t;e+=2)p.containsCoords(o[e],o[e+1])||(o[e]=Number.NaN,g--);else{const e=ge(r.getGCS(),c,!1),t=new Qe;for(let n=0,r=2*s;n<r;n+=2){t.setCoords(o[n],o[n+1]);0!==Lo(c,t,e)||(o[n]=Number.NaN,g--)}}}else{Bl(o,s,-m,l,!0),g=s;const e=ge(r.getGCS(),c,!1),t=new Qe;for(let n=0,r=2*s;n<r;n+=2){t.setCoords(o[n],o[n+1]),t.isNAN()&&g--;const s=Ml(t.x,p.xmin,p.xmax,l);t.x+=s;0!==Lo(c,t,e)&&(o[n]=Number.NaN,g--)}}return g>0&&Array.isArray(t)&&bl(o,t,0,s),g}function vl(e,s,n,r,i,o){if(s.isPannable()||t("fold_into_360_degree_range"),e.isEmpty())return e;let a,h;if(2===s.getCoordinateSystemType()){const e=s.getPannableExtent();h=e.xmin,a=e.width()}else{const e=s.getOneDegreeGCSUnit();a=360*e,h=n-180*e}return ql(e,h,a,s,r,i,!0,o)}function Nl(e,t,s,n){let r,i;if(2===s.getCoordinateSystemType()){const e=s.getPannableExtent();r=e.xmin,i=e.width()}else{const e=s.getOneDegreeGCSUnit();i=360*e,r=n-180*e}Bl(e,t,r,i)}function Tl(e,t){const s=t.width();let n=tt(e-t.vmin,s);n<0&&(n+=s);return t.snapClip(n+t.vmin)}function Gl(e,t,s){return e>t.xmax&&e-t.xmax<s?t.xmax:e<t.xmin&&t.xmin-e<s?t.xmin:e}function Dl(e,t,s){if(e[0]<t.vmin||e[0]>t.vmax||s&&e[0]===t.vmax){const s=t.width();return e[0]+=Math.ceil((t.vmin-e[0])/s)*s,e[0]=t.snapClip(e[0]),!0}return!1}function Vl(e,t,s,n,r,i,o,a,h){return new Dm(e,null,s,t,n,r,o,a,i).geoNormalizePolygonGeometry(h)}function Fl(e,t,s,n,r,i,o,a,h){return new Dm(e,null,s,t,n,r,o,a,i).geoNormalizePolylineGeometry(h)}function Hl(e,t,s,n,r){const i=new G,o=i.addGeometry(e);return kl(i,o,t,ge(t,e,!1),s,n,r),i.getGeometry(o)}function kl(e,t,s,n,r,i,o){const h={stack:[],error:void 0,hasError:!1};try{a(Uu()),s.isPannable()||c("insert_geodetic_points");const m=s.getPannableExtent(),l=s.getGCS(),g=Hu();l.querySpheroidData(g);const u=l.getUnit().getUnitToBaseFactor(),_=g.majorSemiAxis,d=g.e2;let p=0;const f=new at;m.queryIntervalX(f);let x=null;const y=Ke(4,Number.NaN);2===s.getCoordinateSystemType()?(x=s.getPECoordSys(),i?(y[0]=Tl(o,f),y[1]=m.getCenterY(),wc.projToGeog(x,1,y),p=y[0]*u):(y[0]=m.getCenterX(),y[1]=o,wc.projToGeog(x,1,y),p=y[1]*u)):p=o*u,i||0===p||2===r||c("insert_geodetic_points: 1");const P=zt(h,new Cc,!1),E=new Qe,S=new Qe,C=new Qe,I=new Qe,b=new Qe,w=new Qe;for(let a=e.getFirstPath(t);a!==M;a=e.getNextPath(a)){const t=e.getFirstVertex(a);e.queryXY(t,C);let h=!1;const m=e.getNextVertex(t);for(let a=m;a!==M;a=e.getNextVertex(a)){if(a===m){if(h)break;h=!0}if(e.queryXY(a,I),i&&(n<o-C.x&&I.x-o>n||n<o-I.x&&C.x-o>n)||!i&&(0!==o||n<-C.y&&I.y>n||n<-I.y&&C.y>n))do{if(Math.abs(C.x-I.x)>=.5*f.width())break;2===s.getCoordinateSystemType()?(y[0]=Tl(C.x,f),y[1]=C.y,y[2]=Tl(I.x,f),y[3]=I.y,ag(x,2,y,0),b.x=y[0]*u,b.y=y[1]*u,w.y=y[3]*u):(b.x=C.x*u,b.y=C.y*u,w.y=I.y*u),w.x=(I.x-C.x)*Math.PI*2/f.width()+b.x;let t=0;const n=lt(Qe,2);if(i){if(S.x=p,S.y=Cl(_,d,b,w,p,r),Number.isNaN(S.y))break;n[0]=S,t=1}else if(2===r){const e=[0,0];if(t=Ds(_,d,b,w,p,e),!t)break;n[0].x=e[0],n[0].y=p,2===t&&(n[1].x=e[1],n[1].y=p)}else{if(S.x=Hg(_,d,b,w,r),Number.isNaN(S.x))break;S.y=0,n[0]=S,t=1}let h=-1;for(let m=0;m<t;m++){Dc.geodeticDistance(_,d,b.x,b.y,w.x,w.y,P,null,null,r);const t=P.val;Dc.geodeticDistance(_,d,b.x,b.y,n[m].x,n[m].y,P,null,null,r);const l=P.val;2===s.getCoordinateSystemType()?(y[0]=n[m].x/u,y[1]=n[m].y/u,wc.geogToProj(x,1,y),i?(E.y=y[1],E.x=o):(E.x=kg(y[0],C.x,I.x,f),E.y=o)):i?(E.x=o,E.y=n[m].y/u):(E.x=kg(n[m].x/u,C.x,I.x,f),E.y=o);const g=t>0?It(l/t,0,1):.5;if(0===g||1===g)continue;if(h>g)continue;const c=e.getPrevVertex(a);e.splitSegment(c,[g],1);const p=e.getNextVertex(c);e.setXYCoords(p,E.x,E.y),h=g}}while(0);C.setCoordsPoint2D(I)}}}catch(m){h.error=m,h.hasError=!0}finally{Wt(h)}}function Al(t,s){a(s.isPannable());const r=s.getPannableExtent();if(t.getGeometryType()===n.enumPoint){const e=t.getY();return r.ymin<=e&&e<=r.ymax?t:t.createInstance()}const i=e.constructEmpty();t.queryEnvelope(i);const o=e.constructEmpty();o.setCoords({env2D:r}),o.xmin=i.xmin,o.xmax=i.xmax,o.inflateCoords(.01*o.height(),0);const h=le(s,i,!1);let m;return m=o.containsEnvelope(i)?t:Zt(t,o,h,0,null),m}function Ml(e,t,s,n){return nt((.5*(s+t)-e)/n)*n}function Ul(e,t,s,n,r){if(e>=s&&t<=n)return 0;return Ml(.5*(t+e),s,n,r)}function ql(t,s,r,i,o,a,h,m){const l=t.getGeometryType(),g=at.constructEmpty();g.setCoords(s,s+r);const u=[0];if(l===n.enumPoint){const e=t;if(u[0]=e.getX(),Dl(u,g,h)){const e=o?t:t.clone();return e.setX(u[0]),e}return t}const c=e.constructEmpty();if(t.queryEnvelope(c),c.isEmpty())return t;if(l===n.enumMultiPoint){const e=o?t:t.clone(),s=e.getImpl(),n=s.getAttributeStreamRef(0),r=2*s.getPointCount();let i=!1;for(let t=0;t<r;t+=2)u[0]=n.read(t),Dl(u,g,h)&&(n.write(t,u[0]),i=!0);return i&&s.notifyModifiedFlags(2001),e}const _=at.constructEmpty();if(c.queryIntervalX(_),g.contains(_))return g.vmax,_.vmax,t;const d=e.constructEmpty();if(d.setCoords({env2D:c}),0===_.width()){let e=_.vmin;e+=Math.ceil((g.vmin-e)/r)*r,e=g.snapClip(e);const s=o?t:t.clone();return s.setAttributeBasic(0,0,e),s}if(l===n.enumEnvelope){const e=o?t:t.clone();return c.intersect(d),e.setEnvelope(c),e}const p=.1*Math.max(c.height(),c.width())*1;d.inflateCoords(0,p);let f=t;const x=i.getTolerance(0),y=new jt;for(;;){const e=Math.floor((_.vmin-s)/r),t=Math.ceil((_.vmax-s)/r);if(!(t-e>3))break;{const o=Math.floor(.5*(t+e));d.xmin=c.xmin-p,d.xmax=s+r*o;const h=Zt(f,d,x,a,m);d.xmin=d.xmax,d.xmax=c.xmax+p;const g=Zt(f,d,x,a,m);y.setShiftCoords((o-t)*r,0),g.applyTransformation(y),l===n.enumPolygon?f=(new al).execute(h,g,i,m):(f=h,f.add(g,!1)),f.queryEnvelope(c),c.queryIntervalX(_)}}d.xmin=s,d.xmax=s+r;const P=e.constructEmpty();P.setCoords({env2D:d}),P.inflateCoords(x,0);const E=Math.floor((c.xmin-d.xmin)/r)*r;let S;E?(d.move(E,0),y.setShiftCoords(-E,0)):y.setIdentity(),S=l===n.enumPolyline?new I({vd:f.getDescription()}):new v({vd:f.getDescription()});const C=e.constructEmpty(),b=e.constructEmpty();for(;c.xmax>d.xmin;){const e=Zt(f,d,x,0,m);e.queryEnvelope(b);let t=!1;t=l===n.enumPolyline?!e.isEmpty()&&(b.width()>x||b.height()>x):!e.isEmpty()&&(l!==n.enumPolygon||b.width()>x),t&&(e.applyTransformation(y),e.queryEnvelope(b),S.queryEnvelope(C),C.inflateCoords(x,x),C.isIntersecting(b)&&l===n.enumPolygon?S=(new al).execute(S,e,i,m):S.add(e,!1)),d.move(r,0),y.shiftCoords(-r,0)}return S}function Bl(e,t,s,n,r=!0){const i=new at;i.setCoords(s,s+n);const o=[0];if(Array.isArray(e)){const s=e;for(let e=0;e<t;e++)i.containsRightExclusive(s[e].x)||(o[0]=s[e].x,Dl(o,i,r),s[e].x=o[0])}else{const s=e;for(let e=0;e<t;e++){const t=e<<1;i.containsRightExclusive(s[t])||(o[0]=s[t],Dl(o,i,r),s[t]=o[0])}}}function Ol(t,s,r,h=!0){if(t.isEmpty())return;const m=t.getGeometryType();if(!h||m!==n.enumPolygon)if(d(m)){let e=!1;if(o(m)&&t.hasNonLinearSegments()){const n=t.getImpl(),i=n.getAttributeStreamRef(0),o=n.getSegmentFlagsStreamRef();a(null!==o);for(let t=0,a=n.getPathCount();t<a;t++){let a=!0;const h=n.isClosedPath(t),m=n.getPathEnd(t);if(h&&n.getPathSize(t)>0){a=1===(31&o.read(m-1))}for(let l=n.getPathStart(t);l<m;l++){if(1===(31&o.read(l))){if(a){const t=i.read(2*l),n=Gl(t,s,r);n!==t&&(e=!0,i.write(2*l,n))}a=!0}else a=!1}}}else{const n=t.getImpl(),i=n.getAttributeStreamRef(0);for(let t=0,o=n.getPointCount();t<o;t++){const n=i.read(2*t),o=Gl(n,s,r);o!==n&&(e=!0,i.write(2*t,o))}}e&&t.getImpl().notifyModifiedFlags(2001)}else if(m===n.enumEnvelope){const n=t,i=e.constructEmpty();n.queryEnvelope(i),i.xmin=Gl(i.xmin,s,r),i.xmax=Gl(i.xmax,s,r),n.setEnvelope(i)}else if(m===n.enumPoint){const e=t;e.setX(Gl(e.getX(),s,r))}else i("")}function Yl(e,t,s){const n=new Qe;return n.x=Gl(e.x,t,s),n.y=e.y,n}function Rl(t,s){if(s.isEmpty())return 0;const n=t.getPECoordSys();if(n.getProjection().getCode()===bc.PE_PRJ_AZIMUTHAL_EQUIDISTANT){const r=Hu();t.querySpheroidData(r);const i=n.getParameters();if(null===i[bc.PE_PARM_LAM0])return 0;if(null===i[bc.PE_PARM_PHI0])return 0;const o=[i[bc.PE_PARM_LAM0].getValue(),i[bc.PE_PARM_PHI0].getValue()];wc.geogToProj(n,1,o);const a=new Qe(o[0],o[1]),h=e.constructEmpty();s.queryEnvelope(h);const m=lt(Qe,4);h.queryCorners(m);let l=0;const g=t.getOneMeter();let u=Math.max(r.majorSemiAxis,r.minorSemiAxis)*Math.PI,c=Math.min(r.majorSemiAxis,r.minorSemiAxis)*Math.PI;c-=u/180,u*=g,c*=g;for(let e=0;e<4;e++){const t=Qe.distance(m[e],a);if(t>u)l++;else if(t>c)return-1}if(0===l)return 1;if(4===l){const t=e.constructEmpty();return t.setCoords({center:a,width:u,height:u}),h.isIntersectingNe(t)?-1:0}return-1}return-1}function Xl(t,s,r,i){const o=t.getGeometryType();a(o===n.enumPolygon||o===n.enumPolyline||o===n.enumMultiPoint);const h=s.getCoordinateSystemType();if(2===h){let a=t;if(0===r){const r=Rl(s,t);if(0===r)return t.createInstance();if(1===r)return t;const o=s.getPCSHorizon(),h=o.getGeometryType(),m=s.getDefaultPrecisionSR();if(h===n.enumEnvelope){const n=e.constructEmpty();o.queryEnvelope(n);const r=le(m,n,!1);a=Zt(t,n,r,5e4*s.getOneMeterPCSUnit(),i)}else(new jm).execute(o,t,m,i)||(a=(new wh).execute(a,o,m,i),a===o&&(a=a.clone()))}else if(s.isPannable()){const t=e.constructEmpty();a.queryEnvelope(t);const h=s.getPannableExtent();h.containsEnvelope(t)||(Ol(a,h,s.getTolerance(0)),2!==r&&4!==r||(a=Al(a,s)),4!==r?a=vl(a,s,0,!0,1e5*s.getOneMeterPCSUnit(),i):o===n.enumPolygon&&t.width()>2*h.width()&&(a=ql(a,-2*h.width(),2*h.width(),s,!0,0,!0,i)))}return a}if(a(1===h),o===n.enumMultiPoint)return Ol(t,s.getPannableExtent(),s.getTolerance(0)),t;{const r=e.constructEmpty();t.queryEnvelope(r);let a=t;const h=s.getPannableExtent();if(r.ymin<h.ymin||r.ymax>h.ymax){const t=Math.max(1,r.calculateToleranceFromEnvelope()),n=new e(r.xmin-t,h.ymin,r.xmax+t,h.ymax);if(a=(new Kt).execute(a,n,s,i),a.isEmpty())return a}return o===n.enumPolygon&&r.width()>2*h.width()&&(a=ql(a,-2*h.width(),2*h.width(),s,!0,0,!0,i)),a}}function Ll(e,t,s,n,r,i){const o=n.getCoordinateSystemType();if(2===o){if(0===r)s!==e&&et(s,e,t),Pl(n,s,t);else if(s!==e&&et(s,e,t),n.isPannable()){const e=n.getTolerance(0);El(s,t,n.getPannableExtent(),e),Nl(s,t,n,0)}}else{a(1===o);const r=n.getTolerance(0),i=n.getPannableExtent();for(let n=0;n<t;n++)s[n].assign(Yl(e[n],i,r))}}function zl(e,t){const s=t.getPointCount();if(!s)return;const n=t.getImpl(),r=n.getAttributeStreamRef(0),i=e;wc.geogToProj(i,s,r.getArray()),n.notifyModifiedFlags(2001)}function Wl(e,t,s,n){if(!s)return;const r=e.getPECoordSys();if(1===s){const s=[t[0].x,t[0].y];if(wc.geogToProj(r,1,s),n){const{first:n,second:r}=e.m_peCoordSysVal.getGeogToProjFactors();s[0]=n*(t[0].x-e.getCentralMeridian())+r}return void t[0].setCoords(s[0],s[1])}const i=e.isPannable(),o=i?e.getPannableExtent().width():0,a=179*o/360;let h=0;i&&(h=e.getCentralMeridian());const m=256,l=new Float64Array(2*m);for(let g=0;g<s;){for(let e=g;e<s&&t[e].isNAN();++e)g++;let u=Math.min(m,s-g);if(u>0){for(let e=1,s=g+1;e<u;++e,++s)if(t[s].isNAN()){u=e;break}for(let e=0;e<u;++e){const s=e<<1;l[s]=t[g+e].x,l[s+1]=t[g+e].y}if(wc.geogToProj(r,u,l),n){const{first:s,second:n}=e.m_peCoordSysVal.getGeogToProjFactors();for(let e=0;e<u;++e){l[e<<1]=s*(t[g+e].x-h)+n}}if(i)for(let e=0,s=g;e<u;e++,s++){const n=e<<1,r=l[n],i=it(r),m=t[s].x-h;i*it(m)<0&&Math.abs(r)>a&&(l[n]-=i*o)}bl(l,t,g,u),g+=u}}}function jl(e,t,s,n){const r=e.getSRToGCSTransform();return(new qh).transform(r,t,s,n,!1)}function Zl(t,s,n,r){const i=new N({vd:s.getDescription()});let o;i.addPoints(s,0,-1),o=(new qh).execute(i,t,r);const a=s.getPointCount();if(n.setEmpty(),t.getInputSR().isPannable()){if(a!==o.getPointCount())return!1;const r=new e;s.queryEnvelope(r);const i=new e;o.queryEnvelope(i);const h=r.width(),m=i.width();if(0!==h&&0!==m){const e=m/h,s=t.getOutputSR().getPannableExtent().width()/t.getInputSR().getPannableExtent().width();if(Math.abs(e/s-1)>1e-10)return!1}else if(0!==h||0!==m)return!1;n.add(s,!1);for(let e=0;e<a;e++){const t=o.getXY(e);n.setXY(e,t)}return!0}return!1}function Kl(e,t,s){a(!s||e.isPannable());const n=t.getPointCount();if(!n)return;const r=t.getImpl(),i=r.getAttributeStreamRef(0),o=e.getPECoordSys();let h=0;const m=i.readRange(0,2*n);let l=()=>{wc.geogToProj(o,n,m)};const g=e.isPannable()&&!s,u=g?e.getPannableExtent().width():0,c=179*u/360;if(e.isPannable()&&(h=e.getCentralMeridian(),s)){const t=e.m_peCoordSysVal.getGeogToProjFactors(),s=t.first,r=t.second;l=()=>{wc.geogToProj(o,n,m);for(let e=0;e<n;e++){const t=e<<1,n=i.read(t),o=s*(n-h)+r;m[t]=o}}}if(l(),g)for(let a=0;a<n;a++){const e=a<<1,t=m[e],s=it(t),n=i.read(e)-h;s*it(n)<0&&Math.abs(t)>c&&(m[e]+=-s*u)}i.writeRangeFromArray(0,2*n,m,!0,1),r.notifyModifiedFlags(2001)}function Ql(e,t,s){switch(t.getGeometryType()){case n.enumLine:return void Ig(e,t,s);case n.enumBezier:return void Gg(e,t,s);case n.enumEllipticArc:return void wg(e,t,s);case n.enumBezier2:return void Dg();case n.enumRationalBezier2:return void Vg();default:i("")}}function Jl(e,t,s){if(!t.hasNonLinearSegments())return void Kl(e,t,s);if(a(!s||e.isPannable()),t.isEmpty())return;const n=0,r=e.getPECoordSys(),i=e.isPannable(),o=i?e.getPannableExtent().width():0,h=179*o/360;let m=0;i&&(m=e.getCentralMeridian());const l=t.createInstance();l.reserveParts(t.getPointCount(),t.getPathCount());const g=t.getImpl(),u=new F;for(let a=0,c=t.getPathCount();a<c;++a)if(g.hasNonLinearSegmentsPath(a)){let t=!0,n=-1;const r=g.getPathStart(a),i=r+g.getSegmentCountPath(a);g.isClosedPath(a)&&(n=i-1);const o=new Qe;for(let a=r;a<i;++a){if(g.getSegmentBuffer(a,u,!1),Ql(e,u.get(),s),!t){u.get().getStartXY().equals(o)||u.get().moveTo(o)}if(a!==n)l.addSegment(u.get(),t);else{if(t){const e=new fe;u.get().queryStart(e),l.startPathPoint(e)}l.closeLastPathWithSegment(u.get())}o.assign(u.get().getEndXY()),t=!1}}else{const e=1024;let s,u=g.getPathSize(a),c=Math.min(u,e);l.insertPath(-1,t,a,!0);const _=g.getAttributeStreamRef(0),d=l.getAttributeStreamRef(0);for(let t=g.getPathStart(a),l=g.getPathEnd(a);t<l;){if(s=_.readRange(t,c),wc.geogToProj(r,c,s),i)for(let e=0;e<c;e++){const t=e<<1,r=s[t],i=it(r),a=_.read(2*(n+e))-m;i*it(a)<0&&Math.abs(r)>h&&(s[t]+=-i*o)}d.writeRangeFromArray(t,c,s,!0,1),t+=c,u-=c,c=Math.min(u,e)}}t.assignMove(l)}function $l(e,t,s){const n=1e3;let r=s.getPointCount();if(!r)return;const i=s.getImpl(),o=i.getAttributeStreamRef(0);let a=Math.min(r,n),h=0;const m=e.getPECoordSys();Number.isNaN(t)&&(t=0);const l=e.isPannable(),g=e.getOneDegreeGCSUnit(),u=360*g,c=179*g;let _;for(;r;){if(_=o.readRange(2*h,2*a),ag(m,a,_,t),l)for(let e=0;e<a;e++){const s=e<<1,n=_[s]-t,r=it(n),i=o.read(2*(h+e));r*it(i)<0&&Math.abs(n)>c&&(_[s]+=-r*u)}o.writeRangeFromArray(2*h,2*a,_,!0,1),h+=a,r-=a,a=Math.min(r,n)}i.notifyModifiedFlags(2001)}function eg(e,t,s){switch(s.getGeometryType()){case n.enumLine:return void tg(e,t,s);case n.enumBezier:return void rg(e,t,s);case n.enumEllipticArc:return void sg(e,t,s);case n.enumBezier2:return void ig();case n.enumRationalBezier2:return void og();default:i("")}}function tg(e,t,s){const n=[s.getStartXY(),s.getEndXY()];mg(e,t,n,2),s.setStartXY(n[0]),s.setEndXY(n[1]),s.normalizeAfterEndpointChange()}function sg(e,t,s){if(0===s.projectionBehavior())ng(e,t,s);else{const n=s.isClosed()&&s.isMajor(),r=[s.getStartXY(),n?s.getCenter():s.getEndXY()],i=[r[0].clone(),r[1].clone()];vg(e,t,i,2);const o=new jt;o.initializeFromTwoPointsArray(r,i),s.applyTransformation(o);const a=n?0:1;s.setCoordsForIntersector(i[0],i[a],!1)}}function ng(e,t,s){Ng(!1,e,t,s,!1)}function rg(e,t,s){const n=lt(Qe,4);s.queryControlPoints(n),vg(e,t,n,4),s.setControlPoints(n)}function ig(e,t,s){a(0)}function og(e,t,s){a(0)}function ag(e,t,s,n){const r=wc.projToGeogCenter(e,t,s,n);for(let i=0;i<t;++i){const e=i<<1;a(Number.isFinite(s[e]+s[e+1]))}return r}function hg(e,t,s){if(!s.hasNonLinearSegments())return void $l(e,t,s);if(s.isEmpty())return;const n=e.getPECoordSys();Number.isNaN(t)&&(t=0);const r=e.isPannable(),i=e.getOneDegreeGCSUnit(),o=360*i,a=179*i,h=s.createInstance();h.reserveParts(s.getPointCount(),s.getPathCount());const m=s.getImpl(),l=new F;for(let g=0,u=s.getPathCount();g<u;++g)if(m.hasNonLinearSegmentsPath(g)){let s=!0,n=-1;const r=m.getPathStart(g),i=r+m.getSegmentCountPath(g);m.isClosedPath(g)&&(n=i-1);const o=new Qe;for(let a=r;a<i;++a){if(m.getSegmentBuffer(a,l,!1),eg(e,t,l.get()),!s){l.get().getStartXY().equals(o)||l.get().moveTo(o)}if(a!==n)h.addSegment(l.get(),s);else{if(s){const e=new fe;l.get().queryStart(e),h.startPathPoint(e)}h.closeLastPathWithSegment(l.get())}o.assign(l.get().getEndXY()),s=!1}}else{const e=1e3;let i,l=m.getPathSize(g),u=Math.min(l,e);h.insertPath(-1,s,g,!0);const c=m.getAttributeStreamRef(0),_=h.getAttributeStreamRef(0);for(let s=m.getPathStart(g),h=m.getPathEnd(g);s<h;){if(i=c.readRange(2*s,2*u),ag(n,u,i,t),r)for(let e=0;e<u;e++){const n=e<<1,r=i[n]-t,h=it(r),m=c.read(2*s);h*it(m)<0&&Math.abs(r)>a&&(i[n]+=-h*o)}_.writeRangeFromArray(2*s,2*u,i,!0,1),s+=u,l-=u,u=Math.min(l,e)}}s.assignMove(h)}function mg(e,t,s,n){const r=e.getPECoordSys();Number.isNaN(t)&&(t=0);const i=e.isPannable(),o=e.getOneDegreeGCSUnit(),a=360*o,h=179*o,m=256,l=new Float64Array(2*m);for(let g=0;g<n;){for(let t=g;t<n&&s[t].isNAN();++t)g++;let e=Math.min(m,n-g);if(e>0){for(let t=1,n=g+1;t<e;++t,++n)if(s[n].isNAN()){e=t;break}for(let t=0;t<e;t++){const e=t<<1;l[e]=s[g+t].x,l[e+1]=s[g+t].y}if(ag(r,e,l,t),i)for(let n=0,r=g;n<e;++n,++r){const e=n<<1,i=s[r].x,o=l[e]-t,m=it(o);m*it(i)<0&&Math.abs(o)>h&&(l[e]-=m*a)}for(let t=0;t<e;t++){const e=t<<1;s[g+t].x=l[e],s[g+t].y=l[e+1]}g+=e}}}function lg(e,t,s,n){a(0)}function gg(e,t,s){let n=t.getPointCount();if(!n)return!1;const r=t.getImpl(),i=r.getAttributeStreamRef(0);let o=null;const a=e.getInputSR(),h=e.getOutputSR();a.getVCS(),h.getVCS();const m=a.getOneDegreeGCSUnit(),l=h.getOneDegreeGCSUnit(),g=e.isVertical();g&&t.hasAttribute(1)&&(o=r.getAttributeStreamRef(1));const u=e.getDatumTransformation(),c=!!u&&1===u.getType();if(c||null===o||(lg(o.getArray()),o=null),!u||0===u.count()){const e=a.getGcsUnitFactor()/h.getGcsUnitFactor(),t=(a.getPrimeMeridian()-h.getPrimeMeridian())*l,s=-90*m,o=90*m;let g=0;const u=i.getArray(),c=[0];for(let r=1,i=2*n;r<i;)c[0]=u[r],g|=Ht(c,s,o)?1:0,u[r]=c[0],r+=2;if(0!==t||1!==e){g=1;const s=i.getArray();for(let r=0,i=2*n;r<i;){let n=s[r];n*=e,n+=t,s[r]=n,s[r+1]*=e,r+=2}}return 0!==g&&r.notifyModifiedFlags(2001),!!g}const _=1e3;let d=Math.min(n,_);const p=Ke(d,Number.NaN),f=Ke(d,Number.NaN);let x=null;null!==o&&(x=new Float64Array(d));let y=0,P=Number.NaN,E=Number.NaN;const S=360*l,C=l/m;s&&(E=90*l,P=89.9*m,f.fill(0));let I=!0,b=0;for(;n;){let e=!1;const t=i.readRange(2*y,2*d);for(let s=0;s<d;s++)p[s]=t[s<<1];if(s)for(let s=0;s<d;s++){const n=1+(s<<1),r=Math.abs(t[n])-P;if(r>0){const i=t[n];t[n]=xt(P,i),f[s]=xt(r,i),e=!0}}const r=t[0];if(c){const e=u;x&&o.queryRange(y,d,x,!0,1),e.transform(!1,t,x,d),x&&o.writeRangeFromArray(y,d,x,!0,1)}else{u.transform(!1,t,d)}I&&(b=t[0]-C*r,I=!1);for(let s=0;s<d;s++){const e=s<<1,n=t[e]-p[s]*C-b;Math.abs(n)>200&&(t[e]+=n>0?-S:S)}if(e){for(let e=0;e<d;e++)if(f[e]){const s=1+(e<<1);t[s]+=C*f[e],t[s]>E?t[s]=E:t[s]<-E&&(t[s]=-E)}f.fill(0)}i.writeRangeFromArray(2*y,2*d,t,!0,1),g&&o&&o.writeRangeFromArray(y,d,x,!0,1),y+=d,n-=d,d=Math.min(n,_)}return r.notifyModifiedFlags(2001),!0}function ug(e,t,s){switch(t.getGeometryType()){case n.enumLine:return xg(e,t,s);case n.enumBezier:return Eg(e,t,s);case n.enumEllipticArc:return yg(e,t,s);case n.enumBezier2:return Sg();case n.enumRationalBezier2:return Cg();default:i("")}}function cg(e,t,s){if(!t.hasNonLinearSegments())return gg(e,t,s);if(t.isEmpty())return!1;const n=t.createInstance();n.reserveParts(t.getPointCount(),t.getPathCount());const r=t.getImpl(),i=new F;for(let o=0,a=t.getPathCount();o<a;++o){let t=!0,a=-1;const h=r.getPathStart(o),m=h+r.getSegmentCountPath(o);r.isClosedPath(o)&&(a=m-1);const l=new Qe;for(let o=h;o<m;++o){if(r.getSegmentBuffer(o,i,!1),ug(e,i.get(),s),!t){i.get().getStartXY().equals(l)||i.get().moveTo(l)}if(o!==a)n.addSegment(i.get(),t);else{if(t){const e=new fe;i.get().queryStart(e),n.startPathPoint(e)}n.closeLastPathWithSegment(i.get())}l.assign(i.get().getEndXY()),t=!1}}return t.assignMove(n),!0}function _g(e,t,s,n,r,i){if(e.isIdentityGeogToGeog()){const s=90*e.getInputSR().getOneDegreeGCSUnit();let r=0;const i=[0];for(let e=0;e<n;e++)i[0]=t[e].y,r|=Ht(i,-s,s)?1:0,t[e].y=i[0];return r}const o=e.getInputSR(),a=e.getOutputSR(),h=o.getVCS(),m=a.getVCS(),l=o.getOneDegreeGCSUnit(),g=90*l,u=a.getOneDegreeGCSUnit(),c=e.isVertical(),_=e.getDatumTransformation(),d=!!_&&1===_.getType();if(c||(s=null),!_||0===_.count()){let e=0;const r=[0];for(let s=0;s<n;s++)r[0]=t[s].y,e|=Ht(r,-g,g)?1:0,t[s].y=r[0];return e|=qm(o.getGCS(),h,a.getGCS(),m,t,s,n)?1:0,e}d||null===s||lg();const p=1024;let f=Math.min(n,p);const x=Ke(f,Number.NaN),y=Ke(f,Number.NaN);let P=0,E=Number.NaN,S=Number.NaN;const C=360*u,I=u/l;r&&(S=90*u,E=89.9*l);let b=!0,w=0,v=n;for(;v;){let e=!1;for(let s=0;s<f;s++)x[s]=t[s+P].x;if(r)for(let s=0;s<f;s++){const n=Math.abs(t[s+P].y)-E;if(n>0){const r=t[s+P].y;t[s+P].y=xt(E,r),y[s]=xt(n,r),e=!0}}const n=t[0].x;if(d){_.transform(!1,t,s,f)}else{_.transform(!1,t,f)}b&&(w=t[0].x-I*n,b=!1);for(let s=0;s<f;s++){const e=t[P+s].x-x[s]*I-w;Math.abs(e)>200&&(e>0?t[P+s].x-=C:t[P+s].x+=C)}if(e){for(let e=0;e<f;e++)y[e]&&(t[P+e].y+=I*y[e],t[P+e].y>S?t[P+e].y=S:t[P+e].y<-S&&(t[P+e].y=-S));y.fill(0,0,f)}P+=f,v-=f,f=Math.min(v,p)}return 1}function dg(e,t,s,n,r){return a(0),0}function pg(e,t,s,n,r){a(null===n),a(t<2147483647);const i=Array.isArray(s);let o;o=i?Ut(s):s;const h=vc.geogToGeog(e,t,o,null,r);return i&&qt(o,s),h}function fg(e,t,s,n,r,i){let o=0,a=!0,h=0;for(let m=0;m<n;++m)t[m].isNAN()?a||(o|=_g(e,t.slice(h,m-h),s?s.slice(h,m-h):null,m-h,r),h=m,a=!0):a&&(h=m,a=!1);return a||(o|=_g(e,0===h?t:t.slice(h),s?0===h?s:s.slice(h):null,n-h,r)),0!==o}function xg(e,t,s){const n=[t.getStartXY(),t.getEndXY()],r=[0,0];let i=null;t.hasAttribute(1)&&(i=r,i[0]=t.getAttributeAsDbl(0,1,0),i[1]=t.getAttributeAsDbl(1,1,0));const o=fg(e,n,i,2,s);return t.setStartXY(n[0]),t.setEndXY(n[1]),i&&(t.setStartAttribute(1,0,i[0]),t.setEndAttribute(1,0,i[1])),t.normalizeAfterEndpointChange(),o}function yg(e,t,s){if(0===t.projectionBehavior())return Pg(e,t,s);const n=t.getStartXY().equals(t.getEndXY()),r=lt(Qe,3),i=lt(Qe,3),o=[0,0,0];let a=null;r[0].assign(t.getStartXY()),r[1].assign(n?t.getCenter():t.getEndXY());let h=!1;t.hasAttribute(1)&&(a=o,a[0]=t.getAttributeAsDbl(0,1,0),a[1]=t.getAttributeAsDbl(1,1,0),a[2]=ft(a[0],a[1],.5),n&&(a[1]=a[2])),i[0].setCoordsPoint2D(r[0]),i[1].setCoordsPoint2D(r[1]);const m=new jt;if(n||t.isDegenerateToLine())h=fg(e,i,a,2,s),m.initializeFromTwoPoints(r[0],r[1],i[0],i[1]);else{const n=new Qe;t.queryCoord2D(.5,n),r[2].setCoordsPoint2D(n),i[2].setCoordsPoint2D(n),h=fg(e,i,a,3,s),m.setFromTwoTriangles(r,i)}return m.isIdentity()||(t.applyTransformation(m),t.setStartXY(i[0]),t.setEndXY(n?i[0]:i[1]),t.normalizeAfterEndpointChange()),a&&(t.setStartAttribute(1,0,a[0]),t.setEndAttribute(1,0,n?a[0]:a[1])),h}function Pg(e,t,s){const n=[t.getStartXY(),t.getEndXY(),t.getInteriorPoint(),t.getCenter()];let r=4;t.isDegenerateToLine()&&(r=2);const i=[0,0,0,0];let o=null;if(t.hasAttribute(1)){o=i,o[0]=t.getAttributeAsDbl(0,1,0),o[1]=t.getAttributeAsDbl(1,1,0);const e=ft(o[0],o[1],.5);o[2]=e,o[3]=e}const a=t.getStartXY().equals(t.getEndXY())&&!t.isDegenerateToLine(),h=fg(e,n,o,r,s);return a?t.constructCircleCenterAndPoint(n[3],n[0],!t.isClockwise()):t.isDegenerateToLine()?t.constructLineCircularArc(n[0],n[1]):t.constructCircularArcThreePoint(n[0],n[1],n[2]),o&&(t.setStartAttribute(1,0,o[0]),t.setEndAttribute(1,0,o[1])),h}function Eg(e,t,s){const n=lt(Qe,4);t.queryControlPoints(n);const r=[0,0,0,0];let i=null;t.hasAttribute(1)&&(i=r,i[0]=t.getAttributeAsDbl(0,1,0),i[3]=t.getAttributeAsDbl(1,1,0),i[1]=ft(i[0],i[3],.5),i[2]=i[1]);const o=fg(e,n,i||null,n.length,s);return t.setControlPoints(n),i&&(t.setStartAttribute(1,0,i[0]),t.setEndAttribute(1,0,i[3])),t.normalizeAfterEndpointChange(),o}function Sg(e,t,s){return a(0),!1}function Cg(e,t,s){return a(0),!1}function Ig(e,t,s){const n=[t.getStartXY(),t.getEndXY()];Wl(e,n,2,s),t.setStartXY(n[0]),t.setEndXY(n[1]),t.normalizeAfterEndpointChange()}function bg(e,t,s,n){Wl(e,t,s,n)}function wg(e,t,s){if(0===t.projectionBehavior())Tg(e,t,s);else{const n=t.isClosed()&&t.isMajor(),r=[t.getStartXY(),n?t.getCenter():t.getEndXY()],i=[r[0].clone(),r[1].clone()];bg(e,i,2,s);const o=new jt;o.initializeFromTwoPointsArray(r,i),t.applyTransformation(o);const a=n?0:1;t.setCoordsForIntersector(i[0],i[a],!1)}}function vg(t,s,n,r){mg(t,s,n,r);const i=new e;i.setFromPoints(n,r);const o=t.getOneDegreeGCSUnit(),a=360*o,h=180*o;if(i.width()>h){for(let e=0;e<r;e++)for(;n[e].x<s;)n[e].x+=a;if(i.setFromPoints(n,r),i.xmax>h+s)for(let e=0;e<r;e++)n[e].x-=a}}function Ng(e,t,s,n,r){const i=lt(Qe,3);let o=0,a=!1,h=!1;const m=n.isDegenerateToLine();m?(i[0].assign(n.getStartXY()),i[1].assign(n.getEndXY()),i[2].setCoords(0,0),o=2):n.isClosed()&&n.isMajor()?(a=!0,h=!n.isClockwise(),i[0].assign(n.getStartXY()),i[1].assign(n.getCenter()),i[2].setCoords(0,0),o=2):(i[0].assign(n.getStartXY()),i[1].assign(n.getEndXY()),i[2].assign(n.getInteriorPoint()),o=3),e?bg(t,i,o,r):vg(t,s,i,o),m?n.constructLineCircularArc(i[0],i[1]):a?n.constructCircleCenterAndPoint(i[1],i[0],h):n.constructCircularArcThreePoint(i[0],i[1],i[2])}function Tg(e,t,s){Ng(!0,e,0,t,s)}function Gg(e,t,s){const n=lt(Qe,4);t.queryControlPoints(n),bg(e,n,4,s),t.setControlPoints(n)}function Dg(e,t,s){a(0)}function Vg(e,t,s){a(0)}function Fg(e,t,s){const n=ae(e),r=ae(t),i=ie(n,r),o=ie(n,ae(s));return 0===o||(i>0&&o>0&&o<=i||i<0&&o<0&&o>=i)}function Hg(e,t,s,n,r){const i={stack:[],error:void 0,hasError:!1};try{const o=s.clone(),h=n.clone();if(2===r){const s=[0,0];return Ds(e,t,o,h,0,s),s[0]}if(o.y>h.y){const e=new Qe;e.assign(o),o.assign(h),h.assign(e)}const m=zt(i,new Cc,!1),l=zt(i,new Cc,!1),g=zt(i,new Cc,!1),u=new at;if(u.setCoords(o.y,h.y),!u.containsCoordinate(0)||Math.abs(o.x-h.x)>=Math.PI)return Number.NaN;if(o.x===h.x)return o.x;Dc.geodeticDistance(e,t,o.x,o.y,h.x,h.y,l,m,null,r);const c=l.val;let _=0,d=1;const p=o.clone();for(;c*(d-_)>1e-12*e;){const s=.5*(_+d);if(Dc.geodeticCoordinate(e,t,o.x,o.y,c*s,m.val,l,g,r),p.x=l.val,p.y=g.val,u.setCoords(o.y,p.y),0===p.y)return p.x;if(u.containsCoordinate(0))d=s;else{if(u.setCoords(h.y,p.y),!u.containsCoordinate(0))return a(!1),Number.NaN;_=s}}return p.x}catch(o){i.error=o,i.hasError=!0}finally{Wt(i)}}function kg(e,t,s,n){const r=new at;r.setCoords(t,s);const i=n.width();let o=Math.floor((e-t)/i)*i+e;const a=r.getCenter();for(;Math.abs(o-a)>Math.abs(o+i-a);)o+=i;return o}class Ag extends es{constructor(){super(),this.m_geometryDeque=[],this.m_index=-1}next(){if(this.m_geometryDeque.length>0){this.m_index++;const e=this.m_geometryDeque[0];return this.m_geometryDeque.shift(),e}return null}getGeometryID(){return this.m_index}tick(e){this.m_geometryDeque.push(e)}tock(){return!0}getRank(){return 1}}function Mg(e,t){return e===t||null!==e&&null!==t&&(e.m_csType===t.m_csType&&(0===e.m_WKID&&0===t.m_WKID?e.m_hashCode===t.m_hashCode&&e.m_canonicalWkt===t.m_canonicalWkt:e.m_WKID===t.m_WKID))}function Ug(e,t){return e===t||null!==e&&null!==t&&(e.m_csType===t.m_csType&&(0===e.m_WKID&&0===t.m_WKID?1===e.m_csType?e.m_peCoordSys.isEqual(t.m_peCoordSys):e.m_peCoordSys===t.m_peCoordSys:e.m_WKID===t.m_WKID))}class qg{constructor(s,n=!0){this.m_PCSHorizon=null,this.m_GCSHorizon=null,this.m_GCSSplitLines=null,this.m_bGCSHorisonIsInclusive=!1,this.m_oneMeterPCS=0,this.m_oneDegreeGCS=0,this.m_gcsUnitFactor=0,this.m_northPole=Qe.getNAN(),this.m_southPole=Qe.getNAN(),this.m_polesUpdated=0,this.m_domain=e.constructEmpty(),this.m_primeMeridian=Number.NaN,this.m_geogToProjFactor=1,this.m_geogToProjOffset=0,this.m_geogToProjFactorsUpdated=0,this.m_oneMillimeter=0,this.m_centralMeridian=0,this.m_pPCSInfoNoDomain=null,this.m_oldWKID=-1973,this.m_vcsWKID=-1,this.m_bIsPannable=!1,this.m_bCached=!1,this.m_pannableExtent=e.constructEmpty(),this.m_pannableExtentGCS=e.constructEmpty(),this.m_areaOfUse=null,this.m_canonicalWkt="",this.m_peCoordSys=s,this.m_WKID=Ic.getCode(s),this.m_WKID<=0?(this.m_WKID=0,this.m_canonicalWkt=_l(s,0,!0),this.m_hashCode=ct(this.m_canonicalWkt)):this.m_hashCode=_t(this.m_WKID);const r=this.m_peCoordSys.getType();this.m_csType=r===bc.PE_TYPE_PROJCS?2:1,a(r===bc.PE_TYPE_PROJCS||r===bc.PE_TYPE_GEOGCS),r===bc.PE_TYPE_PROJCS&&(s.loadConstants()||t("PeProjcs.loadConstants failed"));const o=r===bc.PE_TYPE_GEOGCS?this.m_peCoordSys:this.m_peCoordSys.getGeogcs();r!==bc.PE_TYPE_GEOGCS&&Ic.getCode(o),this.m_unit=ms(s),this.m_primeMeridian=o.getPrimem().getLongitude();{const e=o.getUnit().getUnitFactor();this.m_gcsUnitFactor=e;let t=Math.PI/(180*e);Math.abs(t-1)<1e-10&&(t=1),this.m_oneDegreeGCS=t}if(r===bc.PE_TYPE_PROJCS){const e=this.m_peCoordSys,t=e.getUnit().getUnitFactor();this.m_oneMeterPCS=1/t,this.m_oneMillimeter=.001/t,this.m_pPCSInfoNoDomain=Nc.generate(e,Nc.PE_PCSINFO_OPTION_NONE),this.m_pPCSInfoNoDomain||i("cannot create pcs info"),this.m_bIsPannable=this.m_pPCSInfoNoDomain.isPannableRectangle(),this.m_centralMeridian=this.m_pPCSInfoNoDomain.getCentralMeridian()}else{this.m_bIsPannable=!0,this.m_polesUpdated=1,this.m_oneMeterPCS=0;const e=1/o.getUnit().getUnitFactor(),t=o.getDatum().getSpheroid().getAxis();this.m_oneMillimeter=.001/t*e,this.m_centralMeridian=0}this.m_bIsPannable&&(this.updateGCSHorizon(),this.updatePCSHorizon(),this.updatePoles(),this.updateDomain(),this.updatePannableExtent(),this.updatePannableExtentGCS())}[Symbol.dispose](){}getHashCode(){return this.m_hashCode}getPCSHorizonPannable(){return this.m_PCSHorizon}getGCSHorizonPannable(){return this.m_GCSHorizon}getPCSInfo(){return a(this.m_pPCSInfoNoDomain),this.m_pPCSInfoNoDomain}getCentralMeridian(){return this.m_centralMeridian}updateGCSHorizon(){if(this.m_peCoordSys.getType()!==bc.PE_TYPE_PROJCS)return;let t=!0;const s=this.m_peCoordSys,n=s.getGeogcs(),r=s.horizonGcsGenerate();if(!r)return;a(r.length>0);const i=r[0].getNump(),o=r[0].getKind();let h,m;t=r[0].getInclusive()>0;const l=this.getOneDegreeGCSUnit(),g=90*l,u=360*l,c=370*l,_=180*l*bc.PE_HORIZON_DELTA/Math.PI,d=e.constructEmpty();let p=null;if(i>1)for(let e=1;e<i;e++)if(r[e].getKind()===bc.PE_HORIZON_LINE){p||(p=new I);const t=r[e].getCoord();p.startPathCoords(t[0][0],t[0][1]),p.lineToCoords(t[1][0],t[1][1])}if(o===bc.PE_HORIZON_RECT){const e=r[0].getCoord();if(d.setFromPoints([new Qe(e[0][0],e[0][1]),new Qe(e[1][0],e[1][1])],2),Math.abs(d.ymax-g)<1e-7*_&&(d.ymax=g),Math.abs(d.ymin+g)<1e-7*_&&(d.ymin=-g),d.width()>c){const e=-400*l,t=e+5*u;d.setCoords({xmin:e,ymin:d.ymin,xmax:t,ymax:d.ymax})}const s=new pe({env2D:d});this.m_GCSHorizon||(this.m_GCSHorizon=s,this.m_bGCSHorisonIsInclusive=t)}else{let s=this.getPCSInfo().isGcsHorizonMultiOverlap();const o=Ru(n,null,null,1),c=[],_=new at;for(let t=0;t<i;t++){if(r[t].getKind()!==bc.PE_HORIZON_POLY)continue;h=r[t].getSize();const s=r[t].getCoord(),n=e.constructEmpty();n.setFromPoints(dt(s),h),c.push(new at(n.xmin,n.xmax)),n.width(),_.merge(c.at(-1))}let d=!1;const f=new at;_.width()>u&&c.length>1?(f.vmin=this.getCentralMeridian()-u,f.vmax=f.vmin+2*u,d=!0,s=!0):(f.vmin=_.vmin,f.vmax=f.vmin+u);const x=e=>{let t=0;for(;c[e].vmin+t<f.vmin;)t+=u;for(;c[e].vmax+t-u>f.vmin;)t-=u;return t};let y=new v;if(s){const e=new Ag,t=(new al).executeMany(e,o,null);for(let s=0;s<i;s++){if(r[s].getKind()!==bc.PE_HORIZON_POLY)continue;h=r[s].getSize();const n=r[s].getCoord();m=r[s].getInclusive()>0;const i=new v;if(i.addPathPoint2D(dt(n),h-1,!0),d){const t=x(s),n=c[s].clone();n.move(t);let r=t;const o=new jt;do{o.setShiftCoords(r,0);const t=i.clone();t.applyTransformation(o),e.tick(t),e.tock(),r+=u,n.move(u)}while(n.vmin<f.vmax)}else e.tick(i),t.tock()}y=t.next()}else{y=new v;for(let e=0;e<i;e++){if(r[e].getKind()!==bc.PE_HORIZON_POLY)continue;h=r[e].getSize();const s=r[e].getCoord();if(m=r[e].getInclusive()>0,a(m===t),d){const t=new v;t.addPathPoint2D(dt(s),h-1,!0);const n=x(e),r=c[e].clone();r.move(n);let i=n;const o=new jt;do{if(0!==i){o.setShiftCoords(i,0);const e=new v({copy:t});e.applyTransformation(o),y.addPath(e,0,!0)}else y.addPath(t,0,!0);i+=u,r.move(u)}while(r.vmin<f.vmax)}else y.addPathPoint2D(dt(s),h-1,!0)}}d&&(y=(new Kt).execute(y,new e(f.vmin,-g-l,f.vmax,g+l),o,null)),t?(new wh).accelerateGeometry(y,o,1):(new Km).accelerateGeometry(y,o,1),(new ul).accelerateGeometry(y,o,1),null===this.m_GCSHorizon&&(this.m_GCSHorizon=y,this.m_bGCSHorisonIsInclusive=t,this.m_GCSSplitLines=p)}}updateAreaOfUse(){return null}updatePCSHorizon(){if(this.m_peCoordSys.getType()!==bc.PE_TYPE_PROJCS)return;const t=this.m_peCoordSys.horizonPcsGenerate();if(!t)return;let s;this.getPCSInfo();const n=t[0].getKind();t[0].getInclusive();const r=e.constructEmpty(),i=t[0].getNump();let o=!1;if(n===bc.PE_HORIZON_RECT){const e=t[0].getCoord();r.setFromPoints(dt(e),2),s=new pe({env2D:r})}else{let e=-1;for(let s=0;s<i;s++)t[s].getKind()===bc.PE_HORIZON_POLY&&(e=s);a(e>=0);const n=t[e].getSize()-1,r=t[e].getCoord(),h=new v;s=h,h.addPathPoint2D(dt(r),n,!0),o=!0}if(this.getPCSInfo().isDensificationNeeded()){a(n!==bc.PE_HORIZON_RECT);const e=1e5*this.getOneMeterPCSUnit();s=(new Jt).execute(s,e,0,0,null)}if(o){{const e=new pe;s.queryEnvelope(e),s.calculateArea2D(),s.calculateLength2D(),s.getExteriorRingCount()}(new wh).accelerateGeometry(s,null,1)}null===this.m_PCSHorizon&&(this.m_PCSHorizon=s)}updatePannableExtent(){const t=this.m_peCoordSys.getType();if(t===bc.PE_TYPE_PROJCS){const t=this.m_peCoordSys,s=this.getPCSInfo().getCentralMeridian(),n=t.getGeogcs();n||i("");const r=[s+1/n.getUnit().getUnitFactor()*Math.PI,0];wc.geogToProj(t,1,r);const o=r[0],a=t.getParameters()[bc.PE_PARM_X0].getValue(),h=this.getPCSHorizon(),m=e.constructEmpty();h.queryEnvelope(m);const l=Math.abs(o-a),g=l+a,u=-1*l+a,c=m.ymax,_=m.ymin;this.m_pannableExtent.setCoords({xmin:u,ymin:_,xmax:g,ymax:c})}else if(t===bc.PE_TYPE_GEOGCS){const e=1/this.m_peCoordSys.getUnit().getUnitFactor()*Math.PI;this.m_pannableExtent.setCoords({xmin:-e,ymin:-e/2,xmax:e,ymax:e/2})}else i("")}updatePannableExtentGCS(){const t=this.m_peCoordSys.getType();if(t===bc.PE_TYPE_PROJCS){const t=this.m_peCoordSys,s=this.m_centralMeridian,n=t.getGeogcs();n||i("");const r=1/n.getUnit().getUnitFactor()*Math.PI,o=this.getGCSHorizon(),a=e.constructEmpty();o.queryEnvelope(a),this.m_pannableExtentGCS.setCoords({xmin:s-r,ymin:a.ymin,xmax:s+r,ymax:a.ymax})}else if(t===bc.PE_TYPE_GEOGCS){const e=1/this.m_peCoordSys.getUnit().getUnitFactor()*Math.PI;this.m_pannableExtentGCS.setCoords({xmin:-e,ymin:-e/2,xmax:e,ymax:e/2})}else i("")}updateDomain(){if(1===this.m_csType){const t=400*this.getOneDegreeGCSUnit();this.m_domain=e.construct(-t,-t,t,t)}else{a(2===this.m_csType);const t=Nc.generate(this.m_peCoordSys,Nc.PE_PCSINFO_OPTION_DOMAIN);t||i("generate pcs info failed");const s=new e(t.getDomainMinx(),t.getDomainMiny(),t.getDomainMaxx(),t.getDomainMaxy());this.m_domain.isEmpty()&&this.m_domain.setCoords({env2D:s})}}updatePoles(){if(this.m_peCoordSys.getType()===bc.PE_TYPE_PROJCS){const e=90*this.getOneDegreeGCSUnit(),t=[[0,e],[0,-e]];wc.geogToProj(this.m_peCoordSys,2,t);const s=this.getPCSInfo().getNorthPoleLocation()!==Nc.PE_POLE_OUTSIDE_BOUNDARY,n=this.getPCSInfo().getSouthPoleLocation()!==Nc.PE_POLE_OUTSIDE_BOUNDARY;this.m_polesUpdated||(s&&this.m_northPole.setCoords(t[0][0],t[0][1]),n&&this.m_southPole.setCoords(t[1][0],t[1][1]),this.m_polesUpdated=1)}else this.m_polesUpdated=1}updateGeogToProjFactors(){if(this.m_peCoordSys.getType()===bc.PE_TYPE_PROJCS){const e=this.getOneDegreeGCSUnit(),t=this.m_pPCSInfoNoDomain.getCentralMeridian(),s=[0,0,0,0];s[0]=t,s[1]=0,s[2]=t+e,s[3]=0;const n=wc.geogToProj(this.m_peCoordSys,2,s);a(2===n);const r=(s[2]-s[0])/e,i=s[0];0===this.m_geogToProjFactorsUpdated&&(this.m_geogToProjFactor=r,this.m_geogToProjOffset=i,this.m_geogToProjFactorsUpdated=1)}else this.m_geogToProjFactorsUpdated=1}getOneMeterPCSUnit(){return this.m_oneMeterPCS}getOneDegreeGCSUnit(){return this.m_oneDegreeGCS}getGcsUnitFactor(){return this.m_gcsUnitFactor}getUnitsPerMillimeter(){return this.m_oneMillimeter}getGCSSplitLines(){return this.m_bIsPannable?null:(this.m_GCSHorizon||this.updateGCSHorizon(),this.m_GCSSplitLines)}getGCSHorizon(){return this.m_bIsPannable?this.getGCSHorizonPannable():(null!==this.m_GCSHorizon||this.updateGCSHorizon(),this.m_GCSHorizon)}getGCSHorisonIsInclusive(){return this.m_bIsPannable||this.getGCSHorizon(),this.m_bGCSHorisonIsInclusive}getPCSHorizon(){return this.m_bIsPannable?this.getPCSHorizonPannable():(null!==this.m_PCSHorizon||this.updatePCSHorizon(),this.m_PCSHorizon)}getPole(e){return this.m_bIsPannable||0!==this.m_polesUpdated||this.updatePoles(),e?this.m_southPole:this.m_northPole}getGeogToProjFactors(){return 0===this.m_geogToProjFactorsUpdated&&this.updateGeogToProjFactors(),mt(this.m_geogToProjFactor,this.m_geogToProjOffset)}getDomainXY(){if(this.m_bIsPannable)return this.m_domain.clone();let e=!1;return e=this.m_domain.isEmpty(),e&&this.updateDomain(),this.m_domain.clone()}getPrimeMeridian(){return this.m_primeMeridian}getLatestID(){return this.m_WKID}getOldID(){let e=this.m_oldWKID;if(e<0){if(e=0,this.m_WKID>0){const t=[0],s=[0];qc(this.m_peCoordSys.getType(),this.m_WKID,t,s)||i("query_code_change"),e=t[0]}this.m_oldWKID=e}return e}isCustomWkid(){return!1}isPannable(){return this.m_bIsPannable}getPannableExtent(){return this.m_pannableExtent.clone()}getPannableExtentGCS(){return this.m_pannableExtentGCS.clone()}getAreaOfUse(){return null!==this.m_areaOfUse?this.m_areaOfUse:this.updateAreaOfUse()}getVcsCode(){return 0}saveMemory(){}getCSType(){return this.m_csType}getUnit(){return this.m_unit}setCached(){this.m_bCached=!0}getCached(){return this.m_bCached}static equal(e,t){return!1}static equal_for_projection(e,t){return!1}}class Bg{constructor(e,t=!0){this.m_oneMeter=0,this.m_WKID=-1,this.m_oldWKID=-1,this.m_canonicalWkt="not yet implemented",this.m_model=0,this.m_unit=new bu,this.m_cached=!1}setCached(e=!0){this.m_cached=e}getCached(){return this.m_cached}getOneMeterUnit(){return 0}getLatestID(){return this.m_WKID}getOldID(){let e=this.m_oldWKID;return e<0&&(e=0,this.m_WKID>0&&(e=this.m_WKID),this.m_oldWKID=e),e}getModel(){return 0}isCustomWkid(){return!1}getVerticalUnit(){return this.m_unit}static equal(e,t){return!1}static equal_for_projection(e,t){return!1}}function Og(t,s,n){return Yg(t,s,e.constructEmpty(),n)}function Yg(e,t,s,n){return Xg(!0,e,t,s,n)}function Rg(e,t,s,n){return Lg(!0,e,t,s,n)}function Xg(e,t,s,n,r){Uu()||_("cannot create projection transformation");return t.hasVCS()&&s.hasVCS()?jg():Zg(t,s,n,r)}function Lg(e,t,s,n,r,i){return Uu()||_("cannot create projection transformation"),new eu(e?2:1,t,s,n,r,i)}function zg(e,s,n,r,i,o=!1){s&&n||t(""),Uu()||_("cannot obtain geotransformation list");if(1===e&&s.hasVCS()&&n.hasVCS())return u("hv xform not impl"),[];{const e=Qc(s,n,r,i,o),t=[];for(const s of e)t.push(s);return t}}function Wg(){return{centralMeridianOfOutputGCS:Number.NaN,densificationStep:Number.NaN,clipWithInputHorizon:!0,clipWithOutputHorizon:!0,legacyHorizonClipping:!1,normalizeResultGeometry:!1,equals(e){return st(this.centralMeridianOfOutputGCS,e.centralMeridianOfOutputGCS)&&st(this.densificationStep,e.densificationStep)&&this.clipWithInputHorizon===e.clipWithInputHorizon&&this.clipWithOutputHorizon===e.clipWithOutputHorizon&&this.legacyHorizonClipping===e.legacyHorizonClipping&&this.normalizeResultGeometry===e.normalizeResultGeometry}}}function jg(e,t,s,n){return a(0),{}}function Zg(s,n,r,i){s&&n||t("!inputSR || !outputSR");const o=s.getLatestID(),a=n.getLatestID();if(3857===o&&4326===a){if(s.m_bDefaultDescriptor&&n.m_bDefaultDescriptor)return pu()}else if(4326===o&&3857===a&&s.m_bDefaultDescriptor&&n.m_bDefaultDescriptor)return fu();const h=e.constructEmpty();h.setCoords({env2D:r});const m=s.getCoordinateSystemType(),l=n.getCoordinateSystemType();if(0===m||0===l)return Kg(s,n);if(i){const e=i.find(0,s.getGCS(),n.getGCS());if(e)return Kg(s,n,e)}const g=s.getGCS().getLatestID(),u=n.getGCS().getLatestID();if(g>0&&g===u)return Kg(s,n);const c=new mu(s,n,r);{const e=gu(c);if(e)return e}const _=zg(0,s,n,h,1,!0);return uu(c,Kg(s,n,_.length?_[0]:void 0))}function Kg(e,t,s,n,r){return new eu(1,e,t,s,n,r)}function Qg(){return{flagsMask:0,setFlag(e,t){t?this.flagsMask|=e:this.flagsMask&=~e},hasFlag(e){return 0!==(this.flagsMask&e)}}}function Jg(){return{m_extendedParams:Wg(),m_extendedParamsInternal:Qg()}}function $g(){return Jg()}let eu=class e{constructor(e,s,n,r,i,o){let h,m;this.m_datumTran=null,this.m_bIdentity=!0,this.m_bIdentityGeogToGeog=!0,this.m_bVertical=!1,this.m_bNormalize=!1,s&&n||t("!inputSR || !outputSR"),r&&0===r.getType()&&(r.m_bReadOnly=!0),this.m_bNormalize=!1,1!==e&&(h=s.getVCS(),m=n.getVCS(),this.m_bVertical=null!=h&&null!=m),this.m_inputSR=s,this.m_outputSR=n,this.m_bIdentity=!1,this.m_bIdentityGeogToGeog=!1,a(!this.m_params),i&&(this.m_params=Jg(),this.m_params.m_extendedParams=i),o&&(this.m_params||(this.m_params=Jg()),this.m_params.m_extendedParamsInternal=o);let l=!1;const g=null!=r,u=s.getCoordinateSystemType(),c=n.getCoordinateSystemType();if(n.isPannable()&&0!==u&&i){const e=i.centralMeridianOfOutputGCS;if(!Number.isNaN(e)&&n.isPannable()){const t=n.getPannableExtent(),s=t.getCenterX();if(s!==e){const n=Math.ceil(t.width());e+n!==s+n&&(l=!0)}}}const _=i&&i.normalizeResultGeometry;if(s.equals(n))return this.m_bIdentity=!l,this.m_bIdentityGeogToGeog=!0,void this.updateProjector();const d=!g&&s.equalForProjection(n,this.m_bVertical);this.m_bIdentity=d&&!l,this.m_bIdentity?this.m_bIdentityGeogToGeog=!0:0!==u&&0!==c&&(_&&this.m_outputSR.isPannable()&&(this.m_bNormalize=_),this.m_datumTran=r||null,this.m_bIdentityGeogToGeog=(!this.m_datumTran||0===this.m_datumTran.count())&&this.m_inputSR.getGCS().equalForProjection(this.m_outputSR.getGCS(),this.m_bVertical)),this.updateProjector()}getInputSR(){return this.m_inputSR}getOutputSR(){return this.m_outputSR}getDatumTransformation(){return this.m_datumTran}getInverse(){const t=new e(1,this.m_outputSR,this.m_inputSR,this.m_datumTran?.createInverse());return t.m_bIdentity=this.m_bIdentity,t.m_bVertical=this.m_bVertical,t.m_bIdentityGeogToGeog=this.m_bIdentityGeogToGeog,t.updateProjector(),t}isIdentity(){return this.m_bIdentity}getExtendedParams(){return this.m_params?this.m_params.m_extendedParams:$g().m_extendedParams}equals(e){return a(0),!1}isVertical(){return this.m_bVertical}isMatchingTransformation(e,t){return a(0),!1}getGeographicTransformations(){return this.m_datumTran}getExtendedParamsImpl(){return this.m_params?this.m_params.m_extendedParams:$g().m_extendedParams}getExtendedParamsInternal(){return this.m_params?this.m_params.m_extendedParamsInternal:$g().m_extendedParamsInternal}isIdentityGeogToGeog(){return this.m_bIdentityGeogToGeog}normalizeOutput(){return this.m_bNormalize}updateProjector(){this.m_projector=new Ah(this)}};const tu=new Map,su=new Map,nu=new Map;function ru(e){let t=e.getCode();if(t>0){const e=Iu(t);return e||Cu(Ic.coordsys(t))}const s=e.getName();if(su.has(s)){const t=su.get(s);if(t&&t.deref()){const s=t.deref();if(s.m_peCoordSys.isEqual(e))return s}}return t=Ic.getCode(e),Cu(t>0?Ic.coordsys(t):e)}function iu(e){e<=0&&x(e);{const t=Iu(e);if(t)return t}const t=Hc(Ic.coordsys(e));t.get()||x(e);const s=Cu(t.release());return s.getLatestID()!==e&&tu.set(e,new WeakRef(s)),s}function ou(e){const t=new Bg({},!0);return t.m_WKID=e,t}function au(e){const t=Hc(Ic.fromString(bc.PE_TYPE_COORDSYS,e));return t.get()||C(e),ru(t.release())}function hu(e){su.delete(e.m_peCoordSys.getName()),nu.delete(_l(e.m_peCoordSys,0,!1))}class mu{constructor(e,t,s){this.m_hashCode=-1,e&&(this.m_inputSR=e,this.m_outputSR=t,this.m_env=s.clone(),this.m_hashCode=this.m_inputSR.getHashCode(),this.m_hashCode=je(this.m_hashCode,this.m_outputSR.getHashCode()),this.m_env.isEmpty()||(this.m_hashCode=je(this.m_hashCode,Bt(this.m_env.xmin)),this.m_hashCode=je(this.m_hashCode,Bt(this.m_env.xmax)),this.m_hashCode=je(this.m_hashCode,Bt(this.m_env.ymin)),this.m_hashCode=je(this.m_hashCode,Bt(this.m_env.ymax))))}getHashCode(){return this.m_hashCode}equals(e){return!(this.m_inputSR&&!e.m_inputSR||!this.m_inputSR&&e.m_inputSR)&&(this.m_env.equals(e.m_env)&&this.m_inputSR.equals(e.m_inputSR)&&this.m_outputSR.equals(e.m_outputSR))}clear(){this.m_inputSR=void 0,this.m_outputSR=void 0,this.m_hashCode=-1,this.m_env=void 0}}const lu=new Map;function gu(e){if(lu.has(e.getHashCode()))return lu.get(e.getHashCode())}function uu(e,t){return lu.set(e.getHashCode(),t),t}let cu,_u,du;function pu(){return cu||(cu=Rg(hc(),lc())),cu}function fu(){return _u||(_u=pu().getInverse()),_u}function xu(){return du||(du=Ic.unit(9001)),du}function yu(e){return null!==Hc(Ic.coordsys(e)).get()}const Pu=new Map;function Eu(e){if(Pu.has(e))return Pu.get(e);{const t=yu(e);return Pu.set(e,t),t}}function Su(e){return!1}function Cu(e){const t=Hc(e),s=e.getCode();if(s>0){const e=Iu(s);if(e)return e}const n=e.getName();let r=su.get(n);if(r){const t=r.deref();if(t&&t.m_peCoordSys.isEqual(e))return t}const i=new qg(t.release());if(s>0)return i.setCached(),tu.set(s,new WeakRef(i)),su.set(n,new WeakRef(i)),i;const o=_l(e,0,!1);if(r=nu.get(o),r){const e=r.deref();if(e)return e}return i.setCached(),nu.set(o,new WeakRef(i)),i}function Iu(e){const t=tu.get(e);if(t)return t.deref()}class bu extends ns{constructor(e){return void 0===e?(super(),this.m_wkid=9001,void(this.m_peUnit=null)):"number"==typeof e?(super(),this.m_factor=e,void(this.m_wkid=0)):(super(e),void(e||(this.m_factor=1,this.m_wkid=9001,this.m_peUnit=xu())))}getUnitType(){return 0}convertFromMeters(e){return e/this.getUnitToBaseFactor()}convertToMeters(e){return e*this.getUnitToBaseFactor()}}const wu=["0","1","2","3","4","5","6","7","8","9","b","c","d","e","f","g","h","j","k","m","n","p","q","r","s","t","u","v","w","x","y","z"];function vu(e,t,s){const n=Ke(t,"R");let r=0,i=0;for(let o=0;o<t;o++){let s=e[r]>>i&31;if(i+=5,i>31){const t=37-i;s&=(1<<t)-1,i-=32,r++,s|=(e[r]&(1<<i)-1)<<t}const a=wu[s];n[t-1-o]=a}return s>t?n.push(..."0".repeat(s-t)):s<t&&(n.length=s),n.join("")}function Nu(e,t,s,n,r){a(n>>5<r.length);let i=t,o=s;for(let a=n;a>=0;a-=2){const t=31&a,s=.5*(o+i);e>=s?(r[a>>5]|=1<<t,i=s):o=s}}let Tu=new Set;const Gu=2147483645n,Du=9007199254740990n,Vu="operation is not supported for unknown coordinate systems";var Fu;function Hu(){return{majorSemiAxis:0,e2:0,minorSemiAxis:0,flattening:0,isSphere(){return 0===this.e2}}}function ku(e,t,s){e.majorSemiAxis=t,e.minorSemiAxis=t*(1-s),e.e2=s*(2-s),e.flattening=s}function Au(e){if(Ic)return;Uc(e);const t=Tu;Tu=null,t.forEach((e=>{const t=e.deref();t&&t.attachToPe()}))}function Mu(e){Mc(e)}function Uu(){return!!Ic}function qu(){return!!kc}function Bu(){return!!Ic||!!kc}function Ou(e,t,s){return a(Bu()),dc(e,void 0===t?0:t,null,!1)}function Yu(e,t){a(Bu());const s=new oc;let n;return Uu()?(n=au(e),s.setHorzProj_(n),s.m_vertcs=null,s.m_userWKID=n.getLatestID()):(n=Ac(e),s.m_unit=n.isPCS?new bu(n.metersOrRadiansPerUnit):new os(n.metersOrRadiansPerUnit)),uc(s.m_precisionDescriptor,n,null,1),s.m_bDefaultDescriptor=!0,s.m_userWKT=e,s.calculateHashCode(),s.initDbgName(),s}function Ru(e,t,s,n,r=!0){let i=null;return t&&(i=Fm(t,r)),Xu(e,i,s,n,r)}function Xu(e,s,n,r,i){e||t("!PE_coord_sys");const o=new oc;let a;return a=i?ru(e):new qg(e,!1),uc(o.m_precisionDescriptor,a,s,r),o.m_bDefaultDescriptor=!0,o.setHorzProj_(a),o.m_vertcs=s,o.m_userWKID=a.getLatestID(),o.calculateHashCode(),o.initDbgName(),o}function Lu(e,s,n=!1){3===e.getCoordinateSystemType()&&t("image spatial reference cannot be altered");const r=new oc,i=e;return r.m_peCoordSysVal=i.m_peCoordSysVal,r.m_vertcs=i.m_vertcs,r.m_unit=i.m_unit,r.m_precisionDescriptor.assign(s),r.m_localZToXYFactor=i.m_localZToXYFactor,(Number.isNaN(r.m_precisionDescriptor.m_falseX)||Number.isNaN(r.m_precisionDescriptor.m_falseY))&&(r.m_precisionDescriptor.m_falseX=i.m_precisionDescriptor.m_falseX,r.m_precisionDescriptor.m_falseY=i.m_precisionDescriptor.m_falseY),r.m_precisionDescriptor.snapPrecision(),r.m_precisionDescriptor.fixTolerance(),r.m_userWKID=i.m_userWKID,r.m_precisionDescriptor.equals(i.m_precisionDescriptor)?r.m_bDefaultDescriptor=i.m_bDefaultDescriptor:r.m_bDefaultDescriptor=!1,n&&(r.m_bDefaultDescriptor=!0),r.calculateHashCode(),r.initDbgName(),r}function zu(e,t,s){return{}}function Wu(e,s,n){void 0===s&&(s=1),(s<=0||!Number.isFinite(s))&&t(""),e||1===s||t("null Unit has to have z_to_xy_factor equal to 1");const r=new oc;r.m_unit=e;const i=e||new bu(9001);return _c(r.m_precisionDescriptor,i,null,1),r.m_bDefaultDescriptor=!0,Number.isNaN(r.m_precisionDescriptor.m_falseX)&&t("NAN false X/Y are not allowed here"),r.m_localZToXYFactor=s,r.calculateHashCode(),r.initDbgName(),r}function ju(e,t){return e.snapGeometry(t)}function Zu(e){const t=e.getCoordinateSystemType();return 1===t?e:(3===t&&a(0),e.getGCS())}function Ku(e){return a(Bu()),qu()?Bc(e):Eu(e)}function Qu(e){if(Uu()){return null!==Hc(Ic.fromString(bc.PE_TYPE_COORDSYS,e)).get()}try{return Ac(e),!0}catch(t){}return!1}let Ju;function $u(){return Ju||(Ju=(()=>{const e=Math.trunc(Math.random()*vt()),t=Date.now();return`|abba_000|${e.toString(16)}|${t.toString(16)}|`})()),Ju}!function(e){e[e.utmDefault=0]="utmDefault",e[e.utmNorthSouth=1]="utmNorthSouth"}(Fu||(Fu={}));let ec=0;function tc(e=""){let t=`${$u()}${ec++}`;return""!==e&&(t+=`|${e}`),t}function sc(e){return e.startsWith($u())}let nc,rc,ic,oc=class e{destroy(){hu(this.m_peCoordSysVal),1===this.getCoordinateSystemType()||2===this.getCoordinateSystemType()?this.getPECoordSys().destroy():i("SpatialReference.destroy")}constructor(){this.m_vertcs=null,this.m_peCoordSysVal=null,this.m_userWKID=0,this.m_userWKT=null,this.m_geogSpatialReference=null,this.m_srToGcs=null,this.m_gcsToSr=null,this.m_defaultPrecisionSR=null,this.m_localZToXYFactor=-1,this.m_precisionDescriptor=new ac,this.m_hashCode=0,this.m_bDefaultDescriptor=!1,gc(this.m_precisionDescriptor),Tu&&Tu.add(new WeakRef(this))}attachToPe(){(this.m_userWKID>0?Ou(this.m_userWKID):Yu(this.m_userWKT)).copyTo(this,!1)}copyTo(e,t=!0){(t||e.m_bDefaultDescriptor)&&(e.m_bDefaultDescriptor=this.m_bDefaultDescriptor,e.m_precisionDescriptor.assign(this.m_precisionDescriptor)),e.m_defaultPrecisionSR=null,e.m_gcsToSr=this.m_gcsToSr,e.m_geogSpatialReference=this.m_geogSpatialReference,e.m_hashCode=this.m_hashCode,e.m_localZToXYFactor=this.m_localZToXYFactor,e.m_peCoordSysVal=this.m_peCoordSysVal,e.m_srToGcs=this.m_srToGcs,e.m_userWKID=this.m_userWKID,e.m_userWKT=this.m_userWKT,e.m_vertcs=this.m_vertcs,e.m_unit=this.m_unit}getHashCode(){return this.m_hashCode}getHashCodeHorizontal(){let e=0;return e=this.m_peCoordSysVal?this.m_peCoordSysVal.getHashCode():this.m_unit?this.m_unit.getHashCode():305419891,e}updateTransform(e){if(1===this.getCoordinateSystemType())return Rg(this,this,null);let t=e?this.m_srToGcs:this.m_gcsToSr;if(t)return t;const s=this.getGCS(),n=this;t=e?Rg(n,s,null):Rg(s,n,null);const r=t,i=e?this.m_srToGcs:this.m_gcsToSr;return i||(e?this.m_srToGcs=r:this.m_gcsToSr=r,t)}getHashCodeVertical(){return this.m_vertcs?this.m_vertcs.getHashCode():0}calculateHashCode(){let e=this.getHashCodeHorizontal();const t=this.getHashCodeVertical(),s=this.m_precisionDescriptor.getHashCode();e=je(e,t),this.m_hashCode=je(e,s)}initDbgName(){}setHorzProj_(e){this.m_peCoordSysVal=e,this.m_unit=this.m_peCoordSysVal.getUnit()}getTolerance(e=0){return this.m_precisionDescriptor.getTolerance(e)}getResolution(e=0){return this.m_precisionDescriptor.getResolution(e)}getPECoordSys(){return this.m_peCoordSysVal?this.m_peCoordSysVal.m_peCoordSys:null}getPCSInfo(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPCSInfo()}getCentralMeridian(){if(this.throwIfNotGCSOrPCS(),1===this.getCoordinateSystemType())return 0;return this.getPCSInfo().getCentralMeridian()}getCoordinateSystemType(){const e=this.getPECoordSys();if(e){switch(e.getType()){case bc.PE_TYPE_GEOGCS:return 1;case bc.PE_TYPE_PROJCS:return 2;default:return 0}}else{if((this.m_userWKID>0||this.m_userWKT)&&this.m_unit instanceof bu)return 2;if(this.m_unit instanceof os)return 1}return 0}getID(){return this.m_userWKID}getLatestID(){return this.m_peCoordSysVal?this.m_peCoordSysVal.getLatestID():this.m_userWKID}getOldID(){return this.m_peCoordSysVal?this.m_peCoordSysVal.getOldID():this.m_userWKID}getVerticalID(){return u("vcs not implemented"),0}getLatestVerticalID(){return this.m_vertcs?this.m_vertcs.getLatestID():0}getOldVerticalID(){return u("vcs not implemented"),0}getPEVerticalCoordSys(){return null}getPole(e){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPole(e)}getText(){const e=this.getPECoordSys();return e?pl(e):this.m_userWKT??""}getTextExtended(e){const t=this.getPECoordSys();return t?this.getPEVerticalCoordSys()?dl(null,t,this.getPEVerticalCoordSys()):pl(t,e):this.m_userWKT??""}getText2(e=-1){const t=this.getPECoordSys();return t?fl(t,e):this.m_userWKT??""}getUnit(){return this.m_unit}getUnitsPerMillimeter(){return this.m_peCoordSysVal?this.m_peCoordSysVal.getUnitsPerMillimeter():this.m_unit instanceof bu?.001/this.m_unit.getUnitToBaseFactor():this.m_unit instanceof os?.001/(Ac(this.m_userWKT??this.m_userWKID).semiMajor*this.m_unit.getUnitToBaseFactor()):(c("sr object not in valid state"),0)}getAuthorityName(){return this.getPECoordSys()?xl():""}getVerticalUnit(){return u("vcs not implemented"),{}}getVCS(){return this.m_vertcs}hasVCS(){return!1}getGCSHorisonIsInclusive(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getGCSHorisonIsInclusive()}getGCSHorizon(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getGCSHorizon()}getGCS(){const e=this.getCoordinateSystemType();if(0===e)c(Vu);else{if(1===e)return this;3===e&&c("image cs not supported")}if(this.m_geogSpatialReference)return this.m_geogSpatialReference;let t;if(this===hc()||this===mc())t=lc();else{a(this.m_peCoordSysVal);const e=this.m_peCoordSysVal.m_peCoordSys.getGeogcs();e||i(""),t=Ru(e,this.m_vertcs,null,this.m_precisionDescriptor.getPrecision(),this.m_peCoordSysVal.getCached())}return this.m_geogSpatialReference?t=this.m_geogSpatialReference:this.m_geogSpatialReference=t,t}getGCSSplitLines(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getGCSSplitLines()}toGCS(e,s){if(0===e.length)return 0;e.length>s.length&&t("coordsSrc.size() > coordsDst.size()");const n=this.getCoordinateSystemType();if(0===n&&c(Vu),1===n)return et(s,e,e.length),e.length;a(this.m_peCoordSysVal);const r=this.getSRToGCSTransform();return(new qh).transform(r,e,e.length,s)}toGeohash(e,t=8){const s=e.clone();s.scale(9102===this.getGCS().getUnit().getID()?1:this.getGCS().getUnit().getUnitToBaseFactor()/Math.PI*180),s.x<-180?(s.x=tt(s.x,360),s.x<-180&&(s.x+=360)):s.x>180&&(s.x=tt(s.x,360),s.x>180&&(s.x-=360)),s.y>90&&(s.y=90),s.y<-90&&(s.y=-90);const n=5*t,r=new Uint32Array(4);Nu(s.x,-180,180,n-1,r),Nu(s.y,-90,90,n-2,r);return vu(r,t,t)}isPannable(){const e=this.getCoordinateSystemType();return 0!==e&&3!==e&&(a(this.m_peCoordSysVal),this.m_peCoordSysVal.isPannable())}getPannableExtent(){return this.isPannable()||t("!is_pannable"),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPannableExtent()}getPannableExtentInGCS(){return this.isPannable()||t("!is_pannable"),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPannableExtentGCS()}throwIfNotGCSOrPCS(){const e=this.getCoordinateSystemType();1!==e&&2!==e&&t("Not a GCS or PCS")}getDomainXY(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getDomainXY()}getFullWorldExtent(){return this.throwIfNotGCSOrPCS(),this.isPannable()?this.getPannableExtent():this.getDomainXY()}queryPrecisionDescriptor(e){if(e.assign(this.m_precisionDescriptor),Number.isNaN(e.m_falseX))if(Uu()||_("cannot query precision descriptor"),a(null!==this.m_peCoordSysVal),2!==this.m_precisionDescriptor.m_precision){const t=this.m_peCoordSysVal.getDomainXY();e.m_falseX=t.xmin,e.m_falseY=t.ymin}else e.m_falseX=-Number.MAX_VALUE,e.m_falseY=-Number.MAX_VALUE}queryPrecisionDescriptorWithoutFalseXY(e){e.assign(this.m_precisionDescriptor),e.m_falseX=Number.NaN,e.m_falseY=Number.NaN}queryDefaultPrecisionDescriptorWithoutFalseXY(e){if(this.m_bDefaultDescriptor)e.assign(this.m_precisionDescriptor);else{const t=this.getCoordinateSystemType();0===t?_c(e,this.m_unit,this.m_vertcs,this.m_precisionDescriptor.getPrecision()):3===t?u("image cs"):uc(e,this.m_peCoordSysVal,this.m_vertcs,this.m_precisionDescriptor.getPrecision())}e.m_falseX=Number.NaN,e.m_falseY=Number.NaN}horizontalEqual(e){return Mg(this.m_peCoordSysVal,e.m_peCoordSysVal)}verticalEqual(e){return null!==this.m_vertcs==(null!==e.m_vertcs)&&(!this.m_vertcs||this.m_vertcs.equals(e.m_vertcs))}equals(e){const t=e;if(this===t)return!0;if(!this.horizontalEqual(t)||!this.verticalEqual(t))return!1;if(!t.m_peCoordSysVal){if(a(!this.m_peCoordSysVal),null!==this.m_unit!=(null!==t.m_unit))return!1;if(this.m_unit&&!this.m_unit.equals(t.m_unit))return!1;if(this.m_localZToXYFactor!==t.m_localZToXYFactor)return!1}if(!this.m_bDefaultDescriptor||!t.m_bDefaultDescriptor){if(this.m_peCoordSysVal){if(!this.m_precisionDescriptor.equalsWithoutFalseXY(t.m_precisionDescriptor))return!1;a(t.m_peCoordSysVal);let e=this.m_precisionDescriptor.m_falseX,s=this.m_precisionDescriptor.m_falseY;if(Number.isNaN(e)){const t=this.m_peCoordSysVal.getDomainXY();e=t.xmin,s=t.ymin}let n=t.m_precisionDescriptor.m_falseX,r=t.m_precisionDescriptor.m_falseY;if(Number.isNaN(n)){const e=t.m_peCoordSysVal.getDomainXY();n=e.xmin,r=e.ymin}return e===n&&s===r}return this.m_precisionDescriptor.equals(t.m_precisionDescriptor)}return!0}equalForProjection(e,t){if(this===e)return!0;const s=this.getCoordinateSystemType(),n=e.getCoordinateSystemType();if(0===s||0===n)return 0===s&&0===n?(!t||this.getZToXYFactor()===e.getZToXYFactor())&&(!this.getUnit()||!e.getUnit()||this.getUnit().equals(e.getUnit())):3!==s&&3!==n&&(null===this.getUnit()||null===e.getUnit()||(!t||this.getZToXYFactor()===e.getZToXYFactor())&&this.getUnit().equals(e.getUnit()));if(s!==n)return!1;if(3===s)return this.equals(e);if(Ug(this.m_peCoordSysVal,e.m_peCoordSysVal)){if(!t)return!0;if(null!==this.m_vertcs==(null!==e.m_vertcs))return!this.m_vertcs||this.m_vertcs.equalForProjection(e.m_vertcs)}return!1}equalHorizontal(e){return this.horizontalEqual(e)}equalVertical(e){return a(0),!1}equalVerticalVCS(e){return a(0),!1}convergenceAngle(e){return a(0),0}getPeCoordsysCopy(){if(this.m_peCoordSysVal){const e=this.m_peCoordSysVal.m_peCoordSys;return e||i("cannot clone coord sys"),e}return null}getPeVertcsCopy(){return a(0),0}throwIfLocal(){0===this.getCoordinateSystemType()&&t(Vu)}getPrimeMeridian(){return this.throwIfLocal(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPrimeMeridian()}getSRToGCSTransform(){return this.updateTransform(!0)}getGCSToSRTransform(){return this.updateTransform(!1)}getOneMeter(){return 1e3*this.getUnitsPerMillimeter()}getOneMeterPCSUnit(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getOneMeterPCSUnit()}getDefaultPrecisionSR(){if(this.m_bDefaultDescriptor)return this;if(null===this.m_defaultPrecisionSR){const e=new ac;this.queryDefaultPrecisionDescriptorWithoutFalseXY(e),this.m_defaultPrecisionSR=Lu(this,e,!0)}return this.m_defaultPrecisionSR}getPCSHorizon(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getPCSHorizon()}getHorzUnitFactor(){return this.m_unit?this.m_unit.getUnitToBaseFactor():1}querySpheroidData(e){this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal);const t=this.getGCS().getPECoordSys().getDatum().getSpheroid(),s=t.getFlattening();ku(e,t.getAxis(),s)}getAreaOfUse(){0===this.getCoordinateSystemType()&&c(""),a(this.m_peCoordSysVal);const e=this.m_peCoordSysVal.getAreaOfUse();return null===e?new ss:new ss({geom:e.clone(),sr:Ou(4326)})}getZToXYFactor(){return 1}isCustomWkid(){return!1}getOneDegreeGCSUnit(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getOneDegreeGCSUnit()}getGcsUnitFactor(){return this.throwIfNotGCSOrPCS(),a(this.m_peCoordSysVal),this.m_peCoordSysVal.getGcsUnitFactor()}snapGeometry(e){if(e.isEmpty())return!1;if(2===this.m_precisionDescriptor.getPrecision())return!1;const t=e.getGeometryType();if(d(t))return this.snapMultiVertex_(e);if(t===n.enumPoint)return this.snapPoint_(e);if(t===n.enumEnvelope)return this.snapEnvelope_(e);if(r(t))return this.snapSegment_(e);if(t===n.enumGeometryCollection){const t=e;let s=!1;for(let e=0,n=t.getGeometryCount();e<n;++e)s=this.snapGeometry(t.getGeometry(e))||s;return s}i("what else?")}snapMultiVertex_(e){if(a(!e.isEmpty()),a(2!==this.m_precisionDescriptor.getPrecision()),o(e.getGeometryType())){const t=e;if(t.hasNonLinearSegments())return this.snapGeometryWithCurves_(t)}const t=e.getImpl(),s=t.getDescription();let n=!1;for(let r=0,i=s.getAttributeCount();r<i;r++){const e=s.getSemantics(r),i=t.getAttributeStreamRef(e);n=this.snapAttributes(e,i,0,t.getPointCount())||n}return n&&t.notifyModifiedFlags(2001),n}snapPoint_(e){return!1}snapEnvelope_(e){return!1}snapSegment_(e){a(!e.isEmpty()),a(2!==this.m_precisionDescriptor.getPrecision());const t=new ac;this.queryPrecisionDescriptor(t);const s=e.getStartXY(),n=new Qe;n.x=pc(s.x,t.getFalseX(),t.getGridUnitsXY()),n.y=pc(s.y,t.getFalseY(),t.getGridUnitsXY());let r=!n.equals(s);const i=e.getEndXY(),o=new Qe;o.x=pc(i.x,t.getFalseX(),t.getGridUnitsXY()),o.y=pc(i.y,t.getFalseY(),t.getGridUnitsXY()),r||=!o.equals(i),r&&e.changeEndPoints2D(n,o);const h=(t,s,n)=>{let r=!1;{const i=e.getStartAttributeAsDbl(t,0),o=pc(i,s,n),a=!st(o,i);r||=a,a&&e.setStartAttribute(t,0,o)}{const i=e.getEndAttributeAsDbl(t,0),o=pc(i,s,n),a=!st(o,i);r||=a,a&&e.setEndAttribute(t,0,o)}return r};let m=r?1:0;return e.hasAttribute(1)&&(m|=h(1,t.getFalseZ(),t.getGridUnitsZ())?1:0),e.hasAttribute(2)&&(m|=h(2,t.getFalseM(),t.getGridUnitsM())?1:0),!!m}snapGeometryWithCurves_(e){a(!e.isEmpty()),a(2!==this.m_precisionDescriptor.getPrecision());const t=e.createInstance(),s=new F;let n=0;for(let r=0,i=e.getPathCount();r<i;++r){const i=e.getSegmentCountPath(r);if(0===i){if(t.addPath(e,r,!0),1===t.getPathSize(r)){const e=new fe;t.getPointByVal(t.getPointCount()-1,e),n|=this.snapGeometry(e)?1:0,t.setPointByVal(t.getPointCount()-1,e)}continue}const o=e.isClosedPath(r);for(let a=0,h=o?i-1:i;a<h;++a)e.getSegmentFromPath(r,a,s,!1),n|=this.snapGeometry(s.get())?1:0,t.addSegment(s.get(),0===a);o&&(e.getSegmentFromPath(r,i-1,s,!1),n|=this.snapGeometry(s.get())?1:0,1===i?t.addPathFromClosedSegment(s.get(),!1):t.closeLastPathWithSegment(s.get()))}return n&&t.copyTo(e),!!n}snapAttributes(t,s,n,r){let i=!1;const o=new ac;if(this.queryPrecisionDescriptor(o),0===t){const t=s;for(let s=n;s<r;s++){const n=t.read(2*s),r=e.s_SnapValue(n,o.getFalseX(),o.getGridUnitsXY()),a=t.read(2*s+1),h=e.s_SnapValue(a,o.getFalseY(),o.getGridUnitsXY());i=i||r!==n||h!==a,i&&(t.write(2*s,r),t.write(2*s+1,h))}}else if(1===t){const t=s;for(let s=n;s<r;s++){const n=t.read(s),r=e.s_SnapValue(n,o.getFalseZ(),o.getGridUnitsZ());i=i||!st(r,n),i&&t.write(s,r)}}else if(2===t){const t=s;for(let s=n;s<r;s++){const n=t.read(s),r=e.s_SnapValue(n,o.getFalseM(),o.getGridUnitsM());i=i||!st(r,n),i&&t.write(s,r)}}return i}static s_SnapValue(e,t,s){return nt((e-t)*s)/s+t}};class ac{constructor(){const e=Du,t=1e-4,s=.001,n=t*Number(e)*.5;this.m_precision=1,this.m_falseX=-n,this.m_falseY=-n,this.m_unitsXY=Number(e)/(2*n),this.m_falseM=-1e5,this.m_unitsM=1/t,this.m_falseZ=-1e5,this.m_unitsZ=1/t,this.m_toleranceXY=s,this.m_toleranceM=s,this.m_toleranceZ=s}getHashCode(){let e=7777,t=7777;return t=je(t,this.m_falseM),t=je(t,this.m_unitsM),e=je(e,this.m_unitsXY),t=je(t,this.m_toleranceXY),e=je(e,this.m_falseZ),t=je(t,this.m_toleranceZ),e=je(e,this.m_unitsZ),t=je(t,this.m_toleranceM),e=je(e,this.m_precision),je(e,t)}clone(){const e=new ac;return e.m_falseX=this.m_falseX,e.m_falseY=this.m_falseY,e.m_unitsXY=this.m_unitsXY,e.m_falseZ=this.m_falseZ,e.m_unitsZ=this.m_unitsZ,e.m_falseM=this.m_falseM,e.m_unitsM=this.m_unitsM,e.m_toleranceXY=this.m_toleranceXY,e.m_toleranceZ=this.m_toleranceZ,e.m_toleranceM=this.m_toleranceM,e.m_precision=this.m_precision,e}assign(e){return this.m_falseX=e.m_falseX,this.m_falseY=e.m_falseY,this.m_unitsXY=e.m_unitsXY,this.m_falseZ=e.m_falseZ,this.m_unitsZ=e.m_unitsZ,this.m_falseM=e.m_falseM,this.m_unitsM=e.m_unitsM,this.m_toleranceXY=e.m_toleranceXY,this.m_toleranceZ=e.m_toleranceZ,this.m_toleranceM=e.m_toleranceM,this.m_precision=e.m_precision,this}initialize2D(e,t){}getTolerance(e){switch(e){case 0:return this.m_toleranceXY;case 1:return this.m_toleranceZ;case 2:return this.m_toleranceM;default:return 0}}getResolution(e){if(2===this.m_precision)return 0;switch(e){case 0:return 1/this.m_unitsXY;case 1:return 1/this.m_unitsZ;case 2:return 1/this.m_unitsM;default:return 0}}getFalseX(){return this.m_falseX}getFalseY(){return this.m_falseY}getFalseZ(){return this.m_falseZ}getFalseM(){return this.m_falseM}getGridUnitsXY(){return this.m_unitsXY}getGridUnitsZ(){return this.m_unitsZ}getGridUnitsM(){return this.m_unitsM}getPrecision(){return this.m_precision}static getLimit32(){return 2147483645}static getLimit64(){return 9007199254740990n}static getLimitFloat(){return 0}getXYGridRange(){const t=new e;switch(this.m_precision){case 0:{const e=ac.getLimit32()/this.getGridUnitsXY();t.setCoords({xmin:this.getFalseX(),ymin:this.getFalseY(),xmax:this.getFalseX()+e,ymax:this.getFalseY()+e})}break;case 1:{const e=Number(ac.getLimit64())/this.getGridUnitsXY();t.setCoords({xmin:this.getFalseX(),ymin:this.getFalseY(),xmax:this.getFalseX()+e,ymax:this.getFalseY()+e})}break;case 2:t.setCoords({xmin:-Number.MAX_VALUE,ymin:-Number.MAX_VALUE,xmax:Number.MAX_VALUE,ymax:Number.MAX_VALUE});break;default:t.setEmpty(),i("")}return t}getZGridRange(){const e=new at;switch(this.m_precision){case 0:{const t=ac.getLimit32()/this.getGridUnitsZ();e.setCoords(this.getFalseZ(),this.getFalseZ()+t)}break;case 1:{const t=Number(ac.getLimit64())/this.getGridUnitsZ();e.setCoords(this.getFalseZ(),this.getFalseZ()+t)}break;case 2:e.setCoords(-Number.MAX_VALUE,Number.MAX_VALUE);break;default:e.setEmpty(),i("")}return e}getMGridRange(){const e=new at;switch(this.m_precision){case 0:{const t=ac.getLimit32()/this.getGridUnitsM();e.setCoords(this.getFalseM(),this.getFalseM()+t)}break;case 1:{const t=Number(ac.getLimit64())/this.getGridUnitsM();e.setCoords(this.getFalseM(),this.getFalseM()+t)}break;case 2:e.setCoords(-Number.MAX_VALUE,Number.MAX_VALUE);break;default:e.setEmpty(),i("")}return e}setTolerance(e,s){switch(s<0&&t("tol < 0"),Number.isFinite(s)||t("tol is not finite"),e){case 0:this.m_toleranceXY=s;break;case 1:this.m_toleranceZ=s;break;case 2:this.m_toleranceM=s;break;default:t("cannot set tolerance for this attribute")}}setGridParams(e,s,n){Number.isFinite(e)&&Number.isFinite(s)&&Number.isFinite(n)||t("grid params are not finite"),n<1&&t("grid units cannot be smaller than 1.0"),this.m_falseX=e,this.m_falseY=s,this.m_unitsXY=n}setZParams(e,s){Number.isFinite(e)&&Number.isFinite(s)||t("grid params are not finite"),s<1&&t("grid units cannot be smaller than 1.0"),this.m_falseZ=e,this.m_unitsZ=s}setMParams(e,s){Number.isFinite(e)&&Number.isFinite(s)||t("grid params are not finite"),s<1&&t("grid units cannot be smaller than 1.0"),this.m_falseM=e,this.m_unitsM=s}setPrecision(e){}equals(e){return this===e||st(this.m_falseX,e.m_falseX)&&st(this.m_falseY,e.m_falseY)&&this.equalsWithoutFalseXY(e)}snapPrecision(){if(2===this.m_precision)return;const e=(e,t,s,n)=>{if(!Number.isFinite(t)||!Number.isFinite(s))return s;if(s<1)return 1;if(!n)return s;const r=Number(e)/s;return Math.trunc((t+r-t)*s)>e&&(s=e/(t+r-t)),Math.max(1,s)},t=Number(0===this.m_precision?Gu:Du);this.m_unitsXY=e(t,this.m_falseX,this.m_unitsXY,!0),this.m_unitsXY=e(t,this.m_falseY,this.m_unitsXY,!0),this.m_unitsZ=e(t,this.m_falseZ,this.m_unitsZ,!1),this.m_unitsM=e(t,this.m_falseM,this.m_unitsM,!1)}verifyPrecision(){if(2===this.m_precision)return!0;const e=(e,t,s,n)=>{if(s<1)return!1;if(!Number.isFinite(t)||!Number.isFinite(s))return!1;if(!n)return!0;const r=Number(e)/s;return!(BigInt((t+r-t)*s)>e)},t=0===this.m_precision?Gu:Du;return!!e(t,this.m_falseX,this.m_unitsXY,!0)&&(!!e(t,this.m_falseY,this.m_unitsXY,!0)&&(!!e(t,this.m_falseZ,this.m_unitsZ,!1)&&!!e(t,this.m_falseM,this.m_unitsM,!1)))}fixTolerance(){2!==this.m_precision&&(this.m_toleranceXY=Math.max(2/this.m_unitsXY,this.m_toleranceXY),this.m_toleranceZ=Math.max(2/this.m_unitsZ,this.m_toleranceZ),this.m_toleranceM=Math.max(2/this.m_unitsM,this.m_toleranceM),(Number.isNaN(this.m_falseX)||Number.isNaN(this.m_falseY))&&(this.m_falseX=this.m_falseY=Number.NaN))}equalsWithoutFalseXY(e){return this===e||this.m_unitsXY===e.m_unitsXY&&this.m_falseZ===e.m_falseZ&&this.m_unitsZ===e.m_unitsZ&&this.m_falseM===e.m_falseM&&this.m_unitsM===e.m_unitsM&&this.m_toleranceXY===e.m_toleranceXY&&this.m_toleranceZ===e.m_toleranceZ&&this.m_toleranceM===e.m_toleranceM&&this.m_precision===e.m_precision}setBestXyDomainFromEnvelope(e,t){}setBestZDomainFromZRange(e,t,s){}setBestMDomainFromMRange(e,t,s){}}function hc(){return(!nc||Uu()&&null===nc.getPECoordSys())&&(nc=dc(3857,0,null,!0)),nc}function mc(){return(!rc||Uu()&&null===rc.getPECoordSys())&&(rc=dc(102100,0,null,!0)),rc}function lc(){return(!ic||Uu()&&null===ic.getPECoordSys())&&(ic=dc(4326,0,null,!0)),ic}function gc(e){e.m_falseX=0,e.m_falseY=0,e.m_unitsXY=1,e.m_falseZ=0,e.m_unitsZ=1,e.m_falseM=0,e.m_unitsM=1,e.m_toleranceXY=100*ht(),e.m_toleranceZ=100*ht(),e.m_toleranceM=100*ht(),e.m_precision=2}function uc(e,s,n,r){const i=s instanceof qg;gc(e),e.m_precision=r,e.m_falseX=Number.NaN,e.m_falseY=Number.NaN;const o=1e-4,a=.001,h=i?s.m_csType:s.isPCS?2:1;if(1===h){const t=(0===r?1/18e5:1e-9)*(i?s.getOneDegreeGCSUnit():Math.PI/s.metersOrRadiansPerUnit/180);e.m_unitsXY=1/t}else if(2===h){const t=(0===r?a:o)*(i?s.getOneMeterPCSUnit():1/s.metersOrRadiansPerUnit);e.m_unitsXY=1/t}else t("unrecognized cs type");e.m_falseM=-1e5,e.m_unitsM=1/(0===r?a:o),e.m_unitsM=Math.max(1,e.m_unitsM),e.m_unitsXY=Math.max(1,e.m_unitsXY);let m=0,l=0;0!==r&&1!==r||(m=2/e.m_unitsXY,l=2/e.m_unitsM),e.m_toleranceXY=Math.max(m,i?s.getUnitsPerMillimeter():2===h?.001/s.metersOrRadiansPerUnit:.001/(s.semiMajor*s.metersOrRadiansPerUnit)),e.m_toleranceM=Math.max(a,l),cc(e,n)}function cc(e,t){const s=1e-4,n=.001;if(e.m_falseZ=-1e5,t){const r=(0===e.m_precision?n:s)*t.getOneMeter();e.m_unitsZ=1/r}else e.m_unitsZ=1/(0===e.m_precision?n:s);e.m_unitsZ=Math.max(1,e.m_unitsZ);let r=0;0!==e.m_precision&&1!==e.m_precision||(r=2/e.m_unitsZ),e.m_toleranceZ=Math.max(t?t.getOneMeter()*n:n,r)}function _c(e,t,s,n){gc(e),e.m_precision=n;const r=0===n?Gu:Du,i=1e-4,o=.001;let a=1,h=1,m=.001;t&&(h=t.getUnitToBaseFactor()),t&&1===t.getUnitType()?(a=400*Math.PI/180,m=8.983152841195215e-9*Math.PI/180/h):(a=(0===n?o:i)*Number(r)*.5,m=o/h),a/=h,e.m_falseX=-a,e.m_falseY=-a,e.m_unitsXY=Number(r)/(2*a),e.m_falseM=-1e5,e.m_unitsM=1/(0===n?o:i),e.m_unitsM=Math.max(1,e.m_unitsM),e.snapPrecision();let l=0,g=0;0!==e.m_precision&&1!==e.m_precision||(g=2/e.m_unitsM,l=2/e.m_unitsXY),e.m_toleranceXY=Math.max(l,m),e.m_toleranceM=Math.max(o,g),cc(e,s)}function dc(e,t,s,n){if(!n&&t<=0){if(3857===e)return hc();if(102100===e)return mc();if(4326===e)return lc()}const r=new oc;let i,o=null;return Uu()?(i=iu(e),t>0?o=null:t=0,r.setHorzProj_(i),r.m_vertcs=o):(i=Ac(e),r.m_unit=i.isPCS?new bu(i.metersOrRadiansPerUnit):new os(i.metersOrRadiansPerUnit)),uc(r.m_precisionDescriptor,i,o,1),r.m_bDefaultDescriptor=!0,r.m_userWKID=e,r.calculateHashCode(),r.initDbgName(),r}function pc(e,t,s){return nt((e-t)*s)/s+t}let fc=null;const xc=3552713678800501e-30;function yc(e,t,s){return e===t||Math.abs(e-t)<=s*(1+(Math.abs(e)+Math.abs(t))/2)}function Pc(e,t){return yc(e,t,xc)}function Ec(e,t){return 0===e||Math.abs(e)<=t}function Sc(e){return Ec(e,xc)}let Cc,Ic,bc,wc,vc,Nc,Tc,Gc,Dc,Vc,Fc;function Hc(e){return{_this:e,get(){return this._this},reset(e){this._this=e},release(){const e=this._this;return this._this=null,e}}}let kc=null;function Ac(e){a(kc);const t=kc(e);return t.semiMajor=t.isPCS?Number.NaN:Rc(e),t}function Mc(e){kc=e,a(kc)}function Uc(e){const t=e;Ic=t.PeFactory,a(Ic),Fc=t.PeGCSExtent,a(Fc),Dc=t.PeLineType,a(Dc),Vc=t.PeMath,a(Vc),Cc=t.PeDouble,a(Cc),bc=t.PeDefs,a(bc),wc=t.PeCSTransformations,a(wc),vc=t.PeGTTransformations,a(vc),Nc=t.PePCSInfo,a(Nc),Tc=t.PeGTlistExtended,a(Tc),Ic.initialize(),Gc=t.PeGTlistExtendedEntry,a(Gc),bc.PE_TYPE_ANGUNIT=512,bc.PE_STR_AUTH_ALL=2,Nc.PE_POLE_LINE_STRAIGHT=2,Nc.PE_POLE_LINE_CURVED=3,bc.PE_PARM_LAM0=2,bc.PE_PARM_PHI0=6,bc.PE_PRJ_AZIMUTHAL_EQUIDISTANT=43032,bc.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA=43033,bc.PE_PRJ_ALBERS=43007,bc.PE_PRJ_CYLINDRICAL_EQAREA=43034,bc.PE_TYPE_VERTCS=8,bc.PE_LINETYPE_GEODESIC=0,bc.PE_LINETYPE_LOXODROME=1,bc.PE_LINETYPE_GREAT_ELLIPTIC=2,bc.PE_LINETYPE_NORMAL_SECTION=3,Tc.PE_GTLIST_OPTS_USABLE=1,kc=null}function qc(e,t,s,n){return t<=0?(s[0]=0,n[0]=0,!1):(s[0]=t,n[0]=t,!0)}function Bc(e){a(qu());return!!kc(e).isPCS||Oc(e)}function Oc(e){return Ic&&c("pe has been loaded. no-pe methods should not be used at this point."),fc||Xc(),fc.has(e)}const Yc=/(?:ELLIPSOID|SPHEROID)\["(?:\w|[-()])+",(\d+\.\d+)/;function Rc(e){if(Ic&&c("pe has been loaded. no-pe methods should not be used at this point."),"string"==typeof e){const s=e.match(Yc);s&&2===s.length||t("bad gcs wkt");const n=Number.parseFloat(s[1]);return Number.isFinite(n)||t("bad gcs wkt"),n}return fc||Xc(),fc.has(e)||c("gcs wkid not found"),fc.get(e)}function Xc(){fc=new Map;for(const e in rs){const t=Number.parseFloat(e),s=rs[e];if(Array.isArray(s))for(const e of s)fc.set(e,t);else fc.set(s,t)}is()}function Lc(e,t){const s=Ic.geogtran(e);s||x(e);return new Kc(s,t)}function zc(e,t){const s=Ic.fromString(bc.PE_TYPE_GEOGTRAN,e);s||C(e);return new Kc(s,t)}function Wc(e,t){return new Kc(e,t)}const jc=Ze(0),Zc=Ze(1);let Kc=class e{constructor(t,s){if(t instanceof e)return this.m_geogTranWrapper=t.m_geogTranWrapper,this.m_bInverted=s?!t.m_bInverted:t.m_bInverted,void(this.m_hashCode=je(this.m_geogTranWrapper.getHashCode(),this.m_bInverted?Zc:jc));this.m_geogTranWrapper=new Um(t),this.m_bInverted=s,this.m_hashCode=je(this.m_geogTranWrapper.getHashCode(),this.m_bInverted?Zc:jc)}getID(){return this.m_geogTranWrapper.getLatestId()}getLatestID(){return this.m_geogTranWrapper.getLatestId()}getText(){return this.m_geogTranWrapper.getText()}getTextExtended(e){if(!this.m_geogTranWrapper.getGeogtran())return"";if(-1===e)return this.m_geogTranWrapper.getGeogtran().toString();{const t=0===e?bc.PE_STR_AUTH_TOP:bc.PE_STR_AUTH_ALL;return this.m_geogTranWrapper.getGeogtran().toString(t)}}getText2(e=-1){let t=bc.PE_STR_FMT_WKT2;return-1!==e&&(t|=0===e?bc.PE_STR_AUTH_TOP:bc.PE_STR_AUTH_ALL),this.m_geogTranWrapper.getGeogtran().toString(t)}getName(){return this.m_geogTranWrapper&&this.m_geogTranWrapper.getGeogtran()?this.m_geogTranWrapper.getGeogtran().getName():""}getInputSpatialReference(){return this.m_bInverted?this.m_geogTranWrapper.getOutputSr(!1):this.m_geogTranWrapper.getInputSr(!1)}getOutputSpatialReference(){return this.m_bInverted?this.m_geogTranWrapper.getInputSr(!1):this.m_geogTranWrapper.getOutputSr(!1)}getInverse(){return new e(this,!0)}isInverted(){return this.m_bInverted}getHashCode(){return this.m_hashCode}GetPeGeogtran(){return this.m_geogTranWrapper.getGeogtran()}equals(e){const t=e;return t===this||this.m_bInverted===t.m_bInverted&&(this.GetPeGeogtran()===t.GetPeGeogtran()||this.getID()===t.getID()&&!(0===this.getID()&&!this.GetPeGeogtran().isEqual(t.GetPeGeogtran())))}referencesMissingData(){return!!this.m_geogTranWrapper&&!this.m_geogTranWrapper.isUsable()}getWrapper(){return this.m_geogTranWrapper}};function Qc(e,t,s,n,r){const i=e.getGCS(),o=t.getGCS(),h=i.getPECoordSys(),m=o.getPECoordSys();let l=null;if(!s.isEmpty()){const t=s.clone();if(!t.isEmpty()&&2===e.getCoordinateSystemType()){let s=new pe({env2D:t});const n=Rg(e,i,null);s=(new qh).execute(s,n,null),s.queryEnvelope(t)}if(!t.isEmpty()){const e=h.getPrimem().getLongitude(),s=h.getUnit().getUnitFactor();l=new Fc(t.xmin,t.ymin,t.xmax,t.ymax,e,s)}}let g=n;g>=vt()&&(g=0);const u=[];let c=Tc.PE_GTLIST_OPTS_COMMON;r||(c&=~Tc.PE_GTLIST_OPTS_USABLE);for(let _=0;_<2;_++){u.length=0;const e=g,t=Tc.getGTlist(h,m,2,c,l,e);let s=!1;if(t&&t.length>0)for(let i=0,o=t.length;i<o;i++){const e=Jc([t[i]]);if(a(e),r&&e.referencesMissingData())s=!0;else if(u.push(e),n>0&&u.length===n)break}if(!s)break;0===g||(g=0)}return l&&l.destroy(),u}function Jc(e){a(null!==e);const t=new e_,s=e[0].getSteps();if(s){const n=e[0].getEntries();for(let e=0;e<s;e++){const s=0!==n[e].getDirection(),r=Wc(n[e].getGeogtran(),s);t.add(r)}return t.create()}return null}let $c=class{constructor(e,t,s,n){this.m_bReadOnly=!0,this.m_name="",this.m_fastTrack=-1,this.m_bNameIsSet=!1,this.m_transforms=e,t&&(this.m_name=t,this.m_bNameIsSet=!0),this.m_inputSr=s,this.m_outputSr=n}getType(){return 0}getName(){if(this.m_bNameIsSet)return this.m_name;if(0===this.m_transforms.length)return"";let e="";for(const t of this.m_transforms)e.length>0&&(e+=" + "),t.isInverted()&&(e+="~"),e+=t.getName();return e}count(){return this.m_transforms.length}createInverse(){return this.getInverse()}getHashCode(){let e=1973;for(let t=0;t<this.m_transforms.length;t++)e=je(e,this.m_transforms[t].getHashCode());return e}equals(e){return a(0),!1}referencesMissingData(){if(0===this.m_transforms.length)return!1;for(const e of this.m_transforms)if(e.referencesMissingData())return!0;return!1}isMatchingTransformation(e,t){return a(0),!1}validateTransformation(e,t){return a(0),!1}nameIsSet(){return a(0),!1}getInputSpatialReference(){return this.m_inputSr}getOutputSpatialReference(){return this.m_outputSr}getStep(e){return(e<0||e>this.count())&&S(""),this.m_transforms[e]}getInverse(){const e=new e_;return e.addSteps(this,!0),e.setInputSpatialReference(this.m_outputSr),e.setOutputSpatialReference(this.m_inputSr),e.create()}transform(e,t,s){if(0===this.count())return;let n=this.m_inputSr,r=this.m_outputSr;if(e&&(r=rt(n,n=r)),0===this.m_transforms.length)return void qm(n,null,r,null,t,null,s);let i=this.m_fastTrack;if(1===i)return void oe(e,this.m_transforms,(n=>{Xm(n.getWrapper(),e!==n.isInverted(),t,null,s)}));const o=Mm();-1===i&&o.initFromGcsAndVcs(n,null);const a=Mm();let h=e?this.m_transforms.length-1:0;const m=e?-1:1;for(let g=0,u=this.m_transforms.length;g<u;g++,h+=m){if(0===g){const r=this.m_transforms[h];Bm(n.getPECoordSys(),null,r.getWrapper(),e!==r.isInverted(),t,null,s,a),-1===i&&(o.equals(a)||(i=0)),o.assign(a)}else{const n=this.m_transforms[h-m],r=this.m_transforms[h];Ym(o,n.getWrapper(),e!==n.isInverted(),r.getWrapper(),e!==r.isInverted(),t,null,s,a),-1===i&&(o.equals(a)||(i=0)),o.assign(a)}const r=this.m_transforms[h];Rm(o,r.getWrapper(),e!==r.isInverted(),t,null,s,a),o.assign(a)}const l=this.m_transforms[h-m];Om(o,l.getWrapper(),e!==l.isInverted(),r,null,t,null,s),-1===i&&(a.initFromGcsAndVcs(r,null),o.equals(a)||(i=0)),this.m_fastTrack=0===i?0:1}};class e_{constructor(){this.m_transforms=[],this.m_inputGCS=null,this.m_outputGCS=null,this.m_name="",this.m_bNameIsSet=!1}getInputSpatialReference(){return null!==this.m_inputGCS?this.m_inputGCS:this.count()>0?this.m_transforms[0].getInputSpatialReference():null}setInputSpatialReference(e){this.m_inputGCS=e?e.getGCS():null}getOutputSpatialReference(){return null!==this.m_outputGCS?this.m_outputGCS:this.count()>0?this.m_transforms.at(-1).getOutputSpatialReference():null}setOutputSpatialReference(e){this.m_outputGCS=e?e.getGCS():null}getName(){if(this.m_bNameIsSet)return this.m_name;if(0===this.m_transforms.length)return"";let e="";for(const t of this.m_transforms)e.length>0&&(e+=" + "),t.isInverted()&&(e+="~"),e+=t.getName();return e}count(){return this.m_transforms.length}getStep(e){return(e<0||e>this.count())&&S(""),this.m_transforms[e]}setStep(e,t){a(0)}add(e){this.m_transforms.push(e)}addSteps(e,t){if(t)for(let s=e.count()-1;s>=0;--s)this.add(e.getStep(s).getInverse());else for(let s=0;s<e.count();++s)this.add(e.getStep(s))}clear(){this.m_transforms=[],this.m_name="",this.m_bNameIsSet=!1,this.m_inputGCS=null,this.m_outputGCS=null}remove(e){a(0)}create(){const e=this.getInputSpatialReference(),t=this.getOutputSpatialReference(),s=new $c(this.m_transforms,this.m_bNameIsSet?this.m_name:null,e,t);return s.m_bReadOnly=!0,this.clear(),s}}const t_=Object.freeze(Object.defineProperty({__proto__:null,SpatialReference:oc,SpatialReferencePrecisionDescriptor:ac,create:Ou,createFromWKT:Yu,createImplFromPe:Ru,createLocal:Wu,createWithNewPrecision:Lu,createWithNewVCS:zu,getGCS:Zu,getTempName:tc,hasNoPe:qu,hasPe:Uu,injectNoPe:Mu,injectPe:Au,isInitialized:Bu,isTempName:sc,isValidWkid:Ku,isValidWkt:Qu,makeSpheroidData:Hu,snapGeometry:ju,webMercator:hc,webMercator102100:mc,wgs84:lc},Symbol.toStringTag,{value:"Module"})),s_=Object.freeze(Object.defineProperty({__proto__:null,OperatorProject:qh},Symbol.toStringTag,{value:"Module"})),n_=Object.freeze(Object.defineProperty({__proto__:null,CompositeGeographicTransformation:$c,CompositeGeographicTransformationEditor:e_,createImpl:Jc,queryGtListImpl:Qc},Symbol.toStringTag,{value:"Module"})),r_=Object.freeze(Object.defineProperty({__proto__:null,GeographicTransformation:Kc,create:Lc,createFromPe:Wc,createFromWKT:zc},Symbol.toStringTag,{value:"Module"})),i_=Object.freeze(Object.defineProperty({__proto__:null,ProjectionTransformation:eu,create:Og,createEx:Rg,createFromAoi:Yg,createImplEx:Lg,makeExtendedParams:Wg,makeExtendedParamsInternal:Qg,queryTransformationList:zg},Symbol.toStringTag,{value:"Module"}));export{Rh as $,qh as A,Rg as B,fa as C,Wl as D,cs as E,Xl as F,ql as G,Al as H,Wo as I,Vc as J,wc as K,Oh as L,Tl as M,Zl as N,Eh as O,Cc as P,Yh as Q,Wu as R,as as S,Ka as T,Ag as U,cm as V,kl as W,Pc as X,um as Y,Lh as Z,zh as _,Yu as a,Xh as a0,_m as a1,qs as a2,Is as a3,vs as a4,Th as a5,Us as a6,Cs as a7,jl as a8,bc as a9,Qu as aA,Ku as aB,Hm as aC,ac as aD,Lu as aE,ss as aF,t_ as aG,s_ as aH,n_ as aI,r_ as aJ,i_ as aK,Qg as aa,Wg as ab,Lg as ac,cl as ad,fg as ae,sr as af,ir as ag,zm as ah,Wm as ai,ha as aj,Ra as ak,ka as al,Uu as am,er as an,ju as ao,Sa as ap,ya as aq,pa as ar,nh as as,tn as at,sn as au,Ys as av,tc as aw,Ic as ax,zl as ay,ks as az,jm as b,Ou as c,ul as d,Lm as e,Km as f,wh as g,Lo as h,Mu as i,al as j,ih as k,da as l,_a as m,aa as n,Fa as o,Ma as p,la as q,kr as r,hh as s,Zn as t,Ko as u,Hu as v,ds as w,mg as x,Ps as y,Dc as z};
|