x_ite
Version:
X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.
2 lines • 1.41 MB
JavaScript
/* X_ITE v11.5.10 */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.X3D=t():e.X3D=t()}(self,(()=>(()=>{var t={1:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});var n=i(7597),s=i(4141),r=i(1514);function o(e){this.scene=e,this.executionContexts=[e],this.prototypes=[]}Object.assign(o.prototype,{getBrowser(){return this.scene.getBrowser()},getScene(){return this.scene},getExecutionContext(){return this.executionContexts.at(-1)},pushExecutionContext(e){return this.executionContexts.push(e)},popExecutionContext(){this.executionContexts.pop()},getOuterNode(){return this.getExecutionContext().getOuterNode()},isInsideProtoDeclaration(){return this.getExecutionContext().getOuterNode()instanceof n.A},loadComponents(){return this.getBrowser().loadComponents(this.getScene())},setUnits(e){e?delete this.fromUnit:this.fromUnit=function(e,t){return t}},fromUnit(e,t){return this.scene.fromUnit(e,t)},convertColor(e,t="white"){const i=r("<div></div>").hide().css("color",t).appendTo(r("body")),n=r("<div></div>").css("color",e).appendTo(i),s=window.getComputedStyle(n[0]).color.replace(/^rgba?\(|\)$/g,"").split(/[\s,]+/).map((e=>parseFloat(e)));return i.remove(),s[0]/=255,s[1]/=255,s[2]/=255,"number"!=typeof s[3]&&(s[3]=1),s},sanitizeName:(e="")=>e=(e=(e=(e=e.replace(/^[\x30-\x39\x00-\x20\x22\x23\x27\x2b\x2c\x2d\x2e\x5b\x5c\x5d\x7b\x7d\x7f]*/,"")).replace(/[\x00-\x20\x22\x23\x27\x2c\x2e\x5b\x5c\x5d\x7b\x7d\x7f]+/g,"-")).trim().replace(/[\s_-]+/g,"-")).replace(/^-+|-+$/g,""),renameExistingNode(e){try{const t=this.getExecutionContext().getNamedNode(e);this.getExecutionContext().updateNamedNode(this.getExecutionContext().getUniqueName(e),t)}catch{}try{const t=this.getExecutionContext().getUniqueImportName(e);this.getExecutionContext().renameImportedNode(e,t)}catch{}}});const a=o,l=s.A.add("X3DParser",a)},64:(e,t,i)=>{"use strict";i.d(t,{A:()=>f});var n=i(5942),s=i(6495),r=i(7893),o=i(8727),a=i(6265),l=i(683),h=i(7896),d=i(224),c=i(2128),u=i(4141);function p(e){a.A.call(this,e),this.addType(l.A.Viewpoint),this._position.setUnit("length"),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),this.projectionMatrix=new c.A}Object.assign(Object.setPrototypeOf(p.prototype,a.A.prototype),{getRelativeTransformation(e){const t=a.A.prototype.getRelativeTransformation.call(this,e);return e.constructor===this.constructor&&(t.fieldOfView=e.getUserFieldOfView()),t},setInterpolators(e,t){if(e.constructor===this.constructor){const e=t.fieldOfView/this.getUserFieldOfView();this.fieldOfViewScaleInterpolator._keyValue=new n.A.MFFloat(e,this._fieldOfViewScale.getValue()),this._fieldOfViewScale=e}else this.fieldOfViewScaleInterpolator._keyValue=new n.A.MFFloat(this._fieldOfViewScale.getValue(),this._fieldOfViewScale.getValue()),this._fieldOfViewScale=this._fieldOfViewScale.getValue()},getLogarithmicDepthBuffer:()=>!1,getFieldOfView(){const e=this._fieldOfView.getValue();return e>0&&e<Math.PI?e:Math.PI/4},setFieldOfView(e){this._fieldOfView=e},getUserFieldOfView(){const e=this._fieldOfView.getValue()*this._fieldOfViewScale.getValue();return e>0&&e<Math.PI?e:Math.PI/4},getScreenScale(e,t,i){const n=t[2],s=t[3],r=this.getBrowser().getPose(),o=r?1/r.views[0].projectionMatrix[5]:Math.tan(this.getUserFieldOfView()/2);let a=Math.abs(e.z)*o*2;return a/=n>s?s:n,i.set(a,a,a)},getViewportSize:(()=>{const e=new d.A;return function(t,i){const n=t[2],s=t[3],r=i*Math.tan(this.getUserFieldOfView()/2)*2,o=n/s;return o>1?e.set(r*o,r):e.set(r,r/o)}})(),getLookAtDistance(e){return e.size.magnitude()/2/Math.tan(this.getUserFieldOfView()/2)},getProjectionMatrixWithLimits(e,t,i){return h.A.perspective(this.getUserFieldOfView(),e,t,i[2],i[3],this.projectionMatrix)}}),Object.defineProperties(p,{...o.A.getStaticProperties("Viewpoint","Navigation",1,"children","2.0"),fieldDefinitions:{value:new r.A([new s.A(l.A.inputOutput,"metadata",new n.A.SFNode),new s.A(l.A.inputOnly,"set_bind",new n.A.SFBool),new s.A(l.A.inputOutput,"description",new n.A.SFString),new s.A(l.A.inputOutput,"position",new n.A.SFVec3f(0,0,10)),new s.A(l.A.inputOutput,"orientation",new n.A.SFRotation),new s.A(l.A.inputOutput,"centerOfRotation",new n.A.SFVec3f),new s.A(l.A.inputOutput,"fieldOfView",new n.A.SFFloat(.785398)),new s.A(l.A.inputOutput,"nearDistance",new n.A.SFFloat(-1)),new s.A(l.A.inputOutput,"farDistance",new n.A.SFFloat(-1)),new s.A(l.A.inputOutput,"viewAll",new n.A.SFBool),new s.A(l.A.inputOutput,"jump",new n.A.SFBool(!0)),new s.A(l.A.inputOutput,"retainUserOffsets",new n.A.SFBool),new s.A(l.A.outputOnly,"isBound",new n.A.SFBool),new s.A(l.A.outputOnly,"bindTime",new n.A.SFTime),new s.A(l.A.inputOutput,"navigationInfo",new n.A.SFNode)]),enumerable:!0}});const g=p,f=u.A.add("Viewpoint",g)},74:(e,t,i)=>{"use strict";i.d(t,{A:()=>n});const n=i(4141).A.add("BROWSER_VERSION","11.5.10")},95:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});var n=i(358),s=i(5407),r=i(4141);function o(e,t,i,n,r=!1,o=[]){Object.defineProperties(this,{name:{value:e,enumerable:!0},level:{value:t,enumerable:!0},title:{value:i,enumerable:!0},providerURL:{value:n||s.A.getProviderURL(r&&e),enumerable:!0},external:{value:r},dependencies:{value:o}})}Object.assign(Object.setPrototypeOf(o.prototype,n.A.prototype),{toVRMLStream(e){e.string+=e.Indent(),e.string+="COMPONENT",e.string+=e.Space(),e.string+=this.name,e.string+=e.TidySpace(),e.string+=":",e.string+=e.TidySpace(),e.string+=this.level},toXMLStream(e){e.string+=e.Indent(),e.string+="<component",e.string+=e.Space(),e.string+="name='",e.string+=this.name,e.string+="'",e.string+=e.Space(),e.string+="level='",e.string+=this.level,e.string+="'",e.string+=e.closingTags?"></component>":"/>"},toJSONStream(e){e.string+=e.Indent(),e.string+="{",e.string+=e.TidyBreak(),e.string+=e.IncIndent(),e.string+=e.Indent(),e.string+='"',e.string+="@name",e.string+='"',e.string+=":",e.string+=e.TidySpace(),e.string+='"',e.string+=this.name,e.string+='"',e.string+=",",e.string+=e.TidyBreak(),e.string+=e.Indent(),e.string+='"',e.string+="@level",e.string+='"',e.string+=":",e.string+=e.TidySpace(),e.string+=this.level,e.string+=e.TidyBreak(),e.string+=e.DecIndent(),e.string+=e.Indent(),e.string+="}"}});for(const e of Object.keys(o.prototype))Object.defineProperty(o.prototype,e,{enumerable:!1});Object.defineProperties(o,{typeName:{value:"ComponentInfo",enumerable:!0}}),Object.defineProperties(o.prototype,{providerUrl:{get:function(){return this.providerURL}}});const a=o,l=r.A.add("ComponentInfo",a)},178:(e,t,i)=>{"use strict";i.d(t,{A:()=>o});var n=i(4141);const s={parse(e){return this.lastIndex=e.lastIndex,e.result=this.exec(e.input),!!e.result&&(e.lastIndex=this.lastIndex,!0)},lookahead(e){const t=e.lastIndex,i=this.parse(e);return e.lastIndex=t,i}};const r=function(e){for(const t of Object.values(e))Object.assign(t,s);return e},o=n.A.add("Expressions",r)},224:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});var n=i(231),s=i(4141);function r(e=0,t=e){this.x=e,this.y=t}Object.assign(r.prototype,{*[Symbol.iterator](){yield this.x,yield this.y},copy(){const e=Object.create(r.prototype);return e.x=this.x,e.y=this.y,e},assign({x:e,y:t}){return this.x=e,this.y=t,this},set(e=0,t=e){return this.x=e,this.y=t,this},equals({x:e,y:t}){return this.x===e&&this.y===t},negate(){return this.x=-this.x,this.y=-this.y,this},inverse(){return this.x=1/this.x,this.y=1/this.y,this},add({x:e,y:t}){return this.x+=e,this.y+=t,this},subtract({x:e,y:t}){return this.x-=e,this.y-=t,this},multiply(e){return this.x*=e,this.y*=e,this},multVec({x:e,y:t}){return this.x*=e,this.y*=t,this},divide(e){return this.x/=e,this.y/=e,this},divVec({x:e,y:t}){return this.x/=e,this.y/=t,this},normalize(){const e=Math.hypot(this.x,this.y);return e&&(this.x/=e,this.y/=e),this},dot({x:e,y:t}){return this.x*e+this.y*t},norm(){const{x:e,y:t}=this;return e*e+t*t},magnitude(){return Math.hypot(this.x,this.y)},distance({x:e,y:t}){return Math.hypot(this.x-e,this.y-t)},lerp({x:e,y:t},i){const{x:n,y:s}=this;return this.x=n+i*(e-n),this.y=s+i*(t-s),this},abs(){const{x:e,y:t}=this;return this.x=Math.abs(e),this.y=Math.abs(t),this},min(e){let{x:t,y:i}=this;for(const{x:e,y:n}of arguments)t=Math.min(t,e),i=Math.min(i,n);return this.x=t,this.y=i,this},max(e){let{x:t,y:i}=this;for(const{x:e,y:n}of arguments)t=Math.max(t,e),i=Math.max(i,n);return this.x=t,this.y=i,this},clamp({x:e,y:t},{x:i,y:s}){return this.x=n.A.clamp(this.x,e,i),this.y=n.A.clamp(this.y,t,s),this},toString(){return this.x+" "+this.y}});for(const e of Object.keys(r.prototype))Object.defineProperty(r.prototype,e,{enumerable:!1});Object.defineProperties(r.prototype,{length:{value:2},0:{get(){return this.x},set(e){this.x=e}},1:{get(){return this.y},set(e){this.y=e}}}),Object.assign(r,{Zero:Object.freeze(new r),One:Object.freeze(new r(1)),xAxis:Object.freeze(new r(1,0)),yAxis:Object.freeze(new r(0,1))});const o=r,a=s.A.add("Vector2",o)},231:(e,t,i)=>{"use strict";i.d(t,{A:()=>o});var n=i(4141);const s={radians:e=>e*(Math.PI/180),degrees:e=>e*(180/Math.PI),random:(e,t)=>e+Math.random()*(t-e),fract:e=>e%1,clamp:(e,t,i)=>Math.min(Math.max(e,t),i),interval:(e,t,i)=>e>=i?(e-t)%(i-t)+t:e<t?(e-i)%(i-t)+i:e,project:(e,t,i,n,s)=>n+(e-t)/(i-t)*(s-n),roundToMultiple:(e,t)=>Math.ceil(e/t)*t,lerp:(e,t,i)=>e+i*(t-e),slerp(e,t,i){let n=e.dot(t);if(n>=1)return e;n<0&&(n=-n,t.negate());const s=Math.acos(n),r=Math.sin(s),o=Math.sin((1-i)*s)/r,a=Math.sin(i*s)/r;return e.x=e.x*o+t.x*a,e.y=e.y*o+t.y*a,e.z=e.z*o+t.z*a,e.w=e.w*o+t.w*a,e},simpleSlerp(e,t,i){const n=e.dot(t);if(n>=1)return e;const s=Math.acos(n),r=Math.sin(s),o=Math.sin((1-i)*s)/r,a=Math.sin(i*s)/r;return e.x=e.x*o+t.x*a,e.y=e.y*o+t.y*a,e.z=e.z*o+t.z*a,e.w=e.w*o+t.w*a,e},isPowerOfTwo:e=>!(e-1&e),nextPowerOfTwo:e=>s.isPowerOfTwo(e)?e:1<<32-Math.clz32(e),bitCount:e=>16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24,cmp:(e,t)=>e>t?1:e<t?-1:0,less:(e,t)=>e<t,greater:(e,t)=>e>t,lowerBound(e,t,i,n,r=s.less){let o=0,a=0,l=i-t;for(;l>0;)a=l>>>1,o=t+a,r(e[o],n)?(t=++o,l-=a+1):l=a;return t},upperBound(e,t,i,n,r=s.less){let o=0,a=0,l=i-t;for(;l>0;)a=l>>>1,o=t+a,r(n,e[o])?l=a:(t=++o,l-=a+1);return t}},r=s,o=n.A.add("Algorithm",r)},331:(e,t,i)=>{"use strict";i.d(t,{A:()=>u});var n=i(5942),s=i(8727),r=i(683),o=i(2799),a=i(4141);const l=(0,o.A)(h);function h(){this.fogMatrix=new Float32Array(9)}function d(e){this.addType(r.A.X3DFogObject),this.addChildObjects(r.A.inputOutput,"hidden",new n.A.SFBool),this._visibilityRange.setUnit("length"),this.colorArray=new Float32Array(3)}Object.assign(h.prototype,{set(e,t){this.fogNode=e,this.fogMatrix.set(t.submatrix.inverse())},getFogType(){return this.fogNode.getFogType()},setShaderUniforms(e,t){if(t.hasFog(this))return;const i=this.fogNode;e.uniform3fv(t.x3d_FogColor,i.colorArray),e.uniform1f(t.x3d_FogVisibilityStart,i.visibilityStart),e.uniform1f(t.x3d_FogVisibilityRange,i.visibilityRange),e.uniformMatrix3fv(t.x3d_FogMatrix,!1,this.fogMatrix)},dispose(){l.push(this)}}),Object.assign(d.prototype,{initialize(){this._hidden.addInterest("set_fogType__",this),this._fogType.addInterest("set_fogType__",this),this._color.addInterest("set_color__",this),this._visibilityStart.addInterest("set_visibilityRange__",this),this._visibilityRange.addInterest("set_visibilityRange__",this),this.set_color__(),this.set_visibilityRange__()},isHidden(){return this._hidden.getValue()},setHidden(e){e!==this._hidden.getValue()&&(this._hidden=e)},getFogType(){return this.fogType},getFogs:()=>l,set_fogType__:(()=>{const e=new Map([["LINEAR",1],["EXPONENTIAL",2]]);return function(){this._hidden.getValue()||0===this.visibilityRange&&0===this.visibilityStart?this.fogType=0:this.fogType=e.get(this._fogType.getValue())||1}})(),set_color__(){this.colorArray.set(this._color.getValue())},set_visibilityRange__(){this.visibilityStart=Math.max(this._visibilityStart.getValue(),0),this.visibilityRange=Math.max(this._visibilityRange.getValue(),0),this.set_fogType__()},dispose(){}}),Object.defineProperties(d,s.A.getStaticProperties("X3DFogObject","EnvironmentalEffects",1));const c=d,u=a.A.add("X3DFogObject",c)},358:(e,t,i)=>{"use strict";i.d(t,{A:()=>x});var n=i(683),s=i(231),r=i(8197),o=i(4141);function a({style:e="TIDY",indent:t="",indentChar:i=" ",precision:n=7,doublePrecision:r=15,html:o=!1,closingTags:a=!1}){this.string="",this.indent=t,this.listIndent=t,this.precision=s.A.clamp(n,1,21),this.doublePrecision=s.A.clamp(r,1,21),this.html=o,this.closingTags=o||a,this.floatFormat=this.createFloatFormat(this.precision),this.floatExponentialFormat=this.createFloatExponentialFormat(this.precision),this.doubleFormat=this.createFloatFormat(this.doublePrecision),this.doubleExponentialFormat=this.createFloatExponentialFormat(this.doublePrecision),this.Style(e,i),this.executionContextStack=[],this.executionContextIndex=new Set,this.importedNodesIndex=new Map,this.importedNames=new Map,this.exportedNodesIndex=new Map,this.nodes=new Map,this.names=new Map,this.namesByNode=new Map,this.routeNodes=new Map,this.containerFields=[]}Object.assign(a.prototype,{Style(e,t=" "){switch(e){case"CLEAN":this.listIndent="",this.comma=" ",this.break=" ",this.tidyBreak="",this.tidySpace="",this.indentChar="",this.listEnclosure="",this.listBreak="",this.listIndentChar="",this.attribBreak=" ";break;case"SMALL":this.listIndent="",this.comma=",",this.break="\n",this.tidyBreak="\n",this.tidySpace="",this.indentChar="",this.listEnclosure="",this.listBreak="",this.listIndentChar="",this.attribBreak=" ";break;case"COMPACT":this.listIndent="",this.comma=",",this.break="\n",this.tidyBreak="\n",this.tidySpace=" ",this.indentChar=t,this.listEnclosure=" ",this.listBreak=" ",this.listIndentChar="",this.attribBreak=" ";break;default:this.comma=",",this.break="\n",this.tidyBreak="\n",this.tidySpace=" ",this.indentChar=t,this.listEnclosure="\n",this.listBreak="\n",this.listIndentChar=this.indentChar,this.attribBreak="\n"}},Comma(){return this.comma},Break(){return this.break},TidyBreak(){return this.tidyBreak},ForceBreak:()=>"\n",Space:()=>" ",TidySpace(){return this.tidySpace},ListStart(){return this.listEnclosure},ListEnd(){return this.listEnclosure},ListBreak(){return this.listBreak},AttribBreak(){return this.attribBreak},Indent(){return this.indent},ListIndent(){return this.listIndent},IncIndent(){return this.indent+=this.indentChar,this.listIndent+=this.listIndentChar,""},DecIndent(){return this.indent=this.indent.slice(0,this.indent.length-this.indentChar.length),this.listIndent=this.listIndent.slice(0,this.listIndent.length-this.listIndentChar.length),""},createFloatFormat:e=>new Intl.NumberFormat("en",{notation:"standard",maximumSignificantDigits:e,useGrouping:!1}).format,createFloatExponentialFormat:e=>new Intl.NumberFormat("en",{notation:"scientific",maximumSignificantDigits:e,useGrouping:!1}).format,FloatFormat(e){if(Number.isFinite(e)){const t=Math.log10(Math.abs(e));return this.precision>t&&t>=-4||0===e?this.floatFormat(e):this.floatExponentialFormat(e).toLowerCase()}return String(e)},DoubleFormat(e){if(Number.isFinite(e)){const t=Math.log10(Math.abs(e));return this.doublePrecision>t&&t>=-4||0===e?this.doubleFormat(e):this.doubleExponentialFormat(e).toLowerCase()}return String(e)},PushExecutionContext(e){this.executionContextStack.push(e),this.executionContextIndex.has(e)||(this.executionContextIndex.add(e),this.importedNodesIndex.set(e,new Set),this.importedNames.set(e,new Map),this.exportedNodesIndex.set(e,new Set),this.nodes.set(e,new Set),this.names.set(e,new Set),this.namesByNode.set(e,new Map),this.routeNodes.set(e,new Set))},PopExecutionContext(){const e=this.executionContextStack.pop();this.executionContextStack.at(-1)!==e&&(this.executionContextIndex.delete(e),this.importedNodesIndex.delete(e),this.importedNames.delete(e),this.exportedNodesIndex.delete(e),this.nodes.delete(e),this.names.delete(e),this.namesByNode.delete(e),this.routeNodes.delete(e))},ExecutionContext(){return this.executionContextStack.at(-1)},EnterScope(){},LeaveScope(){},NamedNodes(e){const t=this.names.get(this.ExecutionContext()),i=this.namesByNode.get(this.ExecutionContext());for(const n of e)n.getNodeName().match(/^_\d+$/)||(t.add(n.getNodeName()),i.set(n.getValue(),n.getNodeName()))},ExportedNodes(e){const t=this.exportedNodesIndex.get(this.ExecutionContext());for(const i of e)t.add(i.getLocalNode())},ImportedNodes(e){const t=this.importedNodesIndex.get(this.ExecutionContext());for(const i of e)try{t.add(i.getInlineNode())}catch{}},AddRouteNode(e){this.routeNodes.get(this.ExecutionContext()).add(e)},ExistsRouteNode(e){return this.routeNodes.get(this.ExecutionContext()).has(e)},IsSharedNode(e){return this.ExecutionContext()!==e.getExecutionContext()},AddNode(e){this.nodes.get(this.ExecutionContext()).add(e),this.AddRouteNode(e)},ExistsNode(e){return this.nodes.get(this.ExecutionContext()).has(e)},Name(e){const t=this.namesByNode.get(this.ExecutionContext()),i=t.get(e);if(void 0!==i)return i;{const i=this.names.get(this.ExecutionContext()),n=e.getName();if(n.match(/^(?:_\d+)?$/)&&!this.NeedsName(e))return"";const s=(0,r.l)(i,n);return i.add(s),t.set(e,s),s}},NeedsName(e){if(e.getCloneCount()>1)return!0;if(e.hasRoutes())return!0;const t=this.ExecutionContext();return!!this.importedNodesIndex.get(t).has(e)||!!this.exportedNodesIndex.get(t).has(e)},ImportedName(e){const t=this.importedNames.get(this.ExecutionContext());if(t.has(e))return t.get(e);const i=this.names.get(this.ExecutionContext()),n=(0,r.l)(i,e.getImportedName());return i.add(n),t.set(e,n),n},PushContainerField(e){this.containerFields.push(e)},PopContainerField(){this.containerFields.pop()},ContainerField(){return this.containerFields.at(-1)},AccessType(e){switch(e){case n.A.initializeOnly:return"initializeOnly";case n.A.inputOnly:return"inputOnly";case n.A.outputOnly:return"outputOnly";case n.A.inputOutput:return"inputOutput"}},ToUnit(e,t){return this.ExecutionContext()?.toUnit(e,t)??t},XMLEncode:(()=>{const e={"\\":"\\\\","\r":"
","\n":"
","\t":"	",'"':'\\"',"'":"'","<":"<",">":">","&":"&"},t=/([\\\r\n\t"'<>&])/g;return function(i){return i.replace(t,(t=>e[t]))}})(),XMLEncodeSourceText:(()=>{const e={"\\":"\\\\",'"':'\\"',"'":"'","<":"<",">":">","&":"&"},t=/([\\"'<>&])/g;return function(i){return i.replace(t,(t=>e[t]))}})(),JSONEncode:(()=>{const e={"\\":"\\\\","\r":"\\r","\n":"\\n","\t":"\\t",'"':'\\"'},t=/([\\\t\n\r"])/g;return function(i){return i.replace(t,(t=>e[t]))}})(),JSONNumber(e){switch(e){case"NaN":case"Infinity":case"-Infinity":return'"'+e+'"';default:return e}},JSONRemoveComma(){this.string=this.string.trimEnd(),this.string.endsWith(",")&&(this.string=this.string.slice(0,-1)),this.string+=this.TidyBreak()}});for(const e of Object.keys(a.prototype))Object.defineProperty(a.prototype,e,{enumerable:!1});const l=a,h=o.A.add("Generator",l);var d=i(8474),c=i(1514);const u=Symbol(),p=Symbol(),g=Symbol(),f=Symbol(),m=Symbol(),A=[];function _(){}Object.assign(_.prototype,{[u]:"",[p]:null,[g]:null,[f]:null,[m]:new h({}),getId(){return _.getId(this)},getTypeName(){return this.constructor.typeName},setName(e){this[u]=e},getName(){return this[u]},getDisplayName(){return this[u]},hasInterest(e,t){return this[p]?.has(_.getInterestId(t[e],t))??!1},addInterest(e,t,...i){const n=new WeakRef(t),s=t[e],r=_.getInterestId(s,t);this[g]??=new FinalizationRegistry((e=>{for(const t of this[p].keys())t.endsWith(e)&&this[p].delete(t)})),this[p]=new Map(this[p]),this[g].register(t,r.replace(/^[^:]+/,""),t),this[p].set(r,{callback:s,weakRef:n,args:i})},removeInterest(e,t){this[p]?.delete(_.getInterestId(t[e],t))},getInterests(){return this[p]??=new Map},processInterests(){for(const{callback:e,weakRef:t,args:i}of this[p]?.values()??A){const n=t.deref();n&&e.call(n,...i,this)}},getUserData(e){return this[f]?.get(e)},setUserData(e,t){this[f]??=new Map,this[f].set(e,t)},removeUserData(e){this[f]?.delete(e)},toString(e){const t=!e||c.isEmptyObject(e)?this[m]:new h(e);return t.string="",t.PushExecutionContext(e?.scene??null),this.toStream(t),t.PopExecutionContext(),t.string},toVRMLString(e){const t=!e||c.isEmptyObject(e)?this[m]:new h(e);return t.string="",t.PushExecutionContext(e?.scene??null),this.toVRMLStream(t),t.PopExecutionContext(),t.string},toXMLString(e){const t=!e||c.isEmptyObject(e)?this[m]:new h(e);return t.string="",t.PushExecutionContext(e?.scene??null),this.toXMLStream(t),t.PopExecutionContext(),t.string},toJSONString(e){const t=!e||c.isEmptyObject(e)?this[m]:new h(e);return t.string="",t.PushExecutionContext(e?.scene??null),this.toJSONStream(t),t.PopExecutionContext(),t.string},toStream(e){e.string=Object.prototype.toString.call(this)},dispose(){this[p]?.clear(),this[f]?.clear()}});for(const e of Object.keys(_.prototype))Object.defineProperty(_.prototype,e,{enumerable:!1});Object.defineProperties(_.prototype,{[Symbol.toStringTag]:{get(){return this.getTypeName()}}}),Object.assign(_,{getId:d.A.FINALIZATION_REGISTRY?(()=>{const e=new WeakMap,t=[],i=new FinalizationRegistry((e=>t.push(e)));let n=0;return function(s){const r=e.get(s);if(void 0!==r)return r;{const r=t.pop()??++n;return e.set(s,r),i.register(s,r),r}}})():(()=>{const e=new WeakMap;let t=0;return function(i){const n=e.get(i);return void 0!==n?n:(e.set(i,++t),t)}})(),getInterestId(e,t){return`${this.getId(e)}:${this.getId(t)}`}});const y=_,x=o.A.add("X3DObject",y)},521:(e,t,i)=>{"use strict";i.d(t,{A:()=>p});var n=i(5942),s=i(6495),r=i(7893),o=i(8727),a=i(4329),l=i(683),h=i(7095),d=i(4141);function c(e){a.A.call(this,e),this.addType(l.A.PositionInterpolator)}Object.assign(Object.setPrototypeOf(c.prototype,a.A.prototype),{initialize(){a.A.prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new n.A.SFVec3f)},interpolate:(()=>{const e=new h.A;return function(t,i,n){this._value_changed=e.assign(this._keyValue[t].getValue()).lerp(this._keyValue[i].getValue(),n)}})()}),Object.defineProperties(c,{...o.A.getStaticProperties("PositionInterpolator","Interpolation",1,"children","2.0"),fieldDefinitions:{value:new r.A([new s.A(l.A.inputOutput,"metadata",new n.A.SFNode),new s.A(l.A.inputOnly,"set_fraction",new n.A.SFFloat),new s.A(l.A.inputOutput,"key",new n.A.MFFloat),new s.A(l.A.inputOutput,"keyValue",new n.A.MFVec3f),new s.A(l.A.outputOnly,"value_changed",new n.A.SFVec3f)]),enumerable:!0}});const u=c,p=d.A.add("PositionInterpolator",u)},595:(e,t,i)=>{"use strict";i.d(t,{A:()=>g});var n=i(5942),s=i(6495),r=i(7893),o=i(8727),a=i(8561),l=i(7853),h=i(683),d=i(231),c=i(4141);function u(e){a.A.call(this,e),l.A.call(this,e),this.addType(h.A.TimeSensor),this.addChildObjects(h.A.inputOutput,"range",new n.A.MFFloat(0,0,1)),this.cycle=0,this.interval=0,this.fraction=0,this.first=0,this.last=1,this.scale=1}Object.assign(Object.setPrototypeOf(u.prototype,a.A.prototype),l.A.prototype,{initialize(){a.A.prototype.initialize.call(this),l.A.prototype.initialize.call(this),this._cycleInterval.addInterest("set_cycleInterval__",this),this._range.addInterest("set_range__",this)},setRange(e,t,i,n){const s=this.getBrowser().getCurrentTime(),r=this._startTime.getValue(),o=this._cycleInterval.getValue();this.first=d.A.clamp(t,0,1),this.last=d.A.clamp(i,0,1),this.scale=this.last-this.first,this.interval=o*this.scale,this.offset=n&&this.interval?(s-r)/this.interval:0,this.fraction=d.A.fract(e+this.offset),this.cycle=s-(this.fraction-this.first)*o},set_cycleInterval__(){this._isActive.getValue()&&this.setRange(this.fraction,this._range[1],this._range[2],!1)},set_range__(){this._isActive.getValue()&&(this.setRange(this._range[0],this._range[1],this._range[2],!1),this._isPaused.getValue()||this.set_fraction(this.getBrowser().getCurrentTime()))},set_start(){this.setRange(this._range[0],this._range[1],this._range[2],!0);const e=this.getBrowser().getCurrentTime();this._cycleTime=e,this._fraction_changed=this.fraction,this._time=e},set_resume(e){this.setRange(this.fraction,this._range[1],this._range[2],!1)},set_fraction(e){this._fraction_changed=this.fraction=this.first+(this.interval?d.A.fract((e-this.cycle)/this.interval):0)*this.scale},set_time(){const e=this.getBrowser().getCurrentTime();e-this.cycle>=this.interval?this._loop.getValue()?this.interval&&(this.cycle+=this.interval*Math.floor((e-this.cycle)/this.interval),this._elapsedTime=this.getElapsedTime(),this._cycleTime=e,this.set_fraction(e)):(this._fraction_changed=this.fraction=this.last,this.stop()):(this._elapsedTime=this.getElapsedTime(),this.set_fraction(e)),this._time=e},dispose(){l.A.prototype.dispose.call(this),a.A.prototype.dispose.call(this)}}),Object.defineProperties(u,{...o.A.getStaticProperties("TimeSensor","Time",1,"children","2.0"),fieldDefinitions:{value:new r.A([new s.A(h.A.inputOutput,"metadata",new n.A.SFNode),new s.A(h.A.inputOutput,"description",new n.A.SFString),new s.A(h.A.inputOutput,"enabled",new n.A.SFBool(!0)),new s.A(h.A.inputOutput,"cycleInterval",new n.A.SFTime(1)),new s.A(h.A.inputOutput,"loop",new n.A.SFBool),new s.A(h.A.inputOutput,"startTime",new n.A.SFTime(0)),new s.A(h.A.inputOutput,"resumeTime",new n.A.SFTime(0)),new s.A(h.A.inputOutput,"pauseTime",new n.A.SFTime(0)),new s.A(h.A.inputOutput,"stopTime",new n.A.SFTime(0)),new s.A(h.A.outputOnly,"isPaused",new n.A.SFBool),new s.A(h.A.outputOnly,"isActive",new n.A.SFBool),new s.A(h.A.outputOnly,"cycleTime",new n.A.SFTime),new s.A(h.A.outputOnly,"elapsedTime",new n.A.SFTime),new s.A(h.A.outputOnly,"fraction_changed",new n.A.SFFloat),new s.A(h.A.outputOnly,"time",new n.A.SFTime)]),enumerable:!0}});const p=u,g=c.A.add("TimeSensor",p)},617:(e,t,i)=>{"use strict";i.d(t,{A:()=>g});var n=i(5942),s=i(6495),r=i(7893),o=i(8727),a=i(3342),l=i(4241),h=i(683),d=i(4847),c=i(4141);function u(e){a.A.call(this,e),this.addType(h.A.Background)}Object.assign(Object.setPrototypeOf(u.prototype,a.A.prototype),{initialize(){a.A.prototype.initialize.call(this);const e=new l.A(this.getExecutionContext()),t=new l.A(this.getExecutionContext()),i=new l.A(this.getExecutionContext()),n=new l.A(this.getExecutionContext()),s=new l.A(this.getExecutionContext()),r=new l.A(this.getExecutionContext()),o=this.getBrowser().getBackgroundTextureProperties();this._frontUrl.addFieldInterest(e._url),this._backUrl.addFieldInterest(t._url),this._leftUrl.addFieldInterest(i._url),this._rightUrl.addFieldInterest(n._url),this._topUrl.addFieldInterest(s._url),this._bottomUrl.addFieldInterest(r._url),e._url=this._frontUrl,t._url=this._backUrl,i._url=this._leftUrl,n._url=this._rightUrl,s._url=this._topUrl,r._url=this._bottomUrl,e._textureProperties=o,t._textureProperties=o,i._textureProperties=o,n._textureProperties=o,s._textureProperties=o,r._textureProperties=o,e.setup(),t.setup(),i.setup(),n.setup(),s.setup(),r.setup(),this.set_texture__(0,e),this.set_texture__(1,t),this.set_texture__(2,i),this.set_texture__(3,n),this.set_texture__(4,s),this.set_texture__(5,r)}}),Object.defineProperties(u,{...o.A.getStaticProperties("Background","EnvironmentalEffects",1,"children","2.0"),fieldDefinitions:{value:new r.A([new s.A(h.A.inputOutput,"metadata",new n.A.SFNode),new s.A(h.A.inputOnly,"set_bind",new n.A.SFBool),new s.A(h.A.inputOutput,"frontUrl",new n.A.MFString),new s.A(h.A.inputOutput,"backUrl",new n.A.MFString),new s.A(h.A.inputOutput,"leftUrl",new n.A.MFString),new s.A(h.A.inputOutput,"rightUrl",new n.A.MFString),new s.A(h.A.inputOutput,"topUrl",new n.A.MFString),new s.A(h.A.inputOutput,"bottomUrl",new n.A.MFString),new s.A(h.A.inputOutput,"skyAngle",new n.A.MFFloat),new s.A(h.A.inputOutput,"skyColor",new n.A.MFColor(new d.A)),new s.A(h.A.inputOutput,"groundAngle",new n.A.MFFloat),new s.A(h.A.inputOutput,"groundColor",new n.A.MFColor),new s.A(h.A.inputOutput,"transparency",new n.A.SFFloat),new s.A(h.A.outputOnly,"isBound",new n.A.SFBool),new s.A(h.A.outputOnly,"bindTime",new n.A.SFTime)]),enumerable:!0}});const p=u,g=c.A.add("Background",p)},683:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});var n=i(4141);const s={[Symbol.toStringTag]:"X3DConstants"};let r=1e3;Object.defineProperty(s,"addConstant",{value(e,t){this.hasOwnProperty(e)||this.hasOwnProperty(t)||(Object.defineProperty(this,e,{value:t??++r,enumerable:!0}),Object.defineProperty(this,this[e],{value:e}))}}),Object.entries({initializeOnly:1,inputOnly:2,outputOnly:4,inputOutput:7}).forEach((([e,t])=>s.addConstant(e,t))),["CONNECTION_ERROR","BROWSER_EVENT","INITIALIZED_EVENT","SHUTDOWN_EVENT","INITIALIZED_ERROR","NOT_STARTED_STATE","IN_PROGRESS_STATE","COMPLETE_STATE","FAILED_STATE","SFBool","SFColor","SFColorRGBA","SFDouble","SFFloat","SFImage","SFInt32","SFMatrix3d","SFMatrix3f","SFMatrix4d","SFMatrix4f","SFNode","SFRotation","SFString","SFTime","SFVec2d","SFVec2f","SFVec3d","SFVec3f","SFVec4d","SFVec4f","VrmlMatrix","MFBool","MFColor","MFColorRGBA","MFDouble","MFFloat","MFImage","MFInt32","MFMatrix3d","MFMatrix3f","MFMatrix4d","MFMatrix4f","MFNode","MFRotation","MFString","MFTime","MFVec2d","MFVec2f","MFVec3d","MFVec3f","MFVec4d","MFVec4f","X3DBaseNode"].forEach((e=>s.addConstant(e)));const o=s,a=n.A.add("X3DConstants",o)},799:(e,t,i)=>{"use strict";i.d(t,{A:()=>u});var n=i(6602),s=i(6310),r=i(2561),o=i(5137),a=i(7811),l=i(683),h=i(4141);function d(e){s.A.call(this,e),this.addType(l.A.X3DWorld),this.addChildObjects(l.A.outputOnly,"activeLayer",new n.A(this.layer0)),this.defaultLayerSet=new r.A(e),this.layerSet=this.defaultLayerSet,this.layer0=new o.A(e)}Object.assign(Object.setPrototypeOf(d.prototype,s.A.prototype),{initialize(){s.A.prototype.initialize.call(this),this.layerSet.setPrivate(!0),this.layerSet.setup(),this.layerSet.setLayer0(this.layer0),this.layerSet._activeLayer.addInterest("set_rootNodes__",this),this.getExecutionContext().getRootNodes().addInterest("set_rootNodes__",this),this.set_rootNodes__(),this.layer0.setPrivate(!0),this.layer0.setLayer0(!0),this.layer0.setup(),this.set_activeLayer__()},getCache(){return this.getBrowser().getBrowserOption("Cache")},getLayerSet(){return this.layerSet},getActiveLayer(){return this._activeLayer.getValue()},getLayer0(){return this.layer0},set_rootNodes__(){const e=this.layerSet,t=this.getExecutionContext().getRootNodes();this.layerSet=this.defaultLayerSet,this.layer0._children=t;for(const e of t){const t=(0,a.A)(l.A.LayerSet,e);t&&(this.layerSet=t)}this.layerSet!==e&&(this.layerSet.setLayer0(this.layer0),e._activeLayerNode.removeInterest("set_activeLayer__",this),this.layerSet._activeLayerNode.addInterest("set_activeLayer__",this),this.set_activeLayer__())},set_activeLayer__(){this._activeLayer=this.layerSet.getActiveLayer()},bindBindables(){const e=this.getExecutionContext().getWorldURL();this.layerSet.bindBindables(decodeURIComponent(new URL(e).hash.substring(1)))},traverse(e,t){this.layerSet.traverse(e,t)}});for(const e of Object.keys(d.prototype))Object.defineProperty(d.prototype,e,{enumerable:!1});Object.defineProperties(d,{typeName:{value:"X3DWorld",enumerable:!0}}),l.A.addConstant(d.typeName);const c=d,u=h.A.add("X3DWorld",c)},867:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});var n=i(3982),s=(i(8474),i(4141));function r(e){n.A.call(this,e)}Object.assign(Object.setPrototypeOf(r.prototype,n.A.prototype),{at:Array.prototype.at,concat:Array.prototype.concat,entries:Array.prototype.entries,every:Array.prototype.every,fill:Array.prototype.fill,filter(){const e=new this.constructor;for(const t of Array.prototype.filter.call(this,...arguments))e.push(t);return e},find:Array.prototype.find,findIndex:Array.prototype.findIndex,findLast:Array.prototype.findLast,findLastIndex:Array.prototype.findLastIndex,flat:Array.prototype.flat,flatMap:Array.prototype.flatMap,forEach:Array.prototype.forEach,includes:Array.prototype.includes,indexOf:Array.prototype.indexOf,join:Array.prototype.join,keys:Array.prototype.keys,lastIndexOf:Array.prototype.lastIndexOf,map(){const e=new this.constructor;for(const t of Array.prototype.map.call(this,...arguments))e.push(t);return e},reduce:Array.prototype.reduce,reduceRight:Array.prototype.reduceRight,reverse:Array.prototype.reverse,slice(){const e=new this.constructor;for(const t of Array.prototype.slice.call(this,...arguments))e.push(t);return e},some:Array.prototype.some,sort:Array.prototype.sort,toReversed(){return this.copy().reverse()},toSorted(){return this.copy().sort(...arguments)},toSpliced(){const e=this.copy();return e.splice(...arguments),e},values:Array.prototype.values,with(e,t){const i=this.copy();return i[e]=t,i}});for(const e of Object.keys(r.prototype))Object.defineProperty(r.prototype,e,{enumerable:!1});const o=r,a=s.A.add("X3DArrayField",o)},978:(e,t,i)=>{"use strict";i.d(t,{A:()=>p});var n=i(5942),s=i(6495),r=i(7893),o=i(8727),a=i(4329),l=i(683),h=i(231),d=i(4141);function c(e){a.A.call(this,e),this.addType(l.A.ScalarInterpolator)}Object.assign(Object.setPrototypeOf(c.prototype,a.A.prototype),{initialize(){a.A.prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:0)},interpolate(e,t,i){this._value_changed=h.A.lerp(this._keyValue[e],this._keyValue[t],i)}}),Object.defineProperties(c,{...o.A.getStaticProperties("ScalarInterpolator","Interpolation",1,"children","2.0"),fieldDefinitions:{value:new r.A([new s.A(l.A.inputOutput,"metadata",new n.A.SFNode),new s.A(l.A.inputOnly,"set_fraction",new n.A.SFFloat),new s.A(l.A.inputOutput,"key",new n.A.MFFloat),new s.A(l.A.inputOutput,"keyValue",new n.A.MFFloat),new s.A(l.A.outputOnly,"value_changed",new n.A.SFFloat)]),enumerable:!0}});const u=c,p=d.A.add("ScalarInterpolator",u)},1155:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});var n=i(4083),s=i(8564),r=i(4141);function o(e=[]){return n.A.call(this,Array.from(e,(e=>[e.category,e])),s.A)}Object.setPrototypeOf(o.prototype,n.A.prototype);for(const e of Object.keys(o.prototype))Object.defineProperty(o.prototype,e,{enumerable:!1});Object.defineProperties(o,{typeName:{value:"UnitInfoArray",enumerable:!0}});const a=o,l=r.A.add("UnitInfoArray",a)},1230:(e,t,i)=>{"use strict";i.d(t,{A:()=>o});var n=i(4141);const s=Object.assign([],{create(e){const t=this.pop()??new Set;return t.field=e,t.clear(),t},copy(e){const t=this.create(e.field);for(const i of e)t.add(i);return t},from(e){const t=this.create(e);return t.add(e),t}});for(const e of Object.keys(s))Object.defineProperty(s,e,{enumerable:!1});const r=s,o=n.A.add("Events",r)},1249:(e,t,i)=>{"use strict";i.d(t,{A:()=>o});var n=i(4141);function s(e){this.gl=e,this.vertexArrays=new Map}Object.assign(s.prototype,{update(e=!0){return e&&this.dispose(),this},enable(e){const{gl:t,vertexArrays:i}=this,n=i.get(e);if(n)return t.bindVertexArray(n),!1;{i.size>100&&this.dispose();const n=t.createVertexArray();return i.set(e,n),t.bindVertexArray(n),!0}},dispose(){const{gl:e,vertexArrays:t}=this;for(const i of t.values())e.deleteVertexArray(i);t.clear()}});const r=s,o=n.A.add("VertexArray",r)},1458:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(4141);const s=class{#e=0;#t=0;cycles=0;elapsedTime=0;start(){this.#e=Date.now()}stop(){this.#e<=this.#t||(this.#t=Date.now(),this.cycles+=1,this.elapsedTime+=this.#t-this.#e)}reset(){this.#e=0,this.#t=0,this.cycles=0,this.elapsedTime=0}get averageTime(){return this.cycles?this.elapsedTime/this.cycles:0}},r=n.A.add("StopWatch",s)},1514:function(e,t){var i;!function(t,i){"use strict";"object"==typeof e.exports?e.exports=t.document?i(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return i(e)}:i(t)}("undefined"!=typeof window?window:this,(function(n,s){"use strict";var r=[],o=Object.getPrototypeOf,a=r.slice,l=r.flat?function(e){return r.flat.call(e)}:function(e){return r.concat.apply([],e)},h=r.push,d=r.indexOf,c={},u=c.toString,p=c.hasOwnProperty,g=p.toString,f=g.call(Object),m={},A=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},_=function(e){return null!=e&&e===e.window},y=n.document,x={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,i){var n,s,r=(i=i||y).createElement("script");if(r.text=e,t)for(n in x)(s=t[n]||t.getAttribute&&t.getAttribute(n))&&r.setAttribute(n,s);i.head.appendChild(r).parentNode.removeChild(r)}function S(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[u.call(e)]||"object":typeof e}var b="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",T=/HTML$/i,v=function(e,t){return new v.fn.init(e,t)};function O(e){var t=!!e&&"length"in e&&e.length,i=S(e);return!A(e)&&!_(e)&&("array"===i||0===t||"number"==typeof t&&t>0&&t-1 in e)}function E(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}v.fn=v.prototype={jquery:b,constructor:v,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=v.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return v.each(this,e)},map:function(e){return this.pushStack(v.map(this,(function(t,i){return e.call(t,i,t)})))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(v.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(v.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,i=+e+(e<0?t:0);return this.pushStack(i>=0&&i<t?[this[i]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:r.sort,splice:r.splice},v.extend=v.fn.extend=function(){var e,t,i,n,s,r,o=arguments[0]||{},a=1,l=arguments.length,h=!1;for("boolean"==typeof o&&(h=o,o=arguments[a]||{},a++),"object"==typeof o||A(o)||(o={}),a===l&&(o=this,a--);a<l;a++)if(null!=(e=arguments[a]))for(t in e)n=e[t],"__proto__"!==t&&o!==n&&(h&&n&&(v.isPlainObject(n)||(s=Array.isArray(n)))?(i=o[t],r=s&&!Array.isArray(i)?[]:s||v.isPlainObject(i)?i:{},s=!1,o[t]=v.extend(h,r,n)):void 0!==n&&(o[t]=n));return o},v.extend({expando:"jQuery"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,i;return!(!e||"[object Object]"!==u.call(e))&&(!(t=o(e))||"function"==typeof(i=p.call(t,"constructor")&&t.constructor)&&g.call(i)===f)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,i){w(e,{nonce:t&&t.nonce},i)},each:function(e,t){var i,n=0;if(O(e))for(i=e.length;n<i&&!1!==t.call(e[n],n,e[n]);n++);else for(n in e)if(!1===t.call(e[n],n,e[n]))break;return e},text:function(e){var t,i="",n=0,s=e.nodeType;if(!s)for(;t=e[n++];)i+=v.text(t);return 1===s||11===s?e.textContent:9===s?e.documentElement.textContent:3===s||4===s?e.nodeValue:i},makeArray:function(e,t){var i=t||[];return null!=e&&(O(Object(e))?v.merge(i,"string"==typeof e?[e]:e):h.call(i,e)),i},inArray:function(e,t,i){return null==t?-1:d.call(t,e,i)},isXMLDoc:function(e){var t=e&&e.namespaceURI,i=e&&(e.ownerDocument||e).documentElement;return!T.test(t||i&&i.nodeName||"HTML")},merge:function(e,t){for(var i=+t.length,n=0,s=e.length;n<i;n++)e[s++]=t[n];return e.length=s,e},grep:function(e,t,i){for(var n=[],s=0,r=e.length,o=!i;s<r;s++)!t(e[s],s)!==o&&n.push(e[s]);return n},map:function(e,t,i){var n,s,r=0,o=[];if(O(e))for(n=e.length;r<n;r++)null!=(s=t(e[r],r,i))&&o.push(s);else for(r in e)null!=(s=t(e[r],r,i))&&o.push(s);return l(o)},guid:1,support:m}),"function"==typeof Symbol&&(v.fn[Symbol.iterator]=r[Symbol.iterator]),v.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){c["[object "+t+"]"]=t.toLowerCase()}));var N=r.pop,C=r.sort,I=r.splice,F="[\\x20\\t\\r\\n\\f]",M=new RegExp("^"+F+"+|((?:^|[^\\\\])(?:\\\\.)*)"+F+"+$","g");v.contains=function(e,t){var i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(e.contains?e.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))};var R=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function P(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}v.escapeSelector=function(e){return(e+"").replace(R,P)};var D=y,V=h;!function(){var e,t,i,s,o,l,h,c,u,g,f=V,A=v.expando,_=0,y=0,x=ee(),w=ee(),S=ee(),b=ee(),T=function(e,t){return e===t&&(o=!0),0},O="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="(?:\\\\[\\da-fA-F]{1,6}"+F+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",P="\\["+F+"*("+R+")(?:"+F+"*([*^$|!~]?=)"+F+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+F+"*\\]",L=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",B=new RegExp(F+"+","g"),k=new RegExp("^"+F+"*,"+F+"*"),U=new RegExp("^"+F+"*([>+~]|"+F+")"+F+"*"),X=new RegExp(F+"|>"),j=new RegExp(L),z=new RegExp("^"+R+"$"),G={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+L),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+F+"*(even|odd|(([+-]|)(\\d*)n|)"+F+"*(?:([+-]|)"+F+"*(\\d+)|))"+F+"*\\)|)","i"),bool:new RegExp("^(?:"+O+")$","i"),needsContext:new RegExp("^"+F+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+F+"*((?:-\\d)?\\d*)"+F+"*\\)|)(?=[^-]|$)","i")},H=/^(?:input|select|textarea|button)$/i,$=/^h\d$/i,q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Y=/[+~]/,W=new RegExp("\\\\[\\da-fA-F]{1,6}"+F+"?|\\\\([^\\r\\n\\f])","g"),K=function(e,t){var i="0x"+e.slice(1)-65536;return t||(i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320))},J=function(){le()},Z=ue((function(e){return!0===e.disabled&&E(e,"fieldset")}),{dir:"parentNode",next:"legend"});try{f.apply(r=a.call(D.childNodes),D.childNodes),r[D.childNodes.length].nodeType}catch(e){f={apply:function(e,t){V.apply(e,a.call(t))},call:function(e){V.apply(e,a.call(arguments,1))}}}function Q(e,t,i,n){var s,r,o,a,h,d,p,g=t&&t.ownerDocument,_=t?t.nodeType:9;if(i=i||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return i;if(!n&&(le(t),t=t||l,c)){if(11!==_&&(h=q.exec(e)))if(s=h[1]){if(9===_){if(!(o=t.getElementById(s)))return i;if(o.id===s)return f.call(i,o),i}else if(g&&(o=g.getElementById(s))&&Q.contains(t,o)&&o.id===s)return f.call(i,o),i}else{if(h[2])return f.apply(i,t.getElementsByTagName(e)),i;if((s=h[3])&&t.getElementsByClassName)return f.apply(i,t.getElementsByClassName(s)),i}if(!(b[e+" "]||u&&u.test(e))){if(p=e,g=t,1===_&&(X.test(e)||U.test(e))){for((g=Y.test(e)&&ae(t.parentNode)||t)==t&&m.scope||((a=t.getAttribute("id"))?a=v.escapeSelector(a):t.setAttribute("id",a=A)),r=(d=de(e)).length;r--;)d[r]=(a?"#"+a:":scope")+" "+ce(d[r]);p=d.join(",")}try{return f.apply(i,g.querySelectorAll(p)),i}catch(t){b(e,!0)}finally{a===A&&t.removeAttribute("id")}}}return _e(e.replace(M,"$1"),t,i,n)}function ee(){var e=[];return function i(n,s){return e.push(n+" ")>t.cacheLength&&delete i[e.shift()],i[n+" "]=s}}function te(e){return e[A]=!0,e}function ie(e){var t=l.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ne(e){return function(t){return E(t,"input")&&t.type===e}}function se(e){return function(t){return(E(t,"input")||E(t,"button"))&&t.type===e}}function re(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Z(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function oe(e){return te((function(t){return t=+t,te((function(i,n){for(var s,r=e([],i.length,t),o=r.length;o--;)i[s=r[o]]&&(i[s]=!(n[s]=i[s]))}))}))}function ae(e){return e&&void 0!==e.getElementsByTagName&&e}function le(e){var i,n=e?e.ownerDocument||e:D;return n!=l&&9===n.nodeType&&n.documentElement?(h=(l=n).documentElement,c=!v.isXMLDoc(l),g=h.matches||h.webkitMatchesSelector||h.msMatchesSelector,h.msMatchesSelector&&D!=l&&(i=l.defaultView)&&i.top!==i&&i.addEventListener("unload",J),m.getById=ie((function(e){return h.appendChild(e).id=v.expando,!l.getElementsByName||!l.getElementsByName(v.expando).length})),m.disconnectedMatch=ie((function(e){return g.call(e,"*")})),m.scope=ie((function(){return l.querySelectorAll(":scope")})),m.cssHas=ie((function(){try{return l.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}})),m.getById?(t.filter.ID=function(e){var t=e.replace(W,K);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&c){var i=t.getElementById(e);return i?[i]:[]}}):(t.filter.ID=function(e){var t=e.replace(W,K);return function(e){var i=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return i&&i.value===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&c){var i,n,s,r=t.getElementById(e);if(r){if((i=r.getAttributeNode("id"))&&i.value===e)return[r];for(s=t.getElementsByName(e),n=0;r=s[n++];)if((i=r.getAttributeNode("id"))&&i.value===e)return[r]}return[]}}),t.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&c)return t.getElementsByClassName(e)},u=[],ie((function(e){var t;h.appendChild(e).innerHTML="<a id='"+A+"' href='' disabled='disabled'></a><select id='"+A+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||u.push("\\["+F+"*(?:value|"+O+")"),e.querySelectorAll("[id~="+A+"-]").length||u.push("~="),e.querySelectorAll("a#"+A+"+*").length||u.push(".#.+[+~]"),e.querySelectorAll(":checked").length||u.push(":checked"),(t=l.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&u.push(":enabled",":disabled"),(t=l.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||u.push("\\["+F+"*name"+F+"*="+F+"*(?:''|\"\")")})),m.cssHas||u.push(":has"),u=u.length&&new RegExp(u.join("|")),T=function(e,t){if(e===t)return o=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!m.sortDetached&&t.compareDocumentPosition(e)===i?e===l||e.ownerDocument==D&&Q.contains(D,e)?-1:t===l||t.ownerDocument==D&&Q.contains(D,t)?1:s?d.call(s,e)-d.call(s,t):0:4&i?-1:1)},l):l}for(e in Q.matches=function(e,t){return Q(e,null,null,t)},Q.matchesSelector=function(e,t){if(le(e),c&&!b[t+" "]&&(!u||!u.test(t)))try{var i=g.call(e,t);if(i||m.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){b(t,!0)}return Q(t,l,null,[e]).length>0},Q.contains=function(e,t){return(e.ownerDocument||e)!=l&&le(e),v.contains(e,t)},Q.attr=function(e,i){(e.ownerDocument||e)!=l&&le(e);var n=t.attrHandle[i.toLowerCase()],s=n&&p.call(t.attrHandle,i.toLowerCase())?n(e,i,!c):void 0;return void 0!==s?s:e.getAttribute(i)},Q.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},v.uniqueSort=function(e){var t,i=[],n=0,r=0;if(o=!m.sortStable,s=!m.sortStable&&a.call(e,0),C.call(e,T),o){for(;t=e[r++];)t===e[r]&&(n=i.push(r));for(;n--;)I.call(e,i[n],1)}return s=null,e},v.fn.uniqueSort=function(){return this.pushStack(v.uniqueSort(a.apply(this)))},t=v.expr={cacheLength:50,createPseudo:te,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(W,K),e[3]=(e[3]||e[4]||e[5]||"").replace(W,K),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Q.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&Q.error(e[0]),e},PSEUDO:function(e){var t,i=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":i&&j.test(i)&&(t=de(i,!0))&&(t=i.indexOf(")",i.length-t)-i.length)&&(e[0]=e[0].slice(0,t),e[2]=i.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(W,K).toLowerCase();return"*"===e?function(){return!0}:function(e){return E(e,t)}},CLASS:function(e){var t=x[e+" "];return t||(t=new RegExp("(^|"+F+")"+e+"("+F+"|$)"))&&x(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,i){return function(n){var s=Q.attr(n,e);return null==s?"!="===t:!t||(s+="","="===t?s===i:"!="===t?s!==i:"^="===t?i&&0===s.indexOf(i):"*="===t?i&&s.indexOf(i)>-1:"$="===t?i&&s.slice(-i.length)===i:"~="===t?(" "+s.replace(B," ")+" ").indexOf(i)>-1:"|="===t&&(s===i||s.slice(0,i.length+1)===i+"-"))}},CHILD:function(e,t,i,n,s){var r="nth"!==e.slice(0,3),o="last"!==e.slice(-4),a="of-type"===t;return 1===n&&0===s?function(e){return!!e.parentNode}:function(t,i,l){var h,d,c,u,p,g=r!==o?"nextSibling":"previousSibling",f=t.parentNode,m=a&&t.nodeName.toLowerCase(),y=!l&&!a,x=!1;if(f){if(r){for(;g;){for(c=t;c=c[g];)if(a?E(c,m):1===c.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[o?f.firstChild:f.lastChild],o&&y){for(x=(u=(h=(d=f[A]||(f[A]={}))[e]||[])[0]===_&&h[1])&&h[2],c=u&&f.childNodes[u];c=++u&&c&&c[g]||(x=u=0)||p.pop();)if(1===c.nodeType&&++x&&c===t){d[e]=[_,u,x];break}}else if(y&&(x=u=(h=(d=t[A]||(t[A]={}))[e]||[])[0]===_&&h[1]),!1===x)for(;(c=++u&&c&&c[g]||(x=u=0)||p.pop())&&(!(a?E(c,m):1===c.nodeType)||!++x||(y&&((d=c[A]||(c[A]={}))[e]=[_,x]),c!==t)););return(x-=s)===n||x%n===0&&x/n>=0}}},PSEUDO:function(e,i){var n,s=t.pseudos[e]||t.setFilters[e.toLowerCase()]||Q.error("unsupported pseudo: "+e);return s[A]?s(i):s.length>1?(n=[e,e,"",i],t.setFilters.hasOwnProperty(e.toLowerCase())?te((function(e,t){for(var n,r=s(e,i),o=r.length;o--;)e[n=d.call(e,r[o])]=!(t[n]=r[o])})):funct