*Seehttps://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
!function(e,t){"object"==typeofexports&&"undefined"!=typeofmodule?t(exports):"function"==typeofdefine&&define.amd?define(["exports"],t):t((e="undefined"!=typeofglobalThis?globalThis:e||self).Cesium={})}(this,(function(exports){"use strict";functionappendForwardSlash(e){return0!==e.length&&"/"===e[e.length-1]||(e=`${e}/`),e}functiondefined(e){returnnull!=e}functionDeveloperError(e){lett;this.name="DeveloperError",this.message=e;try{thrownewError}catch(e){t=e.stack}this.stack=t}defined(Object.create)&&(DeveloperError.prototype=Object.create(Error.prototype),DeveloperError.prototype.constructor=DeveloperError),DeveloperError.prototype.toString=function(){lete=`${this.name}: ${this.message}`;returndefined(this.stack)&&(e+=`\n${this.stack.toString()}`),e},DeveloperError.throwInstantiationError=function(){thrownewDeveloperError("This function defines an interface and should not be called directly.")};constCheck={};functiongetUndefinedErrorMessage(e){return`${e} is required, actual value was undefined`}functiongetFailedTypeErrorMessage(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}functiondefaultValue(e,t){returnnull!=e?e:t}Check.typeOf={},Check.defined=function(e,t){if(!defined(t))thrownewDeveloperError(getUndefinedErrorMessage(e))},Check.typeOf.func=function(e,t){if("function"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"function",e))},Check.typeOf.string=function(e,t){if("string"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"string",e))},Check.typeOf.number=function(e,t){if("number"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"number",e))},Check.typeOf.number.lessThan=function(e,t,n){if(Check.typeOf.number(e,t),t>=n)thrownewDeveloperError(`Expected ${e} to be less than ${n}, actual value was ${t}`)},Check.typeOf.number.lessThanOrEquals=function(e,t,n){if(Check.typeOf.number(e,t),t>n)thrownewDeveloperError(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)},Check.typeOf.number.greaterThan=function(e,t,n){if(Check.typeOf.number(e,t),t<=n)thrownewDeveloperError(`Expected ${e} to be greater than ${n}, actual value was ${t}`)},Check.typeOf.number.greaterThanOrEquals=function(e,t,n){if(Check.typeOf.number(e,t),t<n)thrownewDeveloperError(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)},Check.typeOf.object=function(e,t){if("object"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"object",e))},Check.typeOf.bool=function(e,t){if("boolean"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"boolean",e))},Check.typeOf.bigint=function(e,t){if("bigint"!=typeoft)thrownewDeveloperError(getFailedTypeErrorMessage(typeoft,"bigint",e))},Check.typeOf.number.equals=function(e,t,n,i){if(Check.typeOf.number(e,n),Check.typeOf.number(t,i),n!==i)thrownewDeveloperError(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)},defaultValue.EMPTY_OBJECT=Object.freeze({});varMersenneTwister=function(e){null==e&&(e=(newDate).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=newArray(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};MersenneTwister.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},MersenneTwister.prototype.init_by_array=function(e,t){varn,i,r;for(this.init_seed(19650218),n=1,i=0,r=this.N>t?this.N:t;r;r--){varo=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(1664525*((4294901760&o)>>>16)<<16)+1664525*(65535&o))+e[i]+i,this.mt[n]>>>=0,i++,++n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(r=this.N-1;r;r--){o=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(1566083941*((4294901760&o)>>>16)<<16)+1566083941*(65535&o))-n,this.mt[n]>>>=0,++n>=this.N&&(this.mt[0]=this.m
*/var t,n;t=commonjsGlobal,n=function(e,t,n,i){var r=i&&i.URI;function o(e,t){var n=arguments.length>=1,i=arguments.length>=2;if(!(this instanceof o))return n?i?new o(e,t):new o(e):new o;if(void 0===e){if(n)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&n)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.7";var a=o.prototype,s=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}functionl(e){returnvoid0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}functionu(e){return"Array"===l(e)}functiond(e,t){varn,i,r={};if("RegExp"===l(t))r=null;elseif(u(t))for(n=0,i=t.length;n<i;n++)r[t[n]]=!0;elser[t]=!0;for(n=0,i=e.length;n<i;n++)(r&&void0!==r[e[n]]||!r&&t.test(e[n]))&&(e.splice(n,1),i--,n--);returne}functionh(e,t){varn,i;if(u(t)){for(n=0,i=t.length;n<i;n++)if(!h(e,t[n]))return!1;return!0}varr=l(t);for(n=0,i=e.length;n<i;n++)if("RegExp"===r){if("string"==typeofe[n]&&e[n].match(t))return!0}elseif(e[n]===t)return!0;return!1}functionp(e,t){if(!u(e)||!u(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(varn=0,i=e.length;n<i;n++)if(e[n]!==t[n])return!1;return!0}functionf(e){returne.replace(/^\/+|\/+$/g,"")}functionm(e){returnescape(e)}functiong(e){returnencodeURIComponent(e).replace(/[!'()*]/g,m).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){vart=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)returno.domAttributes[t]}},o.encode=g,o.decode=decodeURIComponent,o.iso8859=fun
/*! @license DOMPurify 2.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.3/LICENSE */
*/;var OBSERVABLES_PROPERTY="__knockoutObservables",SUBSCRIBABLE_PROPERTY="__knockoutSubscribable";function track(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=getAllObservablesForObject(e,!0);return(t=t||Object.getOwnPropertyNames(e)).forEach((function(t){if(t!==OBSERVABLES_PROPERTY&&t!==SUBSCRIBABLE_PROPERTY&&!(t in i)){var r=e[t],o=r instanceof Array,a=n.isObservable(r)?r:o?n.observableArray(r):n.observable(r);Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[t]=a,o&¬ifyWhenPresentOrFutureArrayValuesMutate(n,a)}})),e}function getAllObservablesForObject(e,t){var n=e[OBSERVABLES_PROPERTY];return!n&&t&&(n={},Object.defineProperty(e,OBSERVABLES_PROPERTY,{value:n})),n}function defineComputedProperty(e,t,n){var i={owner:e,deferEvaluation:!0};if("function"==typeof n)i.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if("function"!=typeof n.get)throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');i.read=n.get,i.write=n.set}return e[t]=this.computed(i),track.call(this,e,[t]),e}function notifyWhenPresentOrFutureArrayValuesMutate(e,t){var n=null;e.computed((function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=startWatchingArrayInstance(e,t,i))}))}function startWatchingArrayInstance(e,t,n){return getSubscribableForArray(e,n).subscribe(t)}function getSubscribableForArray(e,t){var n=t[SUBSCRIBABLE_PROPERTY];if(!n){n=new e.subscribable,Object.defineProperty(t,SUBSCRIBABLE_PROPERTY,{value:n});var i={};wrapStandardArrayMutators(t,n,i),addKnockoutArrayMutators(e,t,n,i)}return n}function wrapStandardArrayMutators(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach((function(i){var r=e[i];e[i]=function(){var e=r.apply(this,arguments);return!0!==n.pause&&t.notifySubscribers(this),e}}))}function addKnockoutArrayMutators(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach((function(r){Object.defineProperty(t,r,{enumerable:!1,value:function(){var o;i.pause=!0;try{o=e.observableArray.fn[r].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),o}})}))}function getObservable(e,t){if(!e)return null;var n=getAllObservablesForObject(e,!1);return n&&n[t]||null}function valueHasMutated(e,t){var n=getObservable(e,t);n&&n.valueHasMutated()}function attachToKo(e){e.track=track,e.getObservable=getObservable,e.valueHasMutated=valueHasMutated,e.defineProperty=defineComputedProperty}var knockout_es5={attachToKo:attachToKo};const svgNS$1="http://www.w3.org/2000/svg",svgClassName="cesium-svgPath-svg",SvgPathBindingHandler={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){const i=document.createElementNS(svgNS$1,"svg:svg");i.setAttribute("class",svgClassName);const r=document.createElementNS(svgNS$1,"path");return i.appendChild(r),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){const t=e.unwrap(n());r.setAttribute("d",e.unwrap(t.path));const o=e.unwrap(t.width),a=e.unwrap(t.height);i.setAttribute("width",o),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${o} ${a}`),t.css&&i.setAttribute("class",`${svgClassName} ${e.unwrap(t.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}};knockout_es5.attachToKo(knockout),SvgPathBindingHandler.register(knockout);const e=[171,75,84,88,32,50,48,187,13,10,26,10];var n,i,s,a,r,o,l,f,t;t=n||(n={}),t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(i||(i={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(s||(s={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(a||(a={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",
/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */
!function(){vart=function(){vare={defaultNoDataValue:-34027999387901484e22,decode:function(o,a){vars=(a=a||{}).encodedMaskData||null===a.encodedMaskData,c=r(o,a.inputOffset||0,s),l=null!==a.noDataValue?a.noDataValue:e.defaultNoDataValue,u=t(c,a.pixelType||Float32Array,a.encodedMaskData,l,a.returnMask),d={width:c.width,height:c.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:c.pixels.maxValue,noDataValue:l};returnu.resultMask&&(d.maskData=u.resultMask),a.returnEncodedMask&&c.mask&&(d.encodedMaskData=c.mask.bitset?c.mask.bitset:null),a.returnFileInfo&&(d.fileInfo=n(c),a.computeUsedBitDepths&&(d.fileInfo.bitDepths=i(c))),d}},t=function(e,t,n,i,r){vara,s,c,l=0,u=e.pixels.numBlocksX,d=e.pixels.numBlocksY,h=Math.floor(e.width/u),p=Math.floor(e.height/d),f=2*e.maxZError,m=Number.MAX_VALUE;n=n||(e.mask?e.mask.bitset:null),s=newt(e.width*e.height),r&&n&&(c=newUint8Array(e.width*e.height));for(varg,_,y=newFloat32Array(h*p),C=0;C<=d;C++){varT=C!==d?p:e.height%d;if(0!==T)for(varS=0;S<=u;S++){varA=S!==u?h:e.width%u;if(0!==A){varv,x,b,E,P=C*e.width*p+S*h,D=e.width-A,M=e.pixels.blocks[l];if(M.encoding<2?(0===M.encoding?v=M.rawData:(o(M.stuffedData,M.bitsPerPixel,M.numValidPixels,M.offset,f,y,e.pixels.maxValue),v=y),x=0):b=2===M.encoding?0:M.offset,n)for(_=0;_<T;_++){for(7&P&&(E=n[P>>3],E<<=7&P),g=0;g<A;g++)7&P||(E=n[P>>3]),128&E?(c&&(c[P]=1),m=m>(a=M.encoding<2?v[x++]:b)?a:m,s[P++]=a):(c&&(c[P]=0),s[P++]=i),E<<=1;P+=D}elseif(M.encoding<2)for(_=0;_<T;_++){for(g=0;g<A;g++)m=m>(a=v[x++])?a:m,s[P++]=a;P+=D}elsefor(m=m>b?b:m,_=0;_<T;_++){for(g=0;g<A;g++)s[P++]=b;P+=D}if(1===M.encoding&&x!==M.numValidPixels)throw"Block and Mask do not match";l++}}}return{resultPixels:s,resultMask:c,minValue:m}},n=function(e){return{fileIdentifierString:e.fileIdentifierString,fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,noDataValue:e.noDataValue}}},i=function(e){for(vart=e.pixels.numBlocksX*e.pixels.numBlocksY,n={},i=0;i<t;i++){varr=e.pixels.blocks[i];0===r.encoding?n.float32=!0:1===r.encoding?n[r.bitsPerPixel]=!0:n[0]=!0}returnObject.keys(n)},r=function(e,t,n){vari={},r=newUint8Array(e,t,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,r),"CntZImage"!==i.fileIdentifierString.trim())throw"Unexpected file identifier string: "+i.fileIdentifierString;t+=10;varo=newDataView(e,t,24);if(i.fileVersion=o.getInt32(0,!0),i.imageType=o.getInt32(4,!0),i.height=o.getUint32(8,!0),i.width=o.getUint32(12,!0),i.maxZError=o.getFloat64(16,!0),t+=24,!n)if(o=newDataView(e,t,16),i.mask={},i.mask.numBlocksY=o.getUint32(0,!0),i.mask.numBlocksX=o.getUint32(4,!0),i.mask.numBytes=o.getUint32(8,!0),i.mask.maxValue=o.getFloat32(12,!0),t+=16,i.mask.numBytes>0){vara=newUint8Array(Math.ceil(i.width*i.height/8)),s=(o=newDataView(e,t,i.mask.numBytes)).getInt16(0,!0),c=2,l=0;do{if(s>0)for(;s--;)a[l++]=o.getUint8(c++);else{varu=o.getUint8(c++);for(s=-s;s--;)a[l++]=u}s=o.getInt16(c,!0),c+=2}while(c<i.mask.numBytes);if(-32768!==s||l<a.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=a,t+=i.mask.numBytes}else0==(i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue)&&(i.mask.bitset=newUint8Array(Math.ceil(i.width*i.height/8)));o=newDataView(e,t,16),i.pixels={},i.pixels.numBlocksY=o.getUint32(0,!0),i.pixels.numBlocksX=o.getUint32(4,!0),i.pixels.numBytes=o.getUint32(8,!0),i.pixels.maxValue=o.getFloat32(12,!0),t+=16;vard=i.pixels.numBlocksX,h=i.pixels.numBlocksY,p=d+(i.width%d>0?1:0),f=h+(i.height%h>0?1:0);i.pixels.blocks=newArray(p*f);for(varm=0,g=0;g<f;g++)for(var_=0;_<p;_++){vary=0,C=e.byteLength-t;o=newDataView(e,t,Math.min(10,C));varT={};i.pixels.blocks[m++]=T;varS=o.getUint8(0);if(y++,T.encoding=63&S,T.encoding>3)throw"Invalid block encoding ("+T.encoding+")";if(2!==T.encoding){if(0!==S&&2!==S){if(S