{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/layers/support/ElevationSampler.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationTile.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationQuery.js"],"names":["getLogger","e","clone","this","t","n","super","tile","noDataValue","extent","spatialReference","o","r","lodAt","level","resolution","demResolution","min","max","projectIfRequired","contains","xmin","ymin","xmax","ymax","warn","x","y","sample","s","samplers","map","length","union","Math","elevationAt","type","R","equals","i","error","wkid","z","hasM","hasZ","paths","a","points","samplerData","pixelData","values","width","height","safeWidth","dx","dy","x0","y1","h","l","d","u","f","c","p","floor","D","m","w","V","g","ignoreInvisibleLayers","filter","visible","slice","fromGeometry","returnSampleInfo","query","_queryAllContinue","geometry","export","sampleInfo","signal","load","_createGeometryDescriptor","_selectTiles","_populateElevationTiles","_sampleGeometryWithElevation","_createQueryResult","_createSampler","_createSamplerAllContinue","tileInfo","source","dest","elevationTiles","layer","options","pop","concat","coordinates","push","forEach","project","outSpatialReference","_extractSampleInfo","elevationTile","_preselectOutsideLayerExtent","_selectTilesClosestResolution","_selectTilesFinestContiguous","_selectTilesAuto","outsideExtentTile","fullExtent","_findNearestDemResolutionLODIndex","selectTilesAtLOD","lods","abs","E","minDemResolution","_selectTilesFinestContiguousAt","tilemapCache","getTilesToFetch","Promise","all","fetchAvailability","row","col","allElevationTilesFetched","clearElevationTiles","cache","async","uid","id","get","fetchTile","put","populateElevationTiles","_selectTilesAutoFinest","_reduceTilesForMaximumRequests","_selectTilesAutoPrefetchUpsample","fetchAvailabilityUpsample","ok","remapTiles","forEachTileToFetch","maximumAutoTileRequests","upsampleTile","_exporter","_cloneCoordinate","spatiaReference","tileAt","some","candidateTiles","fetchedCandidates","Set","intersection","maskExtents","_maximumLodForRequests","_selectCandidateTilesCoveringExtentAt","size","ceil","clear","add","_uniqueNonOverlappingTiles","has","sort","updateTileInfo","_tileIsMasked","findIndex"],"mappings":"2eAIwd,MAAM,EAAE,OAAEA,UAAU,wCAAwC,MAAM,EAAE,eAAeC,GAAG,OAAO,EAAEA,EAAEC,QAAQC,MAAM,KAAK,OAAO,EAAE,kBAAkBF,EAAEG,GAAG,OAAO,EAAEH,EAAEG,IAAI,MAAM,UAAU,EAAE,YAAYH,EAAEG,EAAEC,GAAGC,QAAQH,KAAKI,KAAKN,EAAEE,KAAKK,YAAYH,EAAEF,KAAKM,OAAO,eAAER,EAAEM,KAAKE,OAAOL,EAAEM,kBAAkB,MAAMC,EAAE,eAAEP,EAAEM,kBAAkBE,EAAER,EAAES,MAAMZ,EAAEM,KAAKO,OAAOC,WAAWJ,EAAER,KAAKa,cAAc,CAACC,IAAIL,EAAEM,IAAIN,GAAG,uBAAuB,OAAOT,KAAKM,OAAOC,iBAAiB,SAAST,GAAG,MAAMG,EAAED,KAAKgB,kBAAkBlB,EAAEE,KAAKO,kBAAkB,OAAO,eAAEP,KAAKM,OAAOL,GAAG,YAAYH,GAAG,MAAMI,EAAEF,KAAKgB,kBAAkBlB,EAAEE,KAAKO,kBAAkB,GAAG,eAAEL,GAAG,OAAO,KAAK,IAAIF,KAAKiB,SAASnB,GAAG,CAAC,MAAMG,EAAED,KAAKM,OAAOJ,EAAE,GAAGD,EAAEiB,SAASjB,EAAEkB,SAASlB,EAAEmB,SAASnB,EAAEoB,OAAO,EAAEC,KAAK,iBAAiB,mCAAmCxB,EAAEyB,MAAMzB,EAAE0B,wCAAwCtB,MAAM,OAAOF,KAAKI,KAAKqB,OAAOvB,EAAEqB,EAAErB,EAAEsB,IAAI,MAAM,UAAU,EAAE,YAAY1B,EAAEG,EAAEC,GAAG,IAAIwB,EAAEvB,QAAQ,iBAAiBF,GAAGD,KAAKK,YAAYJ,EAAEyB,EAAE,OAAOA,EAAEzB,EAAED,KAAKK,YAAYH,GAAGF,KAAK2B,SAASD,EAAE5B,EAAE8B,IAAK9B,GAAG,IAAI,EAAEA,EAAE4B,EAAE1B,KAAKK,cAAeP,EAAE,MAAMW,EAAET,KAAK2B,SAAS,GAAG,GAAGlB,EAAE,CAACT,KAAKM,OAAOG,EAAEH,OAAOP,QAAQ,MAAMe,IAAIhB,EAAEiB,IAAId,GAAGQ,EAAEI,cAAcb,KAAKa,cAAc,CAACC,IAAIhB,EAAEiB,IAAId,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEF,KAAK2B,SAASE,OAAO3B,IAAI,CAAC,MAAMJ,EAAEE,KAAK2B,SAASzB,GAAGF,KAAKM,OAAOwB,MAAMhC,EAAEQ,QAAQN,KAAKa,cAAcC,IAAIiB,KAAKjB,IAAId,KAAKa,cAAcC,IAAIhB,EAAEe,cAAcC,KAAKd,KAAKa,cAAcE,IAAIgB,KAAKhB,IAAIf,KAAKa,cAAcE,IAAIjB,EAAEe,cAAcE,WAAWf,KAAKM,OAAO,eAAE,iBAAIoB,EAAEnB,kBAAkBP,KAAKa,cAAc,CAACC,IAAI,EAAEC,IAAI,GAAG,uBAAuB,OAAOf,KAAKM,OAAOC,iBAAiB,YAAYT,GAAG,MAAMG,EAAED,KAAKgB,kBAAkBlB,EAAEE,KAAKO,kBAAkB,IAAIN,EAAE,OAAO,KAAK,IAAI,MAAMC,KAAKF,KAAK2B,SAAS,GAAGzB,EAAEe,SAAShB,GAAG,OAAOC,EAAE8B,YAAY/B,GAAG,OAAO,EAAEqB,KAAK,iBAAiB,mCAAmCxB,EAAEyB,MAAMzB,EAAE0B,gCAAgC,MAAM,SAAS,EAAE1B,EAAEG,GAAG,MAAMC,EAAE,EAAEJ,EAAEG,EAAEM,kBAAkB,IAAIL,EAAE,OAAO,KAAK,OAAOJ,EAAEmC,MAAM,IAAI,QAAQ,EAAEnC,EAAEI,EAAED,GAAG,MAAM,IAAI,WAAWiC,EAAEpC,EAAEI,EAAED,GAAG,MAAM,IAAI,aAAa,EAAEH,EAAEI,EAAED,GAAG,OAAOH,EAAE,SAAS,EAAEA,EAAEI,GAAG,GAAG,eAAEJ,GAAG,OAAO,KAAK,MAAM4B,EAAE5B,EAAES,iBAAiB,GAAGmB,EAAES,OAAOjC,GAAG,OAAOJ,EAAE,MAAMsC,EAAE,eAAEtC,EAAEI,GAAG,OAAOkC,GAAG,EAAEC,MAAM,mDAAmDX,EAAEY,sDAAsDpC,EAAEoC,SAASF,EAAE,SAAS,EAAEtC,EAAEG,EAAEyB,GAAG5B,EAAEyC,EAAE,eAAEb,EAAEM,YAAY/B,GAAG,GAAG,SAASiC,EAAEpC,EAAEG,EAAEyB,GAAG,EAAEnB,iBAAiBN,EAAEM,iBAAiB,MAAM6B,EAAEtC,EAAE0C,OAAO1C,EAAE2C,KAAK,IAAI,IAAIjC,EAAE,EAAEA,EAAEV,EAAE4C,MAAMb,OAAOrB,IAAI,CAAC,MAAMC,EAAEX,EAAE4C,MAAMlC,GAAGmC,EAAE1C,EAAEyC,MAAMlC,GAAG,IAAI,IAAIV,EAAE,EAAEA,EAAEW,EAAEoB,OAAO/B,IAAI,CAAC,MAAMG,EAAEQ,EAAEX,GAAGU,EAAEmC,EAAE7C,GAAG,EAAEyB,EAAEf,EAAE,GAAG,EAAEgB,EAAEhB,EAAE,GAAG4B,IAAInC,EAAE,GAAGA,EAAE,IAAIA,EAAE,GAAG,eAAEyB,EAAEM,YAAY,GAAG,IAAIlC,EAAE2C,MAAK,EAAG,SAAS,EAAE3C,EAAEG,EAAEyB,GAAG,EAAEnB,iBAAiBN,EAAEM,iBAAiB,MAAM6B,EAAEtC,EAAE0C,OAAO1C,EAAE2C,KAAK,IAAI,IAAIjC,EAAE,EAAEA,EAAEV,EAAE8C,OAAOf,OAAOrB,IAAI,CAAC,MAAMC,EAAEX,EAAE8C,OAAOpC,GAAGmC,EAAE1C,EAAE2C,OAAOpC,GAAG,EAAEe,EAAEoB,EAAE,GAAG,EAAEnB,EAAEmB,EAAE,GAAGP,IAAI3B,EAAE,GAAGA,EAAE,IAAIA,EAAE,GAAG,eAAEiB,EAAEM,YAAY,GAAG,GAAGlC,EAAE2C,MAAK,EAAG,MAAM,EAAE,IAAI,OAAE,EAAE,CAAC,YCAnoG,MAAM,EAAE,YAAYE,EAAE7C,EAAE,MAAM,GAAGE,KAAKI,KAAKuC,EAAE,eAAE7C,GAAG,CAAC,MAAMG,EAAE0C,EAAErC,OAAON,KAAK6C,YAAY,CAACC,UAAUhD,EAAEiD,OAAOC,MAAMlD,EAAEkD,MAAMC,OAAOnD,EAAEmD,OAAOC,UAAU,WAAWpD,EAAEkD,MAAM,GAAG3C,YAAYP,EAAEO,YAAY8C,IAAIrD,EAAEkD,MAAM,IAAI/C,EAAE,GAAGA,EAAE,IAAImD,IAAItD,EAAEkD,MAAM,IAAI/C,EAAE,GAAGA,EAAE,IAAIoD,GAAGpD,EAAE,GAAGqD,GAAGrD,EAAE,KAAK,OAAOA,EAAEH,GAAG,GAAG,eAAEE,KAAK6C,aAAa,OAAO,MAAMK,UAAUxB,EAAEsB,MAAMO,EAAET,UAAUU,EAAEnD,YAAYG,EAAE2C,GAAG1C,EAAE2C,GAAGlD,EAAEoD,GAAGG,EAAEJ,GAAGK,GAAG1D,KAAK6C,YAAYc,EAAE,EAAEzD,GAAGuD,EAAE3D,GAAG,EAAE4B,GAAGkC,EAAE,EAAEnD,GAAGR,EAAEyD,GAAG,EAAEhC,GAAGmC,EAAE9B,KAAK+B,MAAMH,GAAGpC,EAAEQ,KAAK+B,MAAMF,GAAGG,EAAEF,EAAEN,EAAEhC,EAAEyC,EAAED,EAAER,EAAEU,EAAET,EAAEO,GAAGvC,EAAEgC,EAAEQ,GAAGE,EAAEV,EAAEO,EAAE,GAAGI,EAAEX,EAAEQ,EAAE,GAAG,GAAGC,IAAIzD,GAAGgB,IAAIhB,GAAG0D,IAAI1D,GAAG2D,IAAI3D,EAAE,CAAC,MAAMP,EAAE2D,EAAErC,EAAEoB,EAAEsB,GAAGC,EAAED,GAAGhE,EAAE,OAAO0C,GAAGnB,GAAG2C,EAAE3C,GAAGvB,EAAE0C,IAAIgB,EAAEE,KAAK,SAAS,EAAE5D,EAAE0C,EAAE7C,GAAG,OAAOG,EAAE0C,EAAEA,EAAE1C,EAAEH,EAAEA,EAAEG,ECAgC,MAAM,EAAE,eAAeH,EAAEsC,EAAE5B,GAAG,KAAKV,EAAEU,GAAGA,EAAE4D,sBAAsBtE,EAAEuE,OAAQvE,GAAGA,EAAEwE,SAAUxE,EAAEyE,SAAS1C,OAAO,MAAM,IAAI,OAAE,gCAAgC,8EAA8E,MAAMH,EAAE,EAAE8C,aAAapC,GAAG,IAAIoB,GAAE,EAAGhD,GAAGA,EAAEiE,mBAAmBjB,GAAE,GAAI,MAAMtD,EAAE,IAAI,KAAKM,EAAEiE,kBAAiB,GAAI9B,QAAQ3C,KAAK0E,MAAM5E,EAAEA,EAAE+B,OAAO,GAAGH,EAAExB,GAAGO,QAAQT,KAAK2E,kBAAkB7E,EAAE6C,EAAEzC,GAAG,OAAOO,EAAEmE,SAASnE,EAAEmE,SAASC,SAASrB,UAAU/C,EAAEqE,WAAWrE,EAAE,YAAYX,EAAEsC,EAAE5B,GAAG,IAAIV,EAAE,MAAM,IAAI,OAAE,gCAAgC,oEAAoE,IAAIsC,KAAKA,aAAa,IAAI,UAAUA,EAAEH,MAAM,eAAeG,EAAEH,MAAM,aAAaG,EAAEH,KAAK,MAAM,IAAI,OAAE,mCAAmC,iFAAiF,MAAMP,EAAE,IAAI,KAAKlB,GAAGgD,EAAE,IAAI,EAAE1D,EAAEsC,EAAE7B,iBAAiBmB,GAAGxB,EAAEwB,EAAEqD,OAAO,aAAajF,EAAEkF,KAAK,CAACD,OAAO7E,UAAUF,KAAKiF,0BAA0BzB,EAAEpB,EAAElC,SAASF,KAAKkF,aAAa1B,EAAEtD,SAASF,KAAKmF,wBAAwB3B,EAAEtD,GAAGF,KAAKoF,6BAA6B5B,GAAGxD,KAAKqF,mBAAmB7B,EAAEtD,GAAG,oBAAoBJ,EAAEsC,EAAE5B,GAAG,IAAIV,EAAE,MAAM,IAAI,OAAE,gCAAgC,oEAAoE,IAAIsC,GAAG,WAAWA,EAAEH,KAAK,MAAM,IAAI,OAAE,iCAAiC,+BAA+B,MAAMP,EAAE,IAAI,KAAKlB,GAAG,OAAOR,KAAKsF,eAAexF,EAAEsC,EAAEV,GAAG,uBAAuB5B,EAAEsC,EAAE5B,GAAG,KAAKV,EAAEU,GAAGA,EAAE4D,sBAAsBtE,EAAEuE,OAAQvE,GAAGA,EAAEwE,SAAUxE,EAAEyE,SAAS1C,OAAO,MAAM,IAAI,OAAE,gCAAgC,8EAA8E,IAAIO,GAAG,WAAWA,EAAEH,KAAK,MAAM,IAAI,OAAE,iCAAiC,+BAA+B,MAAMP,EAAE,IAAI,KAAKlB,EAAEiE,kBAAiB,GAAIjB,QAAQxD,KAAKsF,eAAexF,EAAEA,EAAE+B,OAAO,GAAGO,EAAEV,GAAG,OAAO1B,KAAKuF,0BAA0BzF,EAAEsC,EAAEoB,EAAE9B,GAAG,qBAAqB5B,EAAEG,EAAEmC,EAAE5B,GAAG,MAAMkB,EAAEU,EAAE2C,aAAajF,EAAEkF,KAAK,CAACD,OAAOrD,IAAI,MAAM8B,EAAEvD,EAAEM,iBAAiBL,EAAEJ,EAAE0F,SAASjF,iBAAiBiD,EAAErB,OAAOjC,WAAW,eAAE,CAAC,CAACuF,OAAOjC,EAAEkC,KAAKxF,IAAI,CAAC6E,OAAOrD,IAAIzB,EAAE,eAAEA,EAAEC,IAAI,MAAMyC,EAAE,IAAI,EAAE7C,EAAEG,EAAEmC,EAAE5B,GAAG,aAAaR,KAAKkF,aAAavC,EAAEjB,SAAS1B,KAAKmF,wBAAwBxC,EAAEjB,GAAG,IAAI,EAAEiB,EAAEgD,eAAehD,EAAEiD,MAAMJ,SAAS7C,EAAEkD,QAAQxF,aAAa,gCAAgCP,EAAEG,EAAEmC,EAAE5B,GAAG,GAAGV,EAAEgG,OAAOhG,EAAE+B,OAAO,OAAOO,EAAE,MAAMV,EAAEU,EAAET,SAASC,IAAK9B,GAAG,eAAEA,EAAEQ,SAAUkD,QAAQxD,KAAKsF,eAAexF,EAAEA,EAAE+B,OAAO,GAAG5B,EAAEO,EAAEkB,GAAG,GAAG,IAAI8B,EAAE7B,SAASE,OAAO,OAAOO,EAAE,MAAMlC,EAAEkC,EAAET,SAASoE,OAAOvC,EAAE7B,UAAUgB,EAAE,IAAI,EAAEzC,EAAEM,EAAEH,aAAa,OAAOL,KAAKuF,0BAA0BzF,EAAEG,EAAE0C,EAAEnC,GAAG,wBAAwBV,EAAEG,EAAEmC,GAAG,MAAM5B,EAAEV,EAAEgG,MAAMpE,EAAEzB,EAAE2E,SAASoB,YAAYxC,EAAE,GAAGtD,EAAE,GAAG,IAAI,IAAI0D,EAAE,EAAEA,EAAElC,EAAEG,OAAO+B,IAAI,CAAC,MAAMxB,EAAEnC,EAAE6E,WAAWlB,GAAGxB,EAAEvB,eAAe,EAAEuB,EAAEqD,SAASrD,EAAEqD,OAAOjF,GAAGV,EAAE+B,SAAS2B,EAAEyC,KAAKvE,EAAEkC,IAAI1D,EAAE+F,KAAKrC,IAAI,IAAI9D,EAAE+B,QAAQ,IAAI2B,EAAE3B,OAAO,OAAO5B,EAAE,MAAM0C,EAAE1C,EAAE2E,SAAS7E,MAAMyD,GAAG/C,QAAQT,KAAK0E,MAAM5E,EAAEA,EAAE+B,OAAO,GAAGc,EAAEP,GAAG,OAAOlC,EAAEgG,QAAQ,CAAEpG,EAAEsC,KAAKV,EAAE5B,GAAGyC,EAAE9B,EAAEmE,SAASoB,YAAY5D,GAAGG,EAAEtC,EAAE6E,WAAWhF,GAAGe,cAAcJ,EAAEqE,WAAW1C,GAAGvB,gBAAiBb,KAAK2E,kBAAkB7E,EAAEG,EAAEmC,GAAG,yBAAyBtC,EAAEG,GAAG,MAAMmC,EAAE,CAACwC,gBAAgB9E,EAAE8E,SAASuB,QAAQrG,EAAEsG,oBAAoBnG,IAAI4E,SAASxE,YAAYP,EAAE+F,QAAQxF,aAAa,OAAOP,EAAE+F,QAAQpB,mBAAmBrC,EAAE0C,WAAW9E,KAAKqG,mBAAmBvG,IAAIA,EAAE8E,SAASoB,YAAYE,QAASpG,IAAIA,EAAEM,KAAK,KAAKN,EAAEwG,cAAc,OAAQlE,EAAE,gCAAgCtC,EAAEsC,EAAE5B,GAAG,IAAIkB,EAAE,MAAM8B,EAAE1D,EAAE8F,MAAMJ,SAASjF,iBAAiB,GAAG6B,aAAa,EAAEV,QAAQU,EAAE+D,QAAQ3C,EAAEhD,UAAU,eAAE,CAAC,CAACiF,OAAOrD,EAAE7B,iBAAiBmF,KAAKlC,IAAI,CAACuB,OAAOvE,IAAIkB,EAAE,eAAEU,EAAEoB,KAAK9B,EAAE,MAAM,IAAI,OAAE,6CAA6C,8BAA8BU,EAAE7B,iBAAiB+B,qCAAqCkB,EAAElB,SAASxC,EAAE8E,SAAS,EAAEJ,aAAa9C,GAAG,mBAAmB5B,EAAEsC,GAAG,MAAM5B,EAAEV,EAAE+F,QAAQhF,cAAc,GAAG,aAAaf,EAAEmC,MAAMjC,KAAKuG,6BAA6BzG,GAAG,iBAAiBU,EAAER,KAAKwG,8BAA8B1G,QAAQ,GAAG,sBAAsBU,QAAQR,KAAKyG,6BAA6B3G,EAAEsC,OAAO,CAAC,GAAG,SAAS5B,EAAE,MAAM,IAAI,OAAE,yCAAyC,iCAAiCA,8DAA8DR,KAAK0G,iBAAiB5G,EAAEsC,IAAI,6BAA6BtC,GAAG,MAAMG,EAAE,IAAI,EAAE,MAAMA,EAAEwB,OAAO,IAAI3B,EAAE+F,QAAQxF,YAAYP,EAAE6G,kBAAkB1G,EAAE,MAAMmC,EAAEtC,EAAE8F,MAAMgB,WAAW9G,EAAE8E,SAASoB,YAAYE,QAASpG,IAAI,MAAMU,EAAEV,EAAEyB,EAAEG,EAAE5B,EAAE0B,GAAGhB,EAAE4B,EAAElB,MAAMV,EAAE4B,EAAEhB,MAAMM,EAAEU,EAAEjB,MAAMO,EAAEU,EAAEf,QAAQvB,EAAEwG,cAAcrG,KAAM,8BAA8BH,GAAG,MAAMG,EAAEH,EAAE8F,MAAMJ,SAASpD,EAAEpC,KAAK6G,kCAAkC5G,EAAEH,EAAE+F,QAAQhF,eAAef,EAAEgH,iBAAiB1E,GAAG,kCAAkCtC,EAAEG,GAAG,MAAMmC,EAAEnC,EAAE,eAAEH,EAAES,kBAAkB,IAAIC,EAAEV,EAAEiH,KAAK,GAAGrF,EAAE,EAAE,IAAI,IAAI8B,EAAE,EAAEA,EAAE1D,EAAEiH,KAAKlF,OAAO2B,IAAI,CAAC,MAAMvD,EAAEH,EAAEiH,KAAKvD,GAAGzB,KAAKiF,IAAI/G,EAAEW,WAAWwB,GAAGL,KAAKiF,IAAIxG,EAAEI,WAAWwB,KAAK5B,EAAEP,EAAEyB,EAAE8B,GAAG,OAAO9B,EAAE,mCAAmC5B,EAAEG,GAAG,MAAMmC,EAAE6E,EAAEnH,EAAE8F,MAAMJ,SAAS1F,EAAE+F,QAAQqB,wBAAwBlH,KAAKmH,+BAA+BrH,EAAEsC,EAAEnC,GAAG,qCAAqCH,EAAEsC,EAAE5B,GAAG,MAAMN,EAAEJ,EAAE8F,MAAM,GAAG9F,EAAEgH,iBAAiB1E,GAAGA,EAAE,EAAE,OAAO,MAAMO,EAAEzC,EAAEkH,aAAa3G,EAAEX,EAAEuH,kBAAkB,IAAI,GAAG1E,QAAQ,eAAE2E,QAAQC,IAAI9G,EAAEmB,IAAK9B,GAAG6C,EAAE6E,kBAAkB1H,EAAEa,MAAMb,EAAE2H,IAAI3H,EAAE4H,IAAI,CAAC3C,OAAOvE,MAAOA,QAAQ,SAASR,KAAKmF,wBAAwBrF,EAAEU,IAAIV,EAAE6H,2BAA2B,MAAM7H,EAAE8H,sBAAsB,IAAI,OAAE,yCAAyC,MAAMhE,GAAG,eAAEA,SAAS5D,KAAKmH,+BAA+BrH,EAAEsC,EAAE,EAAE5B,IAAI,8BAA8BV,EAAEG,GAAG,MAAMO,EAAEV,EAAEuH,kBAAkB7D,EAAE,GAAGb,EAAE7C,EAAE+F,QAAQgC,MAAMpH,EAAEX,EAAE+F,QAAQxF,YAAYuD,EAAEpD,EAAEoB,IAAI,MAACkG,IAAU,MAAMpG,EAAE,GAAG5B,EAAE8F,MAAMmC,OAAOvH,EAAEwH,MAAMvH,IAAIP,EAAE,eAAEyC,GAAGA,EAAEsF,IAAIvG,GAAG,KAAKkC,EAAE,eAAE1D,GAAGA,QAAQJ,EAAE8F,MAAMsC,UAAU1H,EAAEG,MAAMH,EAAEiH,IAAIjH,EAAEkH,IAAI,CAACrH,YAAYI,EAAEsE,OAAO9E,IAAI,eAAE0C,IAAIA,EAAEwF,IAAIzG,EAAEkC,GAAGJ,EAAEhD,EAAEwH,IAAI,IAAI,EAAExH,EAAEoD,WAAY,eAAE,eAAEA,GAAG3D,GAAGH,EAAEsI,uBAAuB5E,GAAG,uBAAuBvD,EAAEmC,GAAGpC,KAAKqI,uBAAuBpI,GAAGD,KAAKsI,+BAA+BrI,GAAG,MAAMO,EAAEP,EAAE2F,MAAMwB,aAAa,IAAI5G,EAAE,OAAOR,KAAKuI,iCAAiCtI,EAAEmC,GAAG,MAAMlC,EAAED,EAAEoH,kBAAkB1E,EAAE,GAAGlC,EAAEP,EAAE0B,IAAI,MAACkG,IAAU,MAAMpG,EAAE,CAACsG,GAAG,KAAKrH,MAAM,EAAE8G,IAAI,EAAEC,IAAI,EAAEpH,OAAO,kBAAKJ,QAAQ,eAAEM,EAAEgI,0BAA0BvI,EAAEU,MAAMV,EAAEwH,IAAIxH,EAAEyH,IAAIhG,EAAE,CAACqD,OAAO3C,MAAK,IAAKlC,EAAEuI,GAAG,eAAEvI,EAAEmC,OAAOM,EAAE1C,EAAE+H,IAAItG,UAAW,eAAE4F,QAAQC,IAAI9G,GAAG2B,GAAGnC,EAAEyI,WAAW/F,GAAG,+BAA+B7C,GAAG,MAAMG,EAAEH,EAAE8F,MAAMJ,SAAS,IAAIpD,EAAE,EAAE,MAAM5B,EAAE,GAAGkB,EAAE5B,IAAIA,EAAEkI,MAAMxH,EAAEA,EAAEV,EAAEkI,OAAOxH,EAAEV,EAAEkI,IAAI,EAAE5F,MAAMoB,EAAE1D,IAAI,MAAMG,EAAEO,EAAEV,EAAEkI,IAAI,IAAI/H,UAAUO,EAAEV,EAAEkI,IAAI5F,KAAK5B,EAAEV,EAAEkI,IAAI/H,EAAE,GAAGH,EAAE6I,mBAAmBjH,EAAE8B,GAAG,IAAItD,GAAE,EAAG,KAAKA,IAAIA,GAAE,EAAGJ,EAAE6I,mBAAoBnI,IAAI4B,GAAGtC,EAAE+F,QAAQ+C,0BAA0BpF,EAAEhD,GAAGP,EAAE4I,aAAarI,KAAKN,GAAE,GAAIwB,EAAElB,KAAMgD,GAAGtD,MAAM,uBAAuBJ,GAAG,MAAMG,EAAEgH,EAAEnH,EAAE8F,MAAMJ,SAAS1F,EAAE+F,QAAQqB,kBAAkBpH,EAAEgH,iBAAiB7G,EAAEH,EAAE+F,QAAQ+C,yBAAyB,uCAAuC9I,EAAEG,GAAG,MAAMmC,EAAEtC,EAAE8F,MAAMJ,eAAexF,KAAKmF,wBAAwBrF,EAAEG,GAAG,IAAIO,GAAE,EAAGV,EAAE6I,mBAAmB,CAAE7I,EAAEG,KAAKmC,EAAEyG,aAAa/I,GAAGU,GAAE,EAAGP,MAAOO,SAASR,KAAKuI,iCAAiCzI,EAAEG,GAAG,6BAA6BH,GAAGA,EAAE8E,SAASoB,YAAYE,QAASjG,IAAI,MAAMO,EAAEP,EAAEqG,cAAc,IAAI5E,EAAE5B,EAAE+F,QAAQxF,YAAY,GAAGG,EAAE,CAAC,MAAMV,EAAEU,EAAEiB,OAAOxB,EAAEsB,EAAEtB,EAAEuB,GAAG,eAAE1B,GAAG4B,EAAE5B,EAAEG,EAAEqG,cAAc,KAAKrG,EAAEsC,EAAEb,IAAK,mBAAmB5B,GAAG,MAAMG,EAAEH,EAAE8F,MAAMJ,SAASpD,EAAE,eAAEnC,EAAEM,kBAAkB,OAAOT,EAAE8E,SAASoB,YAAYpE,IAAKpB,IAAI,IAAIkB,GAAG,EAAgH,OAA3GlB,EAAE8F,eAAe9F,EAAE8F,gBAAgBxG,EAAE6G,oBAAmBjF,EAAEzB,EAAES,MAAMF,EAAE8F,cAAclG,KAAKO,OAAOC,WAAWwB,GAAQ,CAACvB,cAAca,MAAO,MAAM,EAAE,SAAS,OAAO1B,KAAK8I,UAAU9I,KAAKgG,YAAYhG,KAAKO,kBAAkB,MAAMT,GAAG,MAAMG,EAAE,IAAI,EAAE,OAAOA,EAAE2E,SAAS5E,KAAK4E,SAAS3E,EAAEM,iBAAiBP,KAAKO,iBAAiBN,EAAE+F,YAAYlG,GAAGE,KAAKgG,YAAYpE,IAAK9B,GAAGE,KAAK+I,iBAAiBjJ,IAAKG,EAAE6I,UAAU9I,KAAK8I,UAAU7I,EAAE,cAAcH,EAAEG,GAAG,GAAGD,KAAKO,iBAAiB4B,OAAOrC,GAAG,OAAOE,KAAKD,cAAc,eAAE,CAAC,CAAC0F,OAAOzF,KAAKO,iBAAiBmF,KAAK5F,IAAI,CAACiF,OAAO9E,IAAI,MAAMmC,EAAE,IAAI,OAAE,CAAC7B,iBAAiBP,KAAKO,iBAAiBqC,OAAO5C,KAAKgG,YAAYpE,IAAK9B,GAAG,CAACA,EAAEyB,EAAEzB,EAAE0B,MAAOhB,EAAE,eAAE4B,EAAEtC,GAAG,IAAIU,EAAE,OAAO,KAAK,MAAMkB,EAAE1B,KAAKgG,YAAYpE,IAAI,CAAE9B,EAAEG,KAAK,MAAMmC,EAAEpC,KAAK+I,iBAAiBjJ,GAAG4B,EAAElB,EAAEoC,OAAO3C,GAAG,OAAOmC,EAAEb,EAAEG,EAAE,GAAGU,EAAEZ,EAAEE,EAAE,GAAGU,IAAKoB,EAAExD,KAAKD,MAAM2B,GAAG,OAAO8B,EAAEjD,iBAAiBT,EAAE0D,EAAE,iBAAiB1D,GAAG,MAAM,CAACyB,EAAEzB,EAAEyB,EAAEC,EAAE1B,EAAE0B,EAAEe,EAAEzC,EAAEyC,EAAEyB,EAAElE,EAAEkE,EAAE5D,KAAK,KAAKkG,cAAc,MAAM,oBAAoBxG,GAAG,MAAMG,EAAE,IAAI,EAAE,GAAGA,EAAE2E,SAAS9E,EAAEG,EAAEM,iBAAiBT,EAAES,iBAAiBT,aAAa,EAAEG,EAAE+F,YAAYlG,EAAEkG,YAAYpE,IAAK9B,GAAGG,EAAE8I,iBAAiBjJ,IAAKG,EAAE6I,UAAU,CAAC7I,EAAEmC,KAAK,MAAM5B,EAAEV,EAAEC,MAAME,GAAG,OAAOO,EAAED,iBAAiB6B,EAAE5B,QAAQ,OAAOV,EAAEmC,MAAM,IAAI,QAAQ,CAAC,MAAMG,EAAEtC,GAAG2C,KAAKjC,EAAEgC,KAAKd,GAAGU,EAAEnC,EAAE+F,YAAYxF,GAAGkB,EAAE,CAAC,CAACH,EAAEa,EAAEb,EAAEC,EAAEY,EAAEZ,EAAEe,EAAEH,EAAEG,EAAEyB,EAAE5B,EAAE4B,IAAIxD,EAAE,CAAC,CAACe,EAAEa,EAAEb,EAAEC,EAAEY,EAAEZ,EAAEe,EAAEH,EAAEG,IAAIb,EAAE,CAAC,CAACH,EAAEa,EAAEb,EAAEC,EAAEY,EAAEZ,EAAEwC,EAAE5B,EAAE4B,IAAI,CAAC,CAACzC,EAAEa,EAAEb,EAAEC,EAAEY,EAAEZ,IAAIvB,EAAE6I,UAAU,CAAC7I,EAAEmC,IAAItC,EAAE0C,KAAK,IAAI,OAAEvC,EAAE,GAAGsB,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGsC,EAAEtC,EAAE,GAAG+D,EAAE5B,GAAG,IAAI,OAAEnC,EAAE,GAAGsB,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGsC,EAAEH,GAAG,MAAM,IAAI,aAAa,CAAC,MAAMA,EAAEtC,GAAG2C,KAAKjC,EAAEgC,KAAKd,GAAGU,EAAEnC,EAAE+F,YAAYxF,GAAGkB,EAAEU,EAAEQ,OAAOhB,IAAK9B,IAAG,CAAEyB,EAAEzB,EAAE,GAAG0B,EAAE1B,EAAE,GAAGyC,EAAEzC,EAAE,GAAGkE,EAAElE,EAAE,MAAOU,EAAE4B,EAAEQ,OAAOhB,IAAK9B,IAAG,CAAEyB,EAAEzB,EAAE,GAAG0B,EAAE1B,EAAE,GAAGyC,EAAEzC,EAAE,MAAO4B,EAAEU,EAAEQ,OAAOhB,IAAK9B,IAAG,CAAEyB,EAAEzB,EAAE,GAAG0B,EAAE1B,EAAE,GAAGkE,EAAElE,EAAE,MAAOsC,EAAEQ,OAAOhB,IAAK9B,IAAG,CAAEyB,EAAEzB,EAAE,GAAG0B,EAAE1B,EAAE,MAAOG,EAAE6I,UAAU,CAAC7I,EAAEmC,IAAItC,EAAE0C,KAAK,IAAI,OAAE,CAACI,OAAO3C,EAAE2B,IAAK9B,GAAG,CAACA,EAAEyB,EAAEzB,EAAE0B,EAAE1B,EAAEyC,EAAEzC,EAAEkE,IAAKvB,MAAK,EAAGD,MAAK,EAAGwG,gBAAgB5G,IAAI,IAAI,OAAEnC,EAAE2B,IAAK9B,GAAG,CAACA,EAAEyB,EAAEzB,EAAE0B,EAAE1B,EAAEyC,IAAKH,GAAG,MAAM,IAAI,WAAW,CAAC,MAAMA,EAAEtC,EAAEU,EAAE,GAAGkB,EAAE,IAAIe,KAAKe,EAAEhB,KAAKtC,GAAGJ,EAAE,IAAI6C,EAAE,EAAE,IAAI,MAAM7C,KAAKsC,EAAEM,MAAM,GAAGhB,EAAEuE,KAAK,CAACtD,EAAEA,EAAE7C,EAAE+B,SAASc,GAAG7C,EAAE+B,OAAO2B,GAAGtD,EAAE,IAAI,MAAMD,KAAKH,EAAEU,EAAEyF,KAAK,CAAC1E,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGsC,EAAEtC,EAAE,GAAG+D,EAAE/D,EAAE,UAAU,GAAGuD,EAAE,IAAI,MAAMvD,KAAKH,EAAEU,EAAEyF,KAAK,CAAC1E,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGsC,EAAEtC,EAAE,UAAU,GAAGC,EAAE,IAAI,MAAMD,KAAKH,EAAEU,EAAEyF,KAAK,CAAC1E,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAG+D,EAAE/D,EAAE,UAAU,IAAI,MAAMA,KAAKH,EAAEU,EAAEyF,KAAK,CAAC1E,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,KAAKA,EAAE+F,YAAYxF,EAAEP,EAAE6I,UAAU,CAAC7I,EAAEmC,KAAK,MAAM5B,EAAEV,EAAE0C,KAAKvC,EAAE2B,IAAK9B,GAAG,CAACA,EAAEyB,EAAEzB,EAAE0B,EAAE1B,EAAEyC,EAAEzC,EAAEkE,IAAK/D,EAAE2B,IAAK9B,GAAG,CAACA,EAAEyB,EAAEzB,EAAE0B,EAAE1B,EAAEyC,IAAKiB,EAAE9B,EAAEE,IAAK9B,GAAGU,EAAE+D,MAAMzE,EAAE,GAAGA,EAAE,KAAM,OAAO,IAAI,OAAE,CAAC4C,MAAMc,EAAEhB,KAAK1C,EAAE0C,KAAKC,MAAK,EAAGlC,iBAAiB6B,KAAK,OAAO,OAAOnC,GAAG,MAAM,EAAE,YAAYH,EAAEG,GAAGD,KAAK4F,MAAM9F,EAAEE,KAAK6F,QAAQ5F,GAAG,MAAM,UAAU,EAAE,YAAYH,EAAEG,EAAEmC,GAAGjC,MAAML,EAAEsC,GAAGpC,KAAKoG,oBAAoBnG,EAAED,KAAKiC,KAAK,WAAW,iBAAiBnC,GAAG,GAAGA,EAAE,EAAEE,KAAK4E,SAASoB,YAAYE,QAASpG,GAAGA,EAAEM,KAAK,UAAW,CAAC,MAAMH,EAAED,KAAK4F,MAAMJ,SAASpD,EAAEnC,EAAE8G,KAAKjH,GAAGa,MAAMX,KAAK4E,SAASoB,YAAYE,QAASpG,IAAIA,EAAEM,KAAKH,EAAEgJ,OAAO7G,EAAEtC,EAAEyB,EAAEzB,EAAE0B,MAAO,2BAA2B,OAAOxB,KAAK4E,SAASoB,YAAYkD,KAAMpJ,IAAIA,EAAEwG,eAAgB,sBAAsB,IAAI,MAAMxG,KAAKE,KAAK4E,SAASoB,YAAYlG,EAAEwG,gBAAgBtG,KAAK2G,oBAAoB7G,EAAEwG,cAAc,MAAM,uBAAuBxG,GAAG,IAAI,MAAMG,KAAKD,KAAK4E,SAASoB,aAAa/F,EAAEqG,eAAerG,EAAEG,OAAOH,EAAEqG,cAAcxG,EAAEG,EAAEG,KAAK4H,KAAK,WAAWlI,GAAG,IAAI,MAAMG,KAAKD,KAAK4E,SAASoB,YAAY/F,EAAEG,KAAKN,EAAEG,EAAEG,KAAK4H,IAAI,kBAAkB,MAAMlI,EAAE,GAAGG,EAAE,GAAG,IAAI,MAAMmC,KAAKpC,KAAK4E,SAASoB,YAAY,CAAC,MAAMxF,EAAE4B,EAAEhC,KAAKgC,EAAEkE,gBAAgBlE,EAAEhC,MAAMN,EAAEU,EAAEwH,MAAMlI,EAAEU,EAAEwH,IAAIxH,EAAEP,EAAEgG,KAAKzF,IAAI,OAAOP,EAAE,mBAAmBH,GAAG,IAAI,MAAMG,KAAKD,KAAK4E,SAASoB,YAAY/F,EAAEG,OAAOH,EAAEqG,eAAexG,EAAEG,EAAEG,KAAK,IAAKH,EAAEG,KAAK,OAAQ,MAAM,UAAU,EAAE,YAAYN,EAAEG,EAAEmC,EAAE5B,GAAGL,MAAML,EAAEsC,GAAGpC,KAAKiC,KAAK,SAASjC,KAAK2F,eAAe,GAAG3F,KAAKmJ,eAAe,GAAGnJ,KAAKoJ,kBAAkB,IAAIC,IAAIrJ,KAAKM,OAAOL,EAAEqJ,aAAaxJ,EAAE8G,YAAY5G,KAAKuJ,YAAY/I,EAAE,iBAAiBV,EAAEG,GAAG,MAAMmC,EAAEpC,KAAKwJ,uBAAuBvJ,GAAGO,EAAEuB,KAAKjB,IAAIsB,EAAEtC,GAAGU,EAAE,EAAER,KAAKmJ,eAAetH,OAAO,EAAE7B,KAAKyJ,sCAAsCjJ,GAAG,uBAAuBV,GAAG,MAAMG,EAAED,KAAK4F,MAAMJ,SAAS,IAAI1F,EAAE,OAAOG,EAAE8G,KAAKlF,OAAO,EAAE,MAAMO,EAAEpC,KAAKM,OAAO,GAAG,eAAE8B,GAAG,OAAO,EAAE,IAAI,IAAI5B,EAAEP,EAAE8G,KAAKlF,OAAO,EAAErB,GAAG,EAAEA,IAAI,CAAC,MAAMkB,EAAEzB,EAAE8G,KAAKvG,GAAGgD,EAAE9B,EAAEd,WAAWX,EAAEyJ,KAAK,GAAGxJ,EAAEwB,EAAEd,WAAWX,EAAEyJ,KAAK,GAAG,GAAG3H,KAAK4H,KAAKvH,EAAEY,MAAMQ,GAAGzB,KAAK4H,KAAKvH,EAAEa,OAAO/C,IAAIJ,EAAE,OAAOU,EAAE,OAAO,EAAE,2BAA2B,OAAOR,KAAKmJ,eAAetH,SAAS7B,KAAK2F,eAAe9D,OAAO,sBAAsB7B,KAAK2F,eAAe9D,OAAO,EAAE7B,KAAKoJ,kBAAkBQ,QAAQ,uBAAuB9J,GAAG,IAAI,MAAMG,KAAKD,KAAKmJ,eAAe,CAAC,MAAM/G,EAAEtC,EAAEG,EAAE+H,IAAI5F,IAAIpC,KAAKoJ,kBAAkBS,IAAI5J,GAAGD,KAAK2F,eAAeM,KAAK7D,KAAK,WAAWtC,GAAGE,KAAKmJ,eAAenJ,KAAK8J,2BAA2B9J,KAAKmJ,eAAevH,IAAK3B,GAAGH,EAAEG,EAAE+H,MAAO,kBAAkB,OAAOhI,KAAKmJ,eAAe,mBAAmBrJ,EAAEG,GAAG,MAAMmC,EAAEpC,KAAKmJ,eAAenJ,KAAKmJ,eAAe,GAAG/G,EAAE8D,QAAS9D,IAAI,GAAGpC,KAAKoJ,kBAAkBW,IAAI3H,GAAG,YAAYnC,GAAGA,EAAEmC,IAAI,IAAI5B,GAAE,EAAGV,EAAEsC,EAAE,IAAK5B,GAAE,GAAKA,EAAEP,GAAGA,EAAEmC,GAAGpC,KAAKmJ,eAAelD,KAAK7D,KAAMpC,KAAKmJ,eAAenJ,KAAK8J,2BAA2B9J,KAAKmJ,eAAelJ,GAAG,2BAA2BH,EAAEG,GAAG,MAAMmC,EAAE,GAAG5B,EAAE,GAAG,IAAI,MAAMgD,KAAK1D,EAAEsC,EAAEoB,EAAEwE,IAAI/H,GAAGA,EAAEuD,IAAIpB,EAAEoB,EAAEwE,IAAIxE,EAAEhD,EAAEyF,KAAKzC,IAAI,MAAM9B,EAAElB,EAAEwJ,KAAK,CAAElK,EAAEG,IAAIH,EAAEa,MAAMV,EAAEU,OAAQ,OAAOe,EAAE2C,OAAO,CAAEvE,EAAEsC,KAAK,IAAI,IAAI5B,EAAE,EAAEA,EAAE4B,EAAE5B,IAAI,GAAG,eAAEkB,EAAElB,GAAGF,OAAOR,EAAEQ,QAAQ,OAAOL,GAAGA,EAAEH,IAAG,EAAG,OAAM,IAAM,sCAAsCA,GAAGE,KAAKmJ,eAAetH,OAAO,EAAE,MAAM5B,EAAED,KAAKM,OAAO,GAAG,eAAEL,GAAG,OAAO,MAAMmC,EAAEpC,KAAK4F,MAAMJ,SAAS9D,EAAEU,EAAE2E,KAAKjH,GAAG0D,EAAEpB,EAAE6G,OAAOvH,EAAEf,MAAMV,EAAEiB,KAAKjB,EAAEkB,MAAMjB,EAAEwB,EAAEd,WAAWwB,EAAEsH,KAAK,GAAG/G,EAAEjB,EAAEd,WAAWwB,EAAEsH,KAAK,GAAGjJ,EAAEsB,KAAK4H,MAAM1J,EAAEmB,KAAKoC,EAAElD,OAAO,IAAIJ,GAAG0D,EAAE7B,KAAK4H,MAAM1J,EAAEoB,KAAKmC,EAAElD,OAAO,IAAIqC,GAAG,IAAI,IAAInC,EAAE,EAAEA,EAAEoD,EAAEpD,IAAI,IAAI,IAAIV,EAAE,EAAEA,EAAEW,EAAEX,IAAI,CAAC,MAAMG,EAAE,CAAC+H,GAAG,KAAKrH,MAAM6C,EAAE7C,MAAM8G,IAAIjE,EAAEiE,IAAIjH,EAAEkH,IAAIlE,EAAEkE,IAAI5H,GAAGsC,EAAE6H,eAAehK,GAAGD,KAAKkK,cAAcjK,IAAID,KAAKmJ,eAAelD,KAAKhG,IAAI,cAAcH,GAAG,QAAQE,KAAKuJ,aAAavJ,KAAKuJ,YAAYL,KAAMjJ,GAAG,eAAEA,EAAEH,EAAEQ,UAAW,SAAS2G,EAAEnH,EAAEG,GAAG,IAAImC,EAAEtC,EAAEiH,KAAKlF,OAAO,EAAE,GAAG5B,EAAE,EAAE,CAAC,MAAMO,EAAEV,EAAEiH,KAAKoD,UAAWrK,GAAGA,EAAEc,WAAWX,GAAI,IAAIO,EAAE4B,EAAE,EAAE5B,EAAE,IAAI4B,EAAE5B,EAAE,GAAG,OAAO4B,EAAE,MAAM,EAAE,CAACwG,wBAAwB,GAAGvI,YAAY,EAAEoE,kBAAiB,EAAG5D,cAAc,OAAOqG,iBAAiB","file":"js/chunk-2d0bdf78.7202458d.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.21/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import\"../../core/has.js\";import e from\"../../core/Logger.js\";import{isNone as t,unwrapOr as n}from\"../../core/maybe.js\";import{getMetersPerUnitForSR as s}from\"../../core/unitUtils.js\";import{toExtent as i,create as o}from\"../../geometry/support/aaBoundingRect.js\";import{extentContainsPoint as r}from\"../../geometry/support/contains.js\";import{project as a}from\"../../geometry/support/webMercatorUtils.js\";import l from\"../../geometry/Point.js\";const c=e.getLogger(\"esri.layers.support.ElevationSampler\");class m{queryElevation(e){return h(e.clone(),this)}on(){return g}projectIfRequired(e,t){return f(e,t)}}class p extends m{constructor(e,t,n){super(),this.tile=e,this.noDataValue=n,this.extent=i(e.tile.extent,t.spatialReference);const o=s(t.spatialReference),r=t.lodAt(e.tile.level).resolution*o;this.demResolution={min:r,max:r}}get spatialReference(){return this.extent.spatialReference}contains(e){const t=this.projectIfRequired(e,this.spatialReference);return r(this.extent,t)}elevationAt(e){const n=this.projectIfRequired(e,this.spatialReference);if(t(n))return null;if(!this.contains(e)){const t=this.extent,n=`${t.xmin}, ${t.ymin}, ${t.xmax}, ${t.ymax}`;c.warn(\"#elevationAt()\",`Point used to sample elevation (${e.x}, ${e.y}) is outside of the sampler extent (${n})`)}return this.tile.sample(n.x,n.y)}}class u extends m{constructor(e,t,n){let s;super(),\"number\"==typeof t?(this.noDataValue=t,s=null):(s=t,this.noDataValue=n),this.samplers=s?e.map((e=>new p(e,s,this.noDataValue))):e;const r=this.samplers[0];if(r){this.extent=r.extent.clone();const{min:e,max:t}=r.demResolution;this.demResolution={min:e,max:t};for(let n=1;ne?e:t}export{e as ElevationTile,e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.21/esri/copyright.txt for details.\n*/\nimport{result as e}from\"../../core/asyncUtils.js\";import t from\"../../core/Error.js\";import{isSome as i,isNone as o}from\"../../core/maybe.js\";import{whenOrAbort as s,throwIfAbortError as l,eachAlways as n}from\"../../core/promiseUtils.js\";import{getMetersPerUnitForSR as a}from\"../../core/unitUtils.js\";import r from\"../../geometry/Multipoint.js\";import c from\"../../geometry/Point.js\";import u from\"../../geometry/Polyline.js\";import{initializeProjection as h,project as p}from\"../../geometry/projection.js\";import{fromExtent as m,create as f,contains as d}from\"../../geometry/support/aaBoundingRect.js\";import{MultiTileElevationSampler as y}from\"./ElevationSampler.js\";import{ElevationTile as T}from\"./ElevationTile.js\";class v{async queryAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");const s=x.fromGeometry(i);let l=!1;o&&o.returnSampleInfo||(l=!0);const n={...R,...o,returnSampleInfo:!0},a=await this.query(e[e.length-1],s,n),r=await this._queryAllContinue(e,a,n);return r.geometry=r.geometry.export(),l&&delete r.sampleInfo,r}async query(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||!(i instanceof x)&&\"point\"!==i.type&&\"multipoint\"!==i.type&&\"polyline\"!==i.type)throw new t(\"elevation-query:invalid-geometry\",\"Only point, polyline and multipoint geometries can be used to query elevation\");const s={...R,...o},l=new w(e,i.spatialReference,s),n=s.signal;return await e.load({signal:n}),await this._createGeometryDescriptor(l,i,n),await this._selectTiles(l,n),await this._populateElevationTiles(l,n),this._sampleGeometryWithElevation(l),this._createQueryResult(l,n)}async createSampler(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...R,...o};return this._createSampler(e,i,s)}async createSamplerAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...R,...o,returnSampleInfo:!0},l=await this._createSampler(e[e.length-1],i,s);return this._createSamplerAllContinue(e,i,l,s)}async _createSampler(e,t,i,o){const s=i.signal;await e.load({signal:s});const l=t.spatialReference,n=e.tileInfo.spatialReference;l.equals(n)||(await h([{source:l,dest:n}],{signal:s}),t=p(t,n));const a=new _(e,t,i,o);return await this._selectTiles(a,s),await this._populateElevationTiles(a,s),new y(a.elevationTiles,a.layer.tileInfo,a.options.noDataValue)}async _createSamplerAllContinue(e,t,i,o){if(e.pop(),!e.length)return i;const s=i.samplers.map((e=>m(e.extent))),l=await this._createSampler(e[e.length-1],t,o,s);if(0===l.samplers.length)return i;const n=i.samplers.concat(l.samplers),a=new y(n,o.noDataValue);return this._createSamplerAllContinue(e,t,a,o)}async _queryAllContinue(e,t,i){const o=e.pop(),s=t.geometry.coordinates,l=[],n=[];for(let c=0;c=0?i.source||(i.source=o):e.length&&(l.push(s[c]),n.push(c))}if(!e.length||0===l.length)return t;const a=t.geometry.clone(l),r=await this.query(e[e.length-1],a,i);return n.forEach(((e,i)=>{s[e].z=r.geometry.coordinates[i].z,t.sampleInfo[e].demResolution=r.sampleInfo[i].demResolution})),this._queryAllContinue(e,t,i)}async _createQueryResult(e,t){const i={geometry:(await e.geometry.project(e.outSpatialReference,t)).export(),noDataValue:e.options.noDataValue};return e.options.returnSampleInfo&&(i.sampleInfo=this._extractSampleInfo(e)),e.geometry.coordinates.forEach((e=>{e.tile=null,e.elevationTile=null})),i}async _createGeometryDescriptor(e,i,o){let s;const l=e.layer.tileInfo.spatialReference;if(i instanceof x?s=await i.project(l,o):(await h([{source:i.spatialReference,dest:l}],{signal:o}),s=p(i,l)),!s)throw new t(\"elevation-query:spatial-reference-mismatch\",`Cannot query elevation in '${i.spatialReference.wkid}' on an elevation service in '${l.wkid}'`);e.geometry=x.fromGeometry(s)}async _selectTiles(e,i){const o=e.options.demResolution;if(\"geometry\"===e.type&&this._preselectOutsideLayerExtent(e),\"number\"==typeof o)this._selectTilesClosestResolution(e);else if(\"finest-contiguous\"===o)await this._selectTilesFinestContiguous(e,i);else{if(\"auto\"!==o)throw new t(\"elevation-query:invalid-dem-resolution\",`Invalid dem resolution value '${o}', expected a number, \"finest-contiguous\" or \"auto\"`);await this._selectTilesAuto(e,i)}}_preselectOutsideLayerExtent(e){const t=new T(null);t.sample=()=>e.options.noDataValue,e.outsideExtentTile=t;const i=e.layer.fullExtent;e.geometry.coordinates.forEach((e=>{const o=e.x,s=e.y;(oi.xmax||si.ymax)&&(e.elevationTile=t)}))}_selectTilesClosestResolution(e){const t=e.layer.tileInfo,i=this._findNearestDemResolutionLODIndex(t,e.options.demResolution);e.selectTilesAtLOD(i)}_findNearestDemResolutionLODIndex(e,t){const i=t/a(e.spatialReference);let o=e.lods[0],s=0;for(let l=1;la.fetchAvailability(e.level,e.row,e.col,{signal:o})))),o);else if(await this._populateElevationTiles(e,o),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t(\"elevation-query:has-unavailable-tiles\")}catch(c){l(c),await this._selectTilesFinestContiguousAt(e,i-1,o)}}async _populateElevationTiles(e,t){const o=e.getTilesToFetch(),l={},a=e.options.cache,r=e.options.noDataValue,c=o.map((async o=>{const s=`${e.layer.uid}:${o.id}:${r}`,n=i(a)?a.get(s):null,c=i(n)?n:await e.layer.fetchTile(o.level,o.row,o.col,{noDataValue:r,signal:t});i(a)&&a.put(s,c),l[o.id]=new T(o,c)}));await s(n(c),t),e.populateElevationTiles(l)}async _selectTilesAuto(t,i){this._selectTilesAutoFinest(t),this._reduceTilesForMaximumRequests(t);const o=t.layer.tilemapCache;if(!o)return this._selectTilesAutoPrefetchUpsample(t,i);const n=t.getTilesToFetch(),a={},r=n.map((async t=>{const s={id:null,level:0,row:0,col:0,extent:f()},n=await e(o.fetchAvailabilityUpsample(t.level,t.row,t.col,s,{signal:i}));!1===n.ok?l(n.error):a[t.id]=s}));await s(Promise.all(r),i),t.remapTiles(a)}_reduceTilesForMaximumRequests(e){const t=e.layer.tileInfo;let i=0;const o={},s=e=>{e.id in o?o[e.id]++:(o[e.id]=1,i++)},l=e=>{const t=o[e.id];1===t?(delete o[e.id],i--):o[e.id]=t-1};e.forEachTileToFetch(s,l);let n=!0;for(;n&&(n=!1,e.forEachTileToFetch((o=>{i<=e.options.maximumAutoTileRequests||(l(o),t.upsampleTile(o)&&(n=!0),s(o))}),l),n););}_selectTilesAutoFinest(e){const t=E(e.layer.tileInfo,e.options.minDemResolution);e.selectTilesAtLOD(t,e.options.maximumAutoTileRequests)}async _selectTilesAutoPrefetchUpsample(e,t){const i=e.layer.tileInfo;await this._populateElevationTiles(e,t);let o=!1;e.forEachTileToFetch(((e,t)=>{i.upsampleTile(e)?o=!0:t()})),o&&await this._selectTilesAutoPrefetchUpsample(e,t)}_sampleGeometryWithElevation(e){e.geometry.coordinates.forEach((t=>{const o=t.elevationTile;let s=e.options.noDataValue;if(o){const e=o.sample(t.x,t.y);i(e)?s=e:t.elevationTile=null}t.z=s}))}_extractSampleInfo(e){const t=e.layer.tileInfo,i=a(t.spatialReference);return e.geometry.coordinates.map((o=>{let s=-1;if(o.elevationTile&&o.elevationTile!==e.outsideExtentTile){s=t.lodAt(o.elevationTile.tile.level).resolution*i}return{demResolution:s}}))}}class x{export(){return this._exporter(this.coordinates,this.spatialReference)}clone(e){const t=new x;return t.geometry=this.geometry,t.spatialReference=this.spatialReference,t.coordinates=e||this.coordinates.map((e=>this._cloneCoordinate(e))),t._exporter=this._exporter,t}async project(e,t){if(this.spatialReference.equals(e))return this.clone();await h([{source:this.spatialReference,dest:e}],{signal:t});const i=new r({spatialReference:this.spatialReference,points:this.coordinates.map((e=>[e.x,e.y]))}),o=p(i,e);if(!o)return null;const s=this.coordinates.map(((e,t)=>{const i=this._cloneCoordinate(e),s=o.points[t];return i.x=s[0],i.y=s[1],i})),l=this.clone(s);return l.spatialReference=e,l}_cloneCoordinate(e){return{x:e.x,y:e.y,z:e.z,m:e.m,tile:null,elevationTile:null}}static fromGeometry(e){const t=new x;if(t.geometry=e,t.spatialReference=e.spatialReference,e instanceof x)t.coordinates=e.coordinates.map((e=>t._cloneCoordinate(e))),t._exporter=(t,i)=>{const o=e.clone(t);return o.spatialReference=i,o};else switch(e.type){case\"point\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?[{x:i.x,y:i.y,z:i.z,m:i.m}]:o?[{x:i.x,y:i.y,z:i.z}]:s?[{x:i.x,y:i.y,m:i.m}]:[{x:i.x,y:i.y}],t._exporter=(t,i)=>e.hasM?new c(t[0].x,t[0].y,t[0].z,t[0].m,i):new c(t[0].x,t[0].y,t[0].z,i);break}case\"multipoint\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?i.points.map((e=>({x:e[0],y:e[1],z:e[2],m:e[3]}))):o?i.points.map((e=>({x:e[0],y:e[1],z:e[2]}))):s?i.points.map((e=>({x:e[0],y:e[1],m:e[2]}))):i.points.map((e=>({x:e[0],y:e[1]}))),t._exporter=(t,i)=>e.hasM?new r({points:t.map((e=>[e.x,e.y,e.z,e.m])),hasZ:!0,hasM:!0,spatiaReference:i}):new r(t.map((e=>[e.x,e.y,e.z])),i);break}case\"polyline\":{const i=e,o=[],s=[],{hasZ:l,hasM:n}=e;let a=0;for(const e of i.paths)if(s.push([a,a+e.length]),a+=e.length,l&&n)for(const t of e)o.push({x:t[0],y:t[1],z:t[2],m:t[3]});else if(l)for(const t of e)o.push({x:t[0],y:t[1],z:t[2]});else if(n)for(const t of e)o.push({x:t[0],y:t[1],m:t[2]});else for(const t of e)o.push({x:t[0],y:t[1]});t.coordinates=o,t._exporter=(t,i)=>{const o=e.hasM?t.map((e=>[e.x,e.y,e.z,e.m])):t.map((e=>[e.x,e.y,e.z])),l=s.map((e=>o.slice(e[0],e[1])));return new u({paths:l,hasM:e.hasM,hasZ:!0,spatialReference:i})};break}}return t}}class g{constructor(e,t){this.layer=e,this.options=t}}class w extends g{constructor(e,t,i){super(e,i),this.outSpatialReference=t,this.type=\"geometry\"}selectTilesAtLOD(e){if(e<0)this.geometry.coordinates.forEach((e=>e.tile=null));else{const t=this.layer.tileInfo,i=t.lods[e].level;this.geometry.coordinates.forEach((e=>{e.tile=t.tileAt(i,e.x,e.y)}))}}allElevationTilesFetched(){return!this.geometry.coordinates.some((e=>!e.elevationTile))}clearElevationTiles(){for(const e of this.geometry.coordinates)e.elevationTile!==this.outsideExtentTile&&(e.elevationTile=null)}populateElevationTiles(e){for(const t of this.geometry.coordinates)!t.elevationTile&&t.tile&&(t.elevationTile=e[t.tile.id])}remapTiles(e){for(const t of this.geometry.coordinates)t.tile=e[t.tile.id]}getTilesToFetch(){const e={},t=[];for(const i of this.geometry.coordinates){const o=i.tile;i.elevationTile||!i.tile||e[o.id]||(e[o.id]=o,t.push(o))}return t}forEachTileToFetch(e){for(const t of this.geometry.coordinates)t.tile&&!t.elevationTile&&e(t.tile,(()=>t.tile=null))}}class _ extends g{constructor(e,t,i,o){super(e,i),this.type=\"extent\",this.elevationTiles=[],this.candidateTiles=[],this.fetchedCandidates=new Set,this.extent=t.intersection(e.fullExtent),this.maskExtents=o}selectTilesAtLOD(e,t){const i=this._maximumLodForRequests(t),o=Math.min(i,e);o<0?this.candidateTiles.length=0:this._selectCandidateTilesCoveringExtentAt(o)}_maximumLodForRequests(e){const t=this.layer.tileInfo;if(!e)return t.lods.length-1;const i=this.extent;if(o(i))return-1;for(let o=t.lods.length-1;o>=0;o--){const s=t.lods[o],l=s.resolution*t.size[0],n=s.resolution*t.size[1];if(Math.ceil(i.width/l)*Math.ceil(i.height/n)<=e)return o}return-1}allElevationTilesFetched(){return this.candidateTiles.length===this.elevationTiles.length}clearElevationTiles(){this.elevationTiles.length=0,this.fetchedCandidates.clear()}populateElevationTiles(e){for(const t of this.candidateTiles){const i=e[t.id];i&&(this.fetchedCandidates.add(t),this.elevationTiles.push(i))}}remapTiles(e){this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles.map((t=>e[t.id])))}getTilesToFetch(){return this.candidateTiles}forEachTileToFetch(e,t){const i=this.candidateTiles;this.candidateTiles=[],i.forEach((i=>{if(this.fetchedCandidates.has(i))return void(t&&t(i));let o=!1;e(i,(()=>o=!0)),o?t&&t(i):this.candidateTiles.push(i)})),this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles,t)}_uniqueNonOverlappingTiles(e,t){const i={},o=[];for(const l of e)i[l.id]?t&&t(l):(i[l.id]=l,o.push(l));const s=o.sort(((e,t)=>e.level-t.level));return s.filter(((e,i)=>{for(let o=0;od(t,e.extent)))}}function E(e,t){let i=e.lods.length-1;if(t>0){const o=e.lods.findIndex((e=>e.resolution0&&(i=o-1)}return i}const R={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:\"auto\",minDemResolution:0};export{v as ElevationQuery,x as GeometryDescriptor,v as default,E as getFinestLodIndex};\n"],"sourceRoot":""}