var Em,_T,hh,Go,lh,hI,oh,MT,mT,Yn,Ho,_n,or,At,Ja,Bo,Ua,sa,Ih,ia,ph,uh,Vo,Eh,Vu,$a,DT,dN,Tf,II,Np,xN,Wo,df,wD,yI,FT,_N,pl,Tp,Il,Rp,NN,ER,GD,UT,MN,AT,RN,_i,ki,fN,IR,lI,ST,Tl,Ap,FN,Nf,LA=Object.defineProperty,z=(t,e,s)=>(((i,r,o)=>{r in i?LA(i,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[r]=o})(t,typeof e!="symbol"?e+"":e,s),s),ZO=(t,e,s)=>{if(!e.has(t))throw TypeError("Cannot "+s)},se=(t,e,s)=>(ZO(t,e,"read from private field"),s?s.call(t):e.get(t)),yt=(t,e,s)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,s)},at=(t,e,s,i)=>(ZO(t,e,"write to private field"),i?i.call(t,s):e.set(t,s),s),Rf=(t,e,s,i)=>({set _(r){at(t,e,r,s)},get _(){return se(t,e,i)}}),ke=(t,e,s)=>(ZO(t,e,"access private method"),s),ff=class{constructor(){z(this,"_list",new Map),z(this,"_communicationKey",0)}setupInput(e){e.requestId=this._communicationKey++}set(e,s,i){let r=this.newHandler(s,i);this._list.set(e,r)}run(e){let s=this._list.get(e.requestId);this._list.delete(e.requestId),s(e)}newHandler(e,s){return i=>{i.errorInfo?e(i.errorInfo):s(i)}}};var Im=1001,jo="srgb",ym="srgb-linear",Tm="linear",yR="srgb",BE=7680,Of=2e3,mf=2001,SI=class{addEventListener(e,s){this._listeners===void 0&&(this._listeners={});let i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(s)===-1&&i[e].push(s)}hasEventListener(e,s){let i=this._listeners;return i!==void 0&&i[e]!==void 0&&i[e].indexOf(s)!==-1}removeEventListener(e,s){let i=this._listeners;if(i===void 0)return;let r=i[e];if(r!==void 0){let o=r.indexOf(s);o!==-1&&r.splice(o,1)}}dispatchEvent(e){let s=this._listeners;if(s===void 0)return;let i=s[e.type];if(i!==void 0){e.target=this;let r=i.slice(0);for(let o=0,y=r.length;o>8&255]+Da[t>>16&255]+Da[t>>24&255]+"-"+Da[255&e]+Da[e>>8&255]+"-"+Da[e>>16&15|64]+Da[e>>24&255]+"-"+Da[63&s|128]+Da[s>>8&255]+"-"+Da[s>>16&255]+Da[s>>24&255]+Da[255&i]+Da[i>>8&255]+Da[i>>16&255]+Da[i>>24&255]).toLowerCase()}function jt(t,e,s){return Math.max(e,Math.min(s,t))}function Df(t,e){return(t%e+e)%e}function wT(t,e,s){return(1-s)*t+s*e}function pI(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Fa(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(4294967295*t);case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int32Array:return Math.round(2147483647*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.")}}var gA={DEG2RAD:Nm,RAD2DEG:Rm,generateUUID:xI,clamp:jt,euclideanModulo:Df,mapLinear:function(t,e,s,i,r){return i+(t-e)*(r-i)/(s-e)},inverseLerp:function(t,e,s){return t!==e?(s-t)/(e-t):0},lerp:wT,damp:function(t,e,s,i){return wT(t,e,1-Math.exp(-s*i))},pingpong:function(t,e=1){return e-Math.abs(Df(t,2*e)-e)},smoothstep:function(t,e,s){return t<=e?0:t>=s?1:(t=(t-e)/(s-e))*t*(3-2*t)},smootherstep:function(t,e,s){return t<=e?0:t>=s?1:(t=(t-e)/(s-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){t!==void 0&&(dm=t);let e=dm+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*Nm},radToDeg:function(t){return t*Rm},isPowerOfTwo:function(t){return!(t&t-1)&&t!==0},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,e,s,i,r){let o=Math.cos,y=Math.sin,R=o(s/2),v=y(s/2),P=o((e+i)/2),M=y((e+i)/2),G=o((e-i)/2),w=y((e-i)/2),H=o((i-e)/2),W=y((i-e)/2);switch(r){case"XYX":t.set(R*M,v*G,v*w,R*P);break;case"YZY":t.set(v*w,R*M,v*G,R*P);break;case"ZXZ":t.set(v*G,v*w,R*M,R*P);break;case"XZX":t.set(R*M,v*W,v*H,R*P);break;case"YXY":t.set(v*H,R*M,v*W,R*P);break;case"ZYZ":t.set(v*W,v*H,R*M,R*P);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}},normalize:Fa,denormalize:pI},aa=class t{constructor(e=0,s=0){t.prototype.isVector2=!0,this.x=e,this.y=s}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,s){return this.x=e,this.y=s,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,s){switch(e){case 0:this.x=s;break;case 1:this.y=s;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,s){return this.x=e.x+s.x,this.y=e.y+s.y,this}addScaledVector(e,s){return this.x+=e.x*s,this.y+=e.y*s,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,s){return this.x=e.x-s.x,this.y=e.y-s.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let s=this.x,i=this.y,r=e.elements;return this.x=r[0]*s+r[3]*i+r[6],this.y=r[1]*s+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,s){return this.x=jt(this.x,e.x,s.x),this.y=jt(this.y,e.y,s.y),this}clampScalar(e,s){return this.x=jt(this.x,e,s),this.y=jt(this.y,e,s),this}clampLength(e,s){let i=this.length();return this.divideScalar(i||1).multiplyScalar(jt(i,e,s))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let s=Math.sqrt(this.lengthSq()*e.lengthSq());if(s===0)return Math.PI/2;let i=this.dot(e)/s;return Math.acos(jt(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let s=this.x-e.x,i=this.y-e.y;return s*s+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,s){return this.x+=(e.x-this.x)*s,this.y+=(e.y-this.y)*s,this}lerpVectors(e,s,i){return this.x=e.x+(s.x-e.x)*i,this.y=e.y+(s.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,s=0){return this.x=e[s],this.y=e[s+1],this}toArray(e=[],s=0){return e[s]=this.x,e[s+1]=this.y,e}fromBufferAttribute(e,s){return this.x=e.getX(s),this.y=e.getY(s),this}rotateAround(e,s){let i=Math.cos(s),r=Math.sin(s),o=this.x-e.x,y=this.y-e.y;return this.x=o*i-y*r+e.x,this.y=o*r+y*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},fl=class t{constructor(e,s,i,r,o,y,R,v,P){t.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,s,i,r,o,y,R,v,P)}set(e,s,i,r,o,y,R,v,P){let M=this.elements;return M[0]=e,M[1]=r,M[2]=R,M[3]=s,M[4]=o,M[5]=v,M[6]=i,M[7]=y,M[8]=P,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let s=this.elements,i=e.elements;return s[0]=i[0],s[1]=i[1],s[2]=i[2],s[3]=i[3],s[4]=i[4],s[5]=i[5],s[6]=i[6],s[7]=i[7],s[8]=i[8],this}extractBasis(e,s,i){return e.setFromMatrix3Column(this,0),s.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let s=e.elements;return this.set(s[0],s[4],s[8],s[1],s[5],s[9],s[2],s[6],s[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,s){let i=e.elements,r=s.elements,o=this.elements,y=i[0],R=i[3],v=i[6],P=i[1],M=i[4],G=i[7],w=i[2],H=i[5],W=i[8],k=r[0],j=r[3],X=r[6],q=r[1],K=r[4],Q=r[7],ie=r[2],ee=r[5],oe=r[8];return o[0]=y*k+R*q+v*ie,o[3]=y*j+R*K+v*ee,o[6]=y*X+R*Q+v*oe,o[1]=P*k+M*q+G*ie,o[4]=P*j+M*K+G*ee,o[7]=P*X+M*Q+G*oe,o[2]=w*k+H*q+W*ie,o[5]=w*j+H*K+W*ee,o[8]=w*X+H*Q+W*oe,this}multiplyScalar(e){let s=this.elements;return s[0]*=e,s[3]*=e,s[6]*=e,s[1]*=e,s[4]*=e,s[7]*=e,s[2]*=e,s[5]*=e,s[8]*=e,this}determinant(){let e=this.elements,s=e[0],i=e[1],r=e[2],o=e[3],y=e[4],R=e[5],v=e[6],P=e[7],M=e[8];return s*y*M-s*R*P-i*o*M+i*R*v+r*o*P-r*y*v}invert(){let e=this.elements,s=e[0],i=e[1],r=e[2],o=e[3],y=e[4],R=e[5],v=e[6],P=e[7],M=e[8],G=M*y-R*P,w=R*v-M*o,H=P*o-y*v,W=s*G+i*w+r*H;if(W===0)return this.set(0,0,0,0,0,0,0,0,0);let k=1/W;return e[0]=G*k,e[1]=(r*P-M*i)*k,e[2]=(R*i-r*y)*k,e[3]=w*k,e[4]=(M*s-r*v)*k,e[5]=(r*o-R*s)*k,e[6]=H*k,e[7]=(i*v-P*s)*k,e[8]=(y*s-i*o)*k,this}transpose(){let e,s=this.elements;return e=s[1],s[1]=s[3],s[3]=e,e=s[2],s[2]=s[6],s[6]=e,e=s[5],s[5]=s[7],s[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let s=this.elements;return e[0]=s[0],e[1]=s[3],e[2]=s[6],e[3]=s[1],e[4]=s[4],e[5]=s[7],e[6]=s[2],e[7]=s[5],e[8]=s[8],this}setUvTransform(e,s,i,r,o,y,R){let v=Math.cos(o),P=Math.sin(o);return this.set(i*v,i*P,-i*(v*y+P*R)+y+e,-r*P,r*v,-r*(-P*y+v*R)+R+s,0,0,1),this}scale(e,s){return this.premultiply(TR.makeScale(e,s)),this}rotate(e){return this.premultiply(TR.makeRotation(-e)),this}translate(e,s){return this.premultiply(TR.makeTranslation(e,s)),this}makeTranslation(e,s){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,s,0,0,1),this}makeRotation(e){let s=Math.cos(e),i=Math.sin(e);return this.set(s,-i,0,i,s,0,0,0,1),this}makeScale(e,s){return this.set(e,0,0,0,s,0,0,0,1),this}equals(e){let s=this.elements,i=e.elements;for(let r=0;r<9;r++)if(s[r]!==i[r])return!1;return!0}fromArray(e,s=0){for(let i=0;i<9;i++)this.elements[i]=e[i+s];return this}toArray(e=[],s=0){let i=this.elements;return e[s]=i[0],e[s+1]=i[1],e[s+2]=i[2],e[s+3]=i[3],e[s+4]=i[4],e[s+5]=i[5],e[s+6]=i[6],e[s+7]=i[7],e[s+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}},TR=new fl;function fm(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}var Om=new fl().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),mm=new fl().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function PA(){let t={enabled:!0,workingColorSpace:ym,spaces:{},convert:function(r,o,y){return this.enabled!==!1&&o!==y&&o&&y&&(this.spaces[o].transfer===yR&&(r.r=Rl(r.r),r.g=Rl(r.g),r.b=Rl(r.b)),this.spaces[o].primaries!==this.spaces[y].primaries&&(r.applyMatrix3(this.spaces[o].toXYZ),r.applyMatrix3(this.spaces[y].fromXYZ)),this.spaces[y].transfer===yR&&(r.r=fI(r.r),r.g=fI(r.g),r.b=fI(r.b))),r},fromWorkingColorSpace:function(r,o){return this.convert(r,this.workingColorSpace,o)},toWorkingColorSpace:function(r,o){return this.convert(r,o,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===""?Tm:this.spaces[r].transfer},getLuminanceCoefficients:function(r,o=this.workingColorSpace){return r.fromArray(this.spaces[o].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,o,y){return r.copy(this.spaces[o].toXYZ).multiply(this.spaces[y].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.spaces[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],s=[.2126,.7152,.0722],i=[.3127,.329];return t.define({[ym]:{primaries:e,whitePoint:i,transfer:Tm,toXYZ:Om,fromXYZ:mm,luminanceCoefficients:s,workingColorSpaceConfig:{unpackColorSpace:jo},outputColorSpaceConfig:{drawingBufferColorSpace:jo}},[jo]:{primaries:e,whitePoint:i,transfer:yR,toXYZ:Om,fromXYZ:mm,luminanceCoefficients:s,outputColorSpaceConfig:{drawingBufferColorSpace:jo}}}),t}var dc=PA();function Rl(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function fI(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}var VE,Af=class{static getDataURL(e,s="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let i;if(e instanceof HTMLCanvasElement)i=e;else{VE===void 0&&(VE=fm("canvas")),VE.width=e.width,VE.height=e.height;let r=VE.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),i=VE}return i.toDataURL(s)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let s=fm("canvas");s.width=e.width,s.height=e.height;let i=s.getContext("2d");i.drawImage(e,0,0,e.width,e.height);let r=i.getImageData(0,0,e.width,e.height),o=r.data;for(let y=0;y0&&(i.userData=this.userData),s||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case 1e3:e.x=e.x-Math.floor(e.x);break;case Im:e.x=e.x<0?0:1;break;case 1002:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case 1e3:e.y=e.y-Math.floor(e.y);break;case Im:e.y=e.y<0?0:1;break;case 1002:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};OI.DEFAULT_IMAGE=null,OI.DEFAULT_MAPPING=300,OI.DEFAULT_ANISOTROPY=1;var qT=class t{constructor(e=0,s=0,i=0,r=1){t.prototype.isVector4=!0,this.x=e,this.y=s,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,s,i,r){return this.x=e,this.y=s,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,s){switch(e){case 0:this.x=s;break;case 1:this.y=s;break;case 2:this.z=s;break;case 3:this.w=s;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,s){return this.x=e.x+s.x,this.y=e.y+s.y,this.z=e.z+s.z,this.w=e.w+s.w,this}addScaledVector(e,s){return this.x+=e.x*s,this.y+=e.y*s,this.z+=e.z*s,this.w+=e.w*s,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,s){return this.x=e.x-s.x,this.y=e.y-s.y,this.z=e.z-s.z,this.w=e.w-s.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let s=this.x,i=this.y,r=this.z,o=this.w,y=e.elements;return this.x=y[0]*s+y[4]*i+y[8]*r+y[12]*o,this.y=y[1]*s+y[5]*i+y[9]*r+y[13]*o,this.z=y[2]*s+y[6]*i+y[10]*r+y[14]*o,this.w=y[3]*s+y[7]*i+y[11]*r+y[15]*o,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let s=Math.sqrt(1-e.w*e.w);return s<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/s,this.y=e.y/s,this.z=e.z/s),this}setAxisAngleFromRotationMatrix(e){let s,i,r,o,v=e.elements,P=v[0],M=v[4],G=v[8],w=v[1],H=v[5],W=v[9],k=v[2],j=v[6],X=v[10];if(Math.abs(M-w)<.01&&Math.abs(G-k)<.01&&Math.abs(W-j)<.01){if(Math.abs(M+w)<.1&&Math.abs(G+k)<.1&&Math.abs(W+j)<.1&&Math.abs(P+H+X-3)<.1)return this.set(1,0,0,0),this;s=Math.PI;let K=(P+1)/2,Q=(H+1)/2,ie=(X+1)/2,ee=(M+w)/4,oe=(G+k)/4,re=(W+j)/4;return K>Q&&K>ie?K<.01?(i=0,r=.707106781,o=.707106781):(i=Math.sqrt(K),r=ee/i,o=oe/i):Q>ie?Q<.01?(i=.707106781,r=0,o=.707106781):(r=Math.sqrt(Q),i=ee/r,o=re/r):ie<.01?(i=.707106781,r=.707106781,o=0):(o=Math.sqrt(ie),i=oe/o,r=re/o),this.set(i,r,o,s),this}let q=Math.sqrt((j-W)*(j-W)+(G-k)*(G-k)+(w-M)*(w-M));return Math.abs(q)<.001&&(q=1),this.x=(j-W)/q,this.y=(G-k)/q,this.z=(w-M)/q,this.w=Math.acos((P+H+X-1)/2),this}setFromMatrixPosition(e){let s=e.elements;return this.x=s[12],this.y=s[13],this.z=s[14],this.w=s[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,s){return this.x=jt(this.x,e.x,s.x),this.y=jt(this.y,e.y,s.y),this.z=jt(this.z,e.z,s.z),this.w=jt(this.w,e.w,s.w),this}clampScalar(e,s){return this.x=jt(this.x,e,s),this.y=jt(this.y,e,s),this.z=jt(this.z,e,s),this.w=jt(this.w,e,s),this}clampLength(e,s){let i=this.length();return this.divideScalar(i||1).multiplyScalar(jt(i,e,s))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,s){return this.x+=(e.x-this.x)*s,this.y+=(e.y-this.y)*s,this.z+=(e.z-this.z)*s,this.w+=(e.w-this.w)*s,this}lerpVectors(e,s,i){return this.x=e.x+(s.x-e.x)*i,this.y=e.y+(s.y-e.y)*i,this.z=e.z+(s.z-e.z)*i,this.w=e.w+(s.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,s=0){return this.x=e[s],this.y=e[s+1],this.z=e[s+2],this.w=e[s+3],this}toArray(e=[],s=0){return e[s]=this.x,e[s+1]=this.y,e[s+2]=this.z,e[s+3]=this.w,e}fromBufferAttribute(e,s){return this.x=e.getX(s),this.y=e.getY(s),this.z=e.getZ(s),this.w=e.getW(s),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},gp=class{constructor(e=0,s=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=s,this._z=i,this._w=r}static slerpFlat(e,s,i,r,o,y,R){let v=i[r+0],P=i[r+1],M=i[r+2],G=i[r+3],w=o[y+0],H=o[y+1],W=o[y+2],k=o[y+3];if(R===0)return e[s+0]=v,e[s+1]=P,e[s+2]=M,void(e[s+3]=G);if(R===1)return e[s+0]=w,e[s+1]=H,e[s+2]=W,void(e[s+3]=k);if(G!==k||v!==w||P!==H||M!==W){let j=1-R,X=v*w+P*H+M*W+G*k,q=X>=0?1:-1,K=1-X*X;if(K>Number.EPSILON){let ie=Math.sqrt(K),ee=Math.atan2(ie,X*q);j=Math.sin(j*ee)/ie,R=Math.sin(R*ee)/ie}let Q=R*q;if(v=v*j+w*Q,P=P*j+H*Q,M=M*j+W*Q,G=G*j+k*Q,j===1-R){let ie=1/Math.sqrt(v*v+P*P+M*M+G*G);v*=ie,P*=ie,M*=ie,G*=ie}}e[s]=v,e[s+1]=P,e[s+2]=M,e[s+3]=G}static multiplyQuaternionsFlat(e,s,i,r,o,y){let R=i[r],v=i[r+1],P=i[r+2],M=i[r+3],G=o[y],w=o[y+1],H=o[y+2],W=o[y+3];return e[s]=R*W+M*G+v*H-P*w,e[s+1]=v*W+M*w+P*G-R*H,e[s+2]=P*W+M*H+R*w-v*G,e[s+3]=M*W-R*G-v*w-P*H,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,s,i,r){return this._x=e,this._y=s,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,s=!0){let i=e._x,r=e._y,o=e._z,y=e._order,R=Math.cos,v=Math.sin,P=R(i/2),M=R(r/2),G=R(o/2),w=v(i/2),H=v(r/2),W=v(o/2);switch(y){case"XYZ":this._x=w*M*G+P*H*W,this._y=P*H*G-w*M*W,this._z=P*M*W+w*H*G,this._w=P*M*G-w*H*W;break;case"YXZ":this._x=w*M*G+P*H*W,this._y=P*H*G-w*M*W,this._z=P*M*W-w*H*G,this._w=P*M*G+w*H*W;break;case"ZXY":this._x=w*M*G-P*H*W,this._y=P*H*G+w*M*W,this._z=P*M*W+w*H*G,this._w=P*M*G-w*H*W;break;case"ZYX":this._x=w*M*G-P*H*W,this._y=P*H*G+w*M*W,this._z=P*M*W-w*H*G,this._w=P*M*G+w*H*W;break;case"YZX":this._x=w*M*G+P*H*W,this._y=P*H*G+w*M*W,this._z=P*M*W-w*H*G,this._w=P*M*G-w*H*W;break;case"XZY":this._x=w*M*G-P*H*W,this._y=P*H*G-w*M*W,this._z=P*M*W+w*H*G,this._w=P*M*G+w*H*W;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+y)}return s===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,s){let i=s/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){let s=e.elements,i=s[0],r=s[4],o=s[8],y=s[1],R=s[5],v=s[9],P=s[2],M=s[6],G=s[10],w=i+R+G;if(w>0){let H=.5/Math.sqrt(w+1);this._w=.25/H,this._x=(M-v)*H,this._y=(o-P)*H,this._z=(y-r)*H}else if(i>R&&i>G){let H=2*Math.sqrt(1+i-R-G);this._w=(M-v)/H,this._x=.25*H,this._y=(r+y)/H,this._z=(o+P)/H}else if(R>G){let H=2*Math.sqrt(1+R-i-G);this._w=(o-P)/H,this._x=(r+y)/H,this._y=.25*H,this._z=(v+M)/H}else{let H=2*Math.sqrt(1+G-i-R);this._w=(y-r)/H,this._x=(o+P)/H,this._y=(v+M)/H,this._z=.25*H}return this._onChangeCallback(),this}setFromUnitVectors(e,s){let i=e.dot(s)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*s.z-e.z*s.y,this._y=e.z*s.x-e.x*s.z,this._z=e.x*s.y-e.y*s.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(jt(this.dot(e),-1,1)))}rotateTowards(e,s){let i=this.angleTo(e);if(i===0)return this;let r=Math.min(1,s/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,s){let i=e._x,r=e._y,o=e._z,y=e._w,R=s._x,v=s._y,P=s._z,M=s._w;return this._x=i*M+y*R+r*P-o*v,this._y=r*M+y*v+o*R-i*P,this._z=o*M+y*P+i*v-r*R,this._w=y*M-i*R-r*v-o*P,this._onChangeCallback(),this}slerp(e,s){if(s===0)return this;if(s===1)return this.copy(e);let i=this._x,r=this._y,o=this._z,y=this._w,R=y*e._w+i*e._x+r*e._y+o*e._z;if(R<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,R=-R):this.copy(e),R>=1)return this._w=y,this._x=i,this._y=r,this._z=o,this;let v=1-R*R;if(v<=Number.EPSILON){let H=1-s;return this._w=H*y+s*this._w,this._x=H*i+s*this._x,this._y=H*r+s*this._y,this._z=H*o+s*this._z,this.normalize(),this}let P=Math.sqrt(v),M=Math.atan2(P,R),G=Math.sin((1-s)*M)/P,w=Math.sin(s*M)/P;return this._w=y*G+this._w*w,this._x=i*G+this._x*w,this._y=r*G+this._y*w,this._z=o*G+this._z*w,this._onChangeCallback(),this}slerpQuaternions(e,s,i){return this.copy(e).slerp(s,i)}random(){let e=2*Math.PI*Math.random(),s=2*Math.PI*Math.random(),i=Math.random(),r=Math.sqrt(1-i),o=Math.sqrt(i);return this.set(r*Math.sin(e),r*Math.cos(e),o*Math.sin(s),o*Math.cos(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,s=0){return this._x=e[s],this._y=e[s+1],this._z=e[s+2],this._w=e[s+3],this._onChangeCallback(),this}toArray(e=[],s=0){return e[s]=this._x,e[s+1]=this._y,e[s+2]=this._z,e[s+3]=this._w,e}fromBufferAttribute(e,s){return this._x=e.getX(s),this._y=e.getY(s),this._z=e.getZ(s),this._w=e.getW(s),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},te=class t{constructor(e=0,s=0,i=0){t.prototype.isVector3=!0,this.x=e,this.y=s,this.z=i}set(e,s,i){return i===void 0&&(i=this.z),this.x=e,this.y=s,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,s){switch(e){case 0:this.x=s;break;case 1:this.y=s;break;case 2:this.z=s;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,s){return this.x=e.x+s.x,this.y=e.y+s.y,this.z=e.z+s.z,this}addScaledVector(e,s){return this.x+=e.x*s,this.y+=e.y*s,this.z+=e.z*s,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,s){return this.x=e.x-s.x,this.y=e.y-s.y,this.z=e.z-s.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,s){return this.x=e.x*s.x,this.y=e.y*s.y,this.z=e.z*s.z,this}applyEuler(e){return this.applyQuaternion(Dm.setFromEuler(e))}applyAxisAngle(e,s){return this.applyQuaternion(Dm.setFromAxisAngle(e,s))}applyMatrix3(e){let s=this.x,i=this.y,r=this.z,o=e.elements;return this.x=o[0]*s+o[3]*i+o[6]*r,this.y=o[1]*s+o[4]*i+o[7]*r,this.z=o[2]*s+o[5]*i+o[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let s=this.x,i=this.y,r=this.z,o=e.elements,y=1/(o[3]*s+o[7]*i+o[11]*r+o[15]);return this.x=(o[0]*s+o[4]*i+o[8]*r+o[12])*y,this.y=(o[1]*s+o[5]*i+o[9]*r+o[13])*y,this.z=(o[2]*s+o[6]*i+o[10]*r+o[14])*y,this}applyQuaternion(e){let s=this.x,i=this.y,r=this.z,o=e.x,y=e.y,R=e.z,v=e.w,P=2*(y*r-R*i),M=2*(R*s-o*r),G=2*(o*i-y*s);return this.x=s+v*P+y*G-R*M,this.y=i+v*M+R*P-o*G,this.z=r+v*G+o*M-y*P,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let s=this.x,i=this.y,r=this.z,o=e.elements;return this.x=o[0]*s+o[4]*i+o[8]*r,this.y=o[1]*s+o[5]*i+o[9]*r,this.z=o[2]*s+o[6]*i+o[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,s){return this.x=jt(this.x,e.x,s.x),this.y=jt(this.y,e.y,s.y),this.z=jt(this.z,e.z,s.z),this}clampScalar(e,s){return this.x=jt(this.x,e,s),this.y=jt(this.y,e,s),this.z=jt(this.z,e,s),this}clampLength(e,s){let i=this.length();return this.divideScalar(i||1).multiplyScalar(jt(i,e,s))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,s){return this.x+=(e.x-this.x)*s,this.y+=(e.y-this.y)*s,this.z+=(e.z-this.z)*s,this}lerpVectors(e,s,i){return this.x=e.x+(s.x-e.x)*i,this.y=e.y+(s.y-e.y)*i,this.z=e.z+(s.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,s){let i=e.x,r=e.y,o=e.z,y=s.x,R=s.y,v=s.z;return this.x=r*v-o*R,this.y=o*y-i*v,this.z=i*R-r*y,this}projectOnVector(e){let s=e.lengthSq();if(s===0)return this.set(0,0,0);let i=e.dot(this)/s;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return NR.copy(this).projectOnVector(e),this.sub(NR)}reflect(e){return this.sub(NR.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let s=Math.sqrt(this.lengthSq()*e.lengthSq());if(s===0)return Math.PI/2;let i=this.dot(e)/s;return Math.acos(jt(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let s=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return s*s+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,s,i){let r=Math.sin(s)*e;return this.x=r*Math.sin(i),this.y=Math.cos(s)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,s,i){return this.x=e*Math.sin(s),this.y=i,this.z=e*Math.cos(s),this}setFromMatrixPosition(e){let s=e.elements;return this.x=s[12],this.y=s[13],this.z=s[14],this}setFromMatrixScale(e){let s=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=s,this.y=i,this.z=r,this}setFromMatrixColumn(e,s){return this.fromArray(e.elements,4*s)}setFromMatrix3Column(e,s){return this.fromArray(e.elements,3*s)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,s=0){return this.x=e[s],this.y=e[s+1],this.z=e[s+2],this}toArray(e=[],s=0){return e[s]=this.x,e[s+1]=this.y,e[s+2]=this.z,e}fromBufferAttribute(e,s){return this.x=e.getX(s),this.y=e.getY(s),this.z=e.getZ(s),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,s=2*Math.random()-1,i=Math.sqrt(1-s*s);return this.x=i*Math.cos(e),this.y=s,this.z=i*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},NR=new te,Dm=new gp,di=class{constructor(e=new te(1/0,1/0,1/0),s=new te(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=s}set(e,s){return this.min.copy(e),this.max.copy(s),this}setFromArray(e){this.makeEmpty();for(let s=0,i=e.length;s=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,s){return s.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Nc),Nc.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let s,i;return e.normal.x>0?(s=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(s=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(s+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(s+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(s+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(s+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),s<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(cT),Dd.subVectors(this.max,cT),WE.subVectors(e.a,cT),jE.subVectors(e.b,cT),YE.subVectors(e.c,cT),lp.subVectors(jE,WE),pp.subVectors(YE,jE),Mu.subVectors(WE,YE);let s=[0,-lp.z,lp.y,0,-pp.z,pp.y,0,-Mu.z,Mu.y,lp.z,0,-lp.x,pp.z,0,-pp.x,Mu.z,0,-Mu.x,-lp.y,lp.x,0,-pp.y,pp.x,0,-Mu.y,Mu.x,0];return!!RR(s,WE,jE,YE,Dd)&&(s=[1,0,0,0,1,0,0,0,1],!!RR(s,WE,jE,YE,Dd)&&(Ad.crossVectors(lp,pp),s=[Ad.x,Ad.y,Ad.z],RR(s,WE,jE,YE,Dd)))}clampPoint(e,s){return s.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Nc).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(Nc).length()),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()||(nl[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),nl[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),nl[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),nl[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),nl[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),nl[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),nl[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),nl[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(nl)),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},nl=[new te,new te,new te,new te,new te,new te,new te,new te],Nc=new te,md=new di,WE=new te,jE=new te,YE=new te,lp=new te,pp=new te,Mu=new te,cT=new te,Dd=new te,Ad=new te,Fu=new te;function RR(t,e,s,i,r){for(let o=0,y=t.length-3;o<=y;o+=3){Fu.fromArray(t,o);let R=r.x*Math.abs(Fu.x)+r.y*Math.abs(Fu.y)+r.z*Math.abs(Fu.z),v=e.dot(Fu),P=s.dot(Fu),M=i.dot(Fu);if(Math.max(-Math.max(v,P,M),Math.min(v,P,M))>R)return!1}return!0}var MA=new di,hT=new te,fR=new te,Pp=class{constructor(e=new te,s=-1){this.isSphere=!0,this.center=e,this.radius=s}set(e,s){return this.center.copy(e),this.radius=s,this}setFromPoints(e,s){let i=this.center;s!==void 0?i.copy(s):MA.setFromPoints(e).getCenter(i);let r=0;for(let o=0,y=e.length;othis.radius*this.radius&&(s.sub(this.center).normalize(),s.multiplyScalar(this.radius).add(this.center)),s}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;hT.subVectors(e,this.center);let s=hT.lengthSq();if(s>this.radius*this.radius){let i=Math.sqrt(s),r=.5*(i-this.radius);this.center.addScaledVector(hT,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(fR.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(hT.copy(e.center).add(fR)),this.expandByPoint(hT.copy(e.center).sub(fR))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}},al=new te,OR=new te,Sd=new te,up=new te,mR=new te,Cd=new te,DR=new te,xp=class{constructor(e=new te,s=new te(0,0,-1)){this.origin=e,this.direction=s}set(e,s){return this.origin.copy(e),this.direction.copy(s),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,s){return s.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,al)),this}closestPointToPoint(e,s){s.subVectors(e,this.origin);let i=s.dot(this.direction);return i<0?s.copy(this.origin):s.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let s=al.subVectors(e,this.origin).dot(this.direction);return s<0?this.origin.distanceToSquared(e):(al.copy(this.origin).addScaledVector(this.direction,s),al.distanceToSquared(e))}distanceSqToSegment(e,s,i,r){OR.copy(e).add(s).multiplyScalar(.5),Sd.copy(s).sub(e).normalize(),up.copy(this.origin).sub(OR);let o=.5*e.distanceTo(s),y=-this.direction.dot(Sd),R=up.dot(this.direction),v=-up.dot(Sd),P=up.lengthSq(),M=Math.abs(1-y*y),G,w,H,W;if(M>0)if(G=y*v-R,w=y*R-v,W=o*M,G>=0)if(w>=-W)if(w<=W){let k=1/M;G*=k,w*=k,H=G*(G+y*w+2*R)+w*(y*G+w+2*v)+P}else w=o,G=Math.max(0,-(y*w+R)),H=-G*G+w*(w+2*v)+P;else w=-o,G=Math.max(0,-(y*w+R)),H=-G*G+w*(w+2*v)+P;else w<=-W?(G=Math.max(0,-(-y*o+R)),w=G>0?-o:Math.min(Math.max(-o,-v),o),H=-G*G+w*(w+2*v)+P):w<=W?(G=0,w=Math.min(Math.max(-o,-v),o),H=w*(w+2*v)+P):(G=Math.max(0,-(y*o+R)),w=G>0?o:Math.min(Math.max(-o,-v),o),H=-G*G+w*(w+2*v)+P);else w=y>0?-o:o,G=Math.max(0,-(y*w+R)),H=-G*G+w*(w+2*v)+P;return i&&i.copy(this.origin).addScaledVector(this.direction,G),r&&r.copy(OR).addScaledVector(Sd,w),H}intersectSphere(e,s){al.subVectors(e.center,this.origin);let i=al.dot(this.direction),r=al.dot(al)-i*i,o=e.radius*e.radius;if(r>o)return null;let y=Math.sqrt(o-r),R=i-y,v=i+y;return v<0?null:R<0?this.at(v,s):this.at(R,s)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let s=e.normal.dot(this.direction);if(s===0)return e.distanceToPoint(this.origin)===0?0:null;let i=-(this.origin.dot(e.normal)+e.constant)/s;return i>=0?i:null}intersectPlane(e,s){let i=this.distanceToPlane(e);return i===null?null:this.at(i,s)}intersectsPlane(e){let s=e.distanceToPoint(this.origin);return s===0?!0:e.normal.dot(this.direction)*s<0}intersectBox(e,s){let i,r,o,y,R,v,P=1/this.direction.x,M=1/this.direction.y,G=1/this.direction.z,w=this.origin;return P>=0?(i=(e.min.x-w.x)*P,r=(e.max.x-w.x)*P):(i=(e.max.x-w.x)*P,r=(e.min.x-w.x)*P),M>=0?(o=(e.min.y-w.y)*M,y=(e.max.y-w.y)*M):(o=(e.max.y-w.y)*M,y=(e.min.y-w.y)*M),i>y||o>r?null:((o>i||isNaN(i))&&(i=o),(y=0?(R=(e.min.z-w.z)*G,v=(e.max.z-w.z)*G):(R=(e.max.z-w.z)*G,v=(e.min.z-w.z)*G),i>v||R>r?null:((R>i||i!=i)&&(i=R),(v=0?i:r,s)))}intersectsBox(e){return this.intersectBox(e,al)!==null}intersectTriangle(e,s,i,r,o){mR.subVectors(s,e),Cd.subVectors(i,e),DR.crossVectors(mR,Cd);let y,R=this.direction.dot(DR);if(R>0){if(r)return null;y=1}else{if(!(R<0))return null;y=-1,R=-R}up.subVectors(this.origin,e);let v=y*this.direction.dot(Cd.crossVectors(up,Cd));if(v<0)return null;let P=y*this.direction.dot(mR.cross(up));if(P<0||v+P>R)return null;let M=-y*up.dot(DR);return M<0?null:this.at(M/R,o)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Yt=class t{constructor(e,s,i,r,o,y,R,v,P,M,G,w,H,W,k,j){t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,s,i,r,o,y,R,v,P,M,G,w,H,W,k,j)}set(e,s,i,r,o,y,R,v,P,M,G,w,H,W,k,j){let X=this.elements;return X[0]=e,X[4]=s,X[8]=i,X[12]=r,X[1]=o,X[5]=y,X[9]=R,X[13]=v,X[2]=P,X[6]=M,X[10]=G,X[14]=w,X[3]=H,X[7]=W,X[11]=k,X[15]=j,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new t().fromArray(this.elements)}copy(e){let s=this.elements,i=e.elements;return s[0]=i[0],s[1]=i[1],s[2]=i[2],s[3]=i[3],s[4]=i[4],s[5]=i[5],s[6]=i[6],s[7]=i[7],s[8]=i[8],s[9]=i[9],s[10]=i[10],s[11]=i[11],s[12]=i[12],s[13]=i[13],s[14]=i[14],s[15]=i[15],this}copyPosition(e){let s=this.elements,i=e.elements;return s[12]=i[12],s[13]=i[13],s[14]=i[14],this}setFromMatrix3(e){let s=e.elements;return this.set(s[0],s[3],s[6],0,s[1],s[4],s[7],0,s[2],s[5],s[8],0,0,0,0,1),this}extractBasis(e,s,i){return e.setFromMatrixColumn(this,0),s.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,s,i){return this.set(e.x,s.x,i.x,0,e.y,s.y,i.y,0,e.z,s.z,i.z,0,0,0,0,1),this}extractRotation(e){let s=this.elements,i=e.elements,r=1/zE.setFromMatrixColumn(e,0).length(),o=1/zE.setFromMatrixColumn(e,1).length(),y=1/zE.setFromMatrixColumn(e,2).length();return s[0]=i[0]*r,s[1]=i[1]*r,s[2]=i[2]*r,s[3]=0,s[4]=i[4]*o,s[5]=i[5]*o,s[6]=i[6]*o,s[7]=0,s[8]=i[8]*y,s[9]=i[9]*y,s[10]=i[10]*y,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,this}makeRotationFromEuler(e){let s=this.elements,i=e.x,r=e.y,o=e.z,y=Math.cos(i),R=Math.sin(i),v=Math.cos(r),P=Math.sin(r),M=Math.cos(o),G=Math.sin(o);if(e.order==="XYZ"){let w=y*M,H=y*G,W=R*M,k=R*G;s[0]=v*M,s[4]=-v*G,s[8]=P,s[1]=H+W*P,s[5]=w-k*P,s[9]=-R*v,s[2]=k-w*P,s[6]=W+H*P,s[10]=y*v}else if(e.order==="YXZ"){let w=v*M,H=v*G,W=P*M,k=P*G;s[0]=w+k*R,s[4]=W*R-H,s[8]=y*P,s[1]=y*G,s[5]=y*M,s[9]=-R,s[2]=H*R-W,s[6]=k+w*R,s[10]=y*v}else if(e.order==="ZXY"){let w=v*M,H=v*G,W=P*M,k=P*G;s[0]=w-k*R,s[4]=-y*G,s[8]=W+H*R,s[1]=H+W*R,s[5]=y*M,s[9]=k-w*R,s[2]=-y*P,s[6]=R,s[10]=y*v}else if(e.order==="ZYX"){let w=y*M,H=y*G,W=R*M,k=R*G;s[0]=v*M,s[4]=W*P-H,s[8]=w*P+k,s[1]=v*G,s[5]=k*P+w,s[9]=H*P-W,s[2]=-P,s[6]=R*v,s[10]=y*v}else if(e.order==="YZX"){let w=y*v,H=y*P,W=R*v,k=R*P;s[0]=v*M,s[4]=k-w*G,s[8]=W*G+H,s[1]=G,s[5]=y*M,s[9]=-R*M,s[2]=-P*M,s[6]=H*G+W,s[10]=w-k*G}else if(e.order==="XZY"){let w=y*v,H=y*P,W=R*v,k=R*P;s[0]=v*M,s[4]=-G,s[8]=P*M,s[1]=w*G+k,s[5]=y*M,s[9]=H*G-W,s[2]=W*G-H,s[6]=R*M,s[10]=k*G+w}return s[3]=0,s[7]=0,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,this}makeRotationFromQuaternion(e){return this.compose(FA,e,UA)}lookAt(e,s,i){let r=this.elements;return uo.subVectors(e,s),uo.lengthSq()===0&&(uo.z=1),uo.normalize(),Ep.crossVectors(i,uo),Ep.lengthSq()===0&&(Math.abs(i.z)===1?uo.x+=1e-4:uo.z+=1e-4,uo.normalize(),Ep.crossVectors(i,uo)),Ep.normalize(),vd.crossVectors(uo,Ep),r[0]=Ep.x,r[4]=vd.x,r[8]=uo.x,r[1]=Ep.y,r[5]=vd.y,r[9]=uo.y,r[2]=Ep.z,r[6]=vd.z,r[10]=uo.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,s){let i=e.elements,r=s.elements,o=this.elements,y=i[0],R=i[4],v=i[8],P=i[12],M=i[1],G=i[5],w=i[9],H=i[13],W=i[2],k=i[6],j=i[10],X=i[14],q=i[3],K=i[7],Q=i[11],ie=i[15],ee=r[0],oe=r[4],re=r[8],ne=r[12],ce=r[1],he=r[5],Ee=r[9],De=r[13],Se=r[2],Ue=r[6],Oe=r[10],Fe=r[14],je=r[3],Xe=r[7],tt=r[11],Gs=r[15];return o[0]=y*ee+R*ce+v*Se+P*je,o[4]=y*oe+R*he+v*Ue+P*Xe,o[8]=y*re+R*Ee+v*Oe+P*tt,o[12]=y*ne+R*De+v*Fe+P*Gs,o[1]=M*ee+G*ce+w*Se+H*je,o[5]=M*oe+G*he+w*Ue+H*Xe,o[9]=M*re+G*Ee+w*Oe+H*tt,o[13]=M*ne+G*De+w*Fe+H*Gs,o[2]=W*ee+k*ce+j*Se+X*je,o[6]=W*oe+k*he+j*Ue+X*Xe,o[10]=W*re+k*Ee+j*Oe+X*tt,o[14]=W*ne+k*De+j*Fe+X*Gs,o[3]=q*ee+K*ce+Q*Se+ie*je,o[7]=q*oe+K*he+Q*Ue+ie*Xe,o[11]=q*re+K*Ee+Q*Oe+ie*tt,o[15]=q*ne+K*De+Q*Fe+ie*Gs,this}multiplyScalar(e){let s=this.elements;return s[0]*=e,s[4]*=e,s[8]*=e,s[12]*=e,s[1]*=e,s[5]*=e,s[9]*=e,s[13]*=e,s[2]*=e,s[6]*=e,s[10]*=e,s[14]*=e,s[3]*=e,s[7]*=e,s[11]*=e,s[15]*=e,this}determinant(){let e=this.elements,s=e[0],i=e[4],r=e[8],o=e[12],y=e[1],R=e[5],v=e[9],P=e[13],M=e[2],G=e[6],w=e[10],H=e[14];return e[3]*(+o*v*G-r*P*G-o*R*w+i*P*w+r*R*H-i*v*H)+e[7]*(+s*v*H-s*P*w+o*y*w-r*y*H+r*P*M-o*v*M)+e[11]*(+s*P*G-s*R*H-o*y*G+i*y*H+o*R*M-i*P*M)+e[15]*(-r*R*M-s*v*G+s*R*w+r*y*G-i*y*w+i*v*M)}transpose(){let e=this.elements,s;return s=e[1],e[1]=e[4],e[4]=s,s=e[2],e[2]=e[8],e[8]=s,s=e[6],e[6]=e[9],e[9]=s,s=e[3],e[3]=e[12],e[12]=s,s=e[7],e[7]=e[13],e[13]=s,s=e[11],e[11]=e[14],e[14]=s,this}setPosition(e,s,i){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=s,r[14]=i),this}invert(){let e=this.elements,s=e[0],i=e[1],r=e[2],o=e[3],y=e[4],R=e[5],v=e[6],P=e[7],M=e[8],G=e[9],w=e[10],H=e[11],W=e[12],k=e[13],j=e[14],X=e[15],q=G*j*P-k*w*P+k*v*H-R*j*H-G*v*X+R*w*X,K=W*w*P-M*j*P-W*v*H+y*j*H+M*v*X-y*w*X,Q=M*k*P-W*G*P+W*R*H-y*k*H-M*R*X+y*G*X,ie=W*G*v-M*k*v-W*R*w+y*k*w+M*R*j-y*G*j,ee=s*q+i*K+r*Q+o*ie;if(ee===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let oe=1/ee;return e[0]=q*oe,e[1]=(k*w*o-G*j*o-k*r*H+i*j*H+G*r*X-i*w*X)*oe,e[2]=(R*j*o-k*v*o+k*r*P-i*j*P-R*r*X+i*v*X)*oe,e[3]=(G*v*o-R*w*o-G*r*P+i*w*P+R*r*H-i*v*H)*oe,e[4]=K*oe,e[5]=(M*j*o-W*w*o+W*r*H-s*j*H-M*r*X+s*w*X)*oe,e[6]=(W*v*o-y*j*o-W*r*P+s*j*P+y*r*X-s*v*X)*oe,e[7]=(y*w*o-M*v*o+M*r*P-s*w*P-y*r*H+s*v*H)*oe,e[8]=Q*oe,e[9]=(W*G*o-M*k*o-W*i*H+s*k*H+M*i*X-s*G*X)*oe,e[10]=(y*k*o-W*R*o+W*i*P-s*k*P-y*i*X+s*R*X)*oe,e[11]=(M*R*o-y*G*o-M*i*P+s*G*P+y*i*H-s*R*H)*oe,e[12]=ie*oe,e[13]=(M*k*r-W*G*r+W*i*w-s*k*w-M*i*j+s*G*j)*oe,e[14]=(W*R*r-y*k*r-W*i*v+s*k*v+y*i*j-s*R*j)*oe,e[15]=(y*G*r-M*R*r+M*i*v-s*G*v-y*i*w+s*R*w)*oe,this}scale(e){let s=this.elements,i=e.x,r=e.y,o=e.z;return s[0]*=i,s[4]*=r,s[8]*=o,s[1]*=i,s[5]*=r,s[9]*=o,s[2]*=i,s[6]*=r,s[10]*=o,s[3]*=i,s[7]*=r,s[11]*=o,this}getMaxScaleOnAxis(){let e=this.elements,s=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(s,i,r))}makeTranslation(e,s,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,s,0,0,1,i,0,0,0,1),this}makeRotationX(e){let s=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,s,-i,0,0,i,s,0,0,0,0,1),this}makeRotationY(e){let s=Math.cos(e),i=Math.sin(e);return this.set(s,0,i,0,0,1,0,0,-i,0,s,0,0,0,0,1),this}makeRotationZ(e){let s=Math.cos(e),i=Math.sin(e);return this.set(s,-i,0,0,i,s,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,s){let i=Math.cos(s),r=Math.sin(s),o=1-i,y=e.x,R=e.y,v=e.z,P=o*y,M=o*R;return this.set(P*y+i,P*R-r*v,P*v+r*R,0,P*R+r*v,M*R+i,M*v-r*y,0,P*v-r*R,M*v+r*y,o*v*v+i,0,0,0,0,1),this}makeScale(e,s,i){return this.set(e,0,0,0,0,s,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,s,i,r,o,y){return this.set(1,i,o,0,e,1,y,0,s,r,1,0,0,0,0,1),this}compose(e,s,i){let r=this.elements,o=s._x,y=s._y,R=s._z,v=s._w,P=o+o,M=y+y,G=R+R,w=o*P,H=o*M,W=o*G,k=y*M,j=y*G,X=R*G,q=v*P,K=v*M,Q=v*G,ie=i.x,ee=i.y,oe=i.z;return r[0]=(1-(k+X))*ie,r[1]=(H+Q)*ie,r[2]=(W-K)*ie,r[3]=0,r[4]=(H-Q)*ee,r[5]=(1-(w+X))*ee,r[6]=(j+q)*ee,r[7]=0,r[8]=(W+K)*oe,r[9]=(j-q)*oe,r[10]=(1-(w+k))*oe,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,s,i){let r=this.elements,o=zE.set(r[0],r[1],r[2]).length(),y=zE.set(r[4],r[5],r[6]).length(),R=zE.set(r[8],r[9],r[10]).length();this.determinant()<0&&(o=-o),e.x=r[12],e.y=r[13],e.z=r[14],Rc.copy(this);let v=1/o,P=1/y,M=1/R;return Rc.elements[0]*=v,Rc.elements[1]*=v,Rc.elements[2]*=v,Rc.elements[4]*=P,Rc.elements[5]*=P,Rc.elements[6]*=P,Rc.elements[8]*=M,Rc.elements[9]*=M,Rc.elements[10]*=M,s.setFromRotationMatrix(Rc),i.x=o,i.y=y,i.z=R,this}makePerspective(e,s,i,r,o,y,R=2e3){let v=this.elements,P=2*o/(s-e),M=2*o/(i-r),G=(s+e)/(s-e),w=(i+r)/(i-r),H,W;if(R===Of)H=-(y+o)/(y-o),W=-2*y*o/(y-o);else{if(R!==mf)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+R);H=-y/(y-o),W=-y*o/(y-o)}return v[0]=P,v[4]=0,v[8]=G,v[12]=0,v[1]=0,v[5]=M,v[9]=w,v[13]=0,v[2]=0,v[6]=0,v[10]=H,v[14]=W,v[3]=0,v[7]=0,v[11]=-1,v[15]=0,this}makeOrthographic(e,s,i,r,o,y,R=2e3){let v=this.elements,P=1/(s-e),M=1/(i-r),G=1/(y-o),w=(s+e)*P,H=(i+r)*M,W,k;if(R===Of)W=(y+o)*G,k=-2*G;else{if(R!==mf)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+R);W=o*G,k=-1*G}return v[0]=2*P,v[4]=0,v[8]=0,v[12]=-w,v[1]=0,v[5]=2*M,v[9]=0,v[13]=-H,v[2]=0,v[6]=0,v[10]=k,v[14]=-W,v[3]=0,v[7]=0,v[11]=0,v[15]=1,this}equals(e){let s=this.elements,i=e.elements;for(let r=0;r<16;r++)if(s[r]!==i[r])return!1;return!0}fromArray(e,s=0){for(let i=0;i<16;i++)this.elements[i]=e[i+s];return this}toArray(e=[],s=0){let i=this.elements;return e[s]=i[0],e[s+1]=i[1],e[s+2]=i[2],e[s+3]=i[3],e[s+4]=i[4],e[s+5]=i[5],e[s+6]=i[6],e[s+7]=i[7],e[s+8]=i[8],e[s+9]=i[9],e[s+10]=i[10],e[s+11]=i[11],e[s+12]=i[12],e[s+13]=i[13],e[s+14]=i[14],e[s+15]=i[15],e}},zE=new te,Rc=new Yt,FA=new te(0,0,0),UA=new te(1,1,1),Ep=new te,vd=new te,uo=new te,Am=new Yt,Sm=new gp,QT=class t{constructor(e=0,s=0,i=0,r=t.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=s,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,s,i,r=this._order){return this._x=e,this._y=s,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,s=this._order,i=!0){let r=e.elements,o=r[0],y=r[4],R=r[8],v=r[1],P=r[5],M=r[9],G=r[2],w=r[6],H=r[10];switch(s){case"XYZ":this._y=Math.asin(jt(R,-1,1)),Math.abs(R)<.9999999?(this._x=Math.atan2(-M,H),this._z=Math.atan2(-y,o)):(this._x=Math.atan2(w,P),this._z=0);break;case"YXZ":this._x=Math.asin(-jt(M,-1,1)),Math.abs(M)<.9999999?(this._y=Math.atan2(R,H),this._z=Math.atan2(v,P)):(this._y=Math.atan2(-G,o),this._z=0);break;case"ZXY":this._x=Math.asin(jt(w,-1,1)),Math.abs(w)<.9999999?(this._y=Math.atan2(-G,H),this._z=Math.atan2(-y,P)):(this._y=0,this._z=Math.atan2(v,o));break;case"ZYX":this._y=Math.asin(-jt(G,-1,1)),Math.abs(G)<.9999999?(this._x=Math.atan2(w,H),this._z=Math.atan2(v,o)):(this._x=0,this._z=Math.atan2(-y,P));break;case"YZX":this._z=Math.asin(jt(v,-1,1)),Math.abs(v)<.9999999?(this._x=Math.atan2(-M,P),this._y=Math.atan2(-G,o)):(this._x=0,this._y=Math.atan2(R,H));break;case"XZY":this._z=Math.asin(-jt(y,-1,1)),Math.abs(y)<.9999999?(this._x=Math.atan2(w,P),this._y=Math.atan2(R,o)):(this._x=Math.atan2(-M,H),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+s)}return this._order=s,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,s,i){return Am.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Am,s,i)}setFromVector3(e,s=this._order){return this.set(e.x,e.y,e.z,s)}reorder(e){return Sm.setFromEuler(this),this.setFromQuaternion(Sm,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],s=0){return e[s]=this._x,e[s+1]=this._y,e[s+2]=this._z,e[s+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};QT.DEFAULT_ORDER="XYZ";var Cf=class{constructor(){this.mask=1}set(e){this.mask=1<>>0}enable(e){this.mask|=1<1){for(let s=0;s1){for(let i=0;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map((R=>({boxInitialized:R.boxInitialized,boxMin:R.box.min.toArray(),boxMax:R.box.max.toArray(),sphereInitialized:R.sphereInitialized,sphereRadius:R.sphere.radius,sphereCenter:R.sphere.center.toArray()}))),r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=o(e.geometries,this.geometry);let R=this.geometry.parameters;if(R!==void 0&&R.shapes!==void 0){let v=R.shapes;if(Array.isArray(v))for(let P=0,M=v.length;P0){r.children=[];for(let R=0;R0){r.animations=[];for(let R=0;R0&&(i.geometries=R),v.length>0&&(i.materials=v),P.length>0&&(i.textures=P),M.length>0&&(i.images=M),G.length>0&&(i.shapes=G),w.length>0&&(i.skeletons=w),H.length>0&&(i.animations=H),W.length>0&&(i.nodes=W)}return i.object=r,i;function y(R){let v=[];for(let P in R){let M=R[P];delete M.metadata,v.push(M)}return v}}clone(e){return new this.constructor().copy(this,e)}copy(e,s=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),s===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(o)):r.set(0,0,0)}static getBarycoord(e,s,i,r,o){fc.subVectors(r,s),cl.subVectors(i,s),SR.subVectors(e,s);let y=fc.dot(fc),R=fc.dot(cl),v=fc.dot(SR),P=cl.dot(cl),M=cl.dot(SR),G=y*P-R*R;if(G===0)return o.set(0,0,0),null;let w=1/G,H=(P*v-R*M)*w,W=(y*M-R*v)*w;return o.set(1-H-W,W,H)}static containsPoint(e,s,i,r){return this.getBarycoord(e,s,i,r,hl)!==null&&hl.x>=0&&hl.y>=0&&hl.x+hl.y<=1}static getInterpolation(e,s,i,r,o,y,R,v){return this.getBarycoord(e,s,i,r,hl)===null?(v.x=0,v.y=0,"z"in v&&(v.z=0),"w"in v&&(v.w=0),null):(v.setScalar(0),v.addScaledVector(o,hl.x),v.addScaledVector(y,hl.y),v.addScaledVector(R,hl.z),v)}static getInterpolatedAttribute(e,s,i,r,o,y){return LR.setScalar(0),gR.setScalar(0),PR.setScalar(0),LR.fromBufferAttribute(e,s),gR.fromBufferAttribute(e,i),PR.fromBufferAttribute(e,r),y.setScalar(0),y.addScaledVector(LR,o.x),y.addScaledVector(gR,o.y),y.addScaledVector(PR,o.z),y}static isFrontFacing(e,s,i,r){return fc.subVectors(i,s),cl.subVectors(e,s),fc.cross(cl).dot(r)<0}set(e,s,i){return this.a.copy(e),this.b.copy(s),this.c.copy(i),this}setFromPointsAndIndices(e,s,i,r){return this.a.copy(e[s]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,s,i,r){return this.a.fromBufferAttribute(e,s),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return fc.subVectors(this.c,this.b),cl.subVectors(this.a,this.b),.5*fc.cross(cl).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return t.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,s){return t.getBarycoord(e,this.a,this.b,this.c,s)}getInterpolation(e,s,i,r,o){return t.getInterpolation(e,this.a,this.b,this.c,s,i,r,o)}containsPoint(e){return t.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return t.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,s){let i=this.a,r=this.b,o=this.c,y,R;KE.subVectors(r,i),ZE.subVectors(o,i),CR.subVectors(e,i);let v=KE.dot(CR),P=ZE.dot(CR);if(v<=0&&P<=0)return s.copy(i);vR.subVectors(e,r);let M=KE.dot(vR),G=ZE.dot(vR);if(M>=0&&G<=M)return s.copy(r);let w=v*G-M*P;if(w<=0&&v>=0&&M<=0)return y=v/(v-M),s.copy(i).addScaledVector(KE,y);bR.subVectors(e,o);let H=KE.dot(bR),W=ZE.dot(bR);if(W>=0&&H<=W)return s.copy(o);let k=H*P-v*W;if(k<=0&&P>=0&&W<=0)return R=P/(P-W),s.copy(i).addScaledVector(ZE,R);let j=M*W-H*G;if(j<=0&&G-M>=0&&H-W>=0)return Pm.subVectors(o,r),R=(G-M)/(G-M+(H-W)),s.copy(r).addScaledVector(Pm,R);let X=1/(j+k+w);return y=k*X,R=w*X,s.copy(i).addScaledVector(KE,y).addScaledVector(ZE,R)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},HD={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ip={h:0,s:0,l:0},Ld={h:0,s:0,l:0};function xR(t,e,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+6*(e-t)*(2/3-s):t}var _p=class{constructor(e,s,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,s,i)}set(e,s,i){if(s===void 0&&i===void 0){let r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,s,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,s=jo){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,dc.toWorkingColorSpace(this,s),this}setRGB(e,s,i,r=dc.workingColorSpace){return this.r=e,this.g=s,this.b=i,dc.toWorkingColorSpace(this,r),this}setHSL(e,s,i,r=dc.workingColorSpace){if(e=Df(e,1),s=jt(s,0,1),i=jt(i,0,1),s===0)this.r=this.g=this.b=i;else{let o=i<=.5?i*(1+s):i+s-i*s,y=2*i-o;this.r=xR(y,o,e+1/3),this.g=xR(y,o,e),this.b=xR(y,o,e-1/3)}return dc.toWorkingColorSpace(this,r),this}setStyle(e,s=jo){function i(o){o!==void 0&&parseFloat(o)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let o,y=r[1],R=r[2];switch(y){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(R))return i(o[4]),this.setRGB(Math.min(255,parseInt(o[1],10))/255,Math.min(255,parseInt(o[2],10))/255,Math.min(255,parseInt(o[3],10))/255,s);if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(R))return i(o[4]),this.setRGB(Math.min(100,parseInt(o[1],10))/100,Math.min(100,parseInt(o[2],10))/100,Math.min(100,parseInt(o[3],10))/100,s);break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(R))return i(o[4]),this.setHSL(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,s);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let o=r[1],y=o.length;if(y===3)return this.setRGB(parseInt(o.charAt(0),16)/15,parseInt(o.charAt(1),16)/15,parseInt(o.charAt(2),16)/15,s);if(y===6)return this.setHex(parseInt(o,16),s);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,s);return this}setColorName(e,s=jo){let i=HD[e.toLowerCase()];return i!==void 0?this.setHex(i,s):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Rl(e.r),this.g=Rl(e.g),this.b=Rl(e.b),this}copyLinearToSRGB(e){return this.r=fI(e.r),this.g=fI(e.g),this.b=fI(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=jo){return dc.fromWorkingColorSpace(Aa.copy(this),e),65536*Math.round(jt(255*Aa.r,0,255))+256*Math.round(jt(255*Aa.g,0,255))+Math.round(jt(255*Aa.b,0,255))}getHexString(e=jo){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,s=dc.workingColorSpace){dc.fromWorkingColorSpace(Aa.copy(this),s);let i=Aa.r,r=Aa.g,o=Aa.b,y=Math.max(i,r,o),R=Math.min(i,r,o),v,P,M=(R+y)/2;if(R===y)v=0,P=0;else{let G=y-R;switch(P=M<=.5?G/(y+R):G/(2-y-R),y){case i:v=(r-o)/G+(r0!=t>0&&this.version++,this._alphaTest=t}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(let e in t){let s=t[e];if(s===void 0){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}let i=this[e];i!==void 0?i&&i.isColor?i.set(s):i&&i.isVector3&&s&&s.isVector3?i.copy(s):this[e]=s:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){let e=t===void 0||typeof t=="string";e&&(t={textures:{},images:{}});let s={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function i(r){let o=[];for(let y in r){let R=r[y];delete R.metadata,o.push(R)}return o}if(s.uuid=this.uuid,s.type=this.type,this.name!==""&&(s.name=this.name),this.color&&this.color.isColor&&(s.color=this.color.getHex()),this.roughness!==void 0&&(s.roughness=this.roughness),this.metalness!==void 0&&(s.metalness=this.metalness),this.sheen!==void 0&&(s.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(s.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(s.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(s.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(s.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(s.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(s.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(s.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(s.shininess=this.shininess),this.clearcoat!==void 0&&(s.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(s.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(s.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(s.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(s.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,s.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(s.dispersion=this.dispersion),this.iridescence!==void 0&&(s.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(s.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(s.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(s.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(s.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.anisotropy!==void 0&&(s.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(s.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(s.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(s.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(s.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(s.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(s.lightMap=this.lightMap.toJSON(t).uuid,s.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(s.aoMap=this.aoMap.toJSON(t).uuid,s.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(s.bumpMap=this.bumpMap.toJSON(t).uuid,s.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(s.normalMap=this.normalMap.toJSON(t).uuid,s.normalMapType=this.normalMapType,s.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(s.displacementMap=this.displacementMap.toJSON(t).uuid,s.displacementScale=this.displacementScale,s.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(s.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(s.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(s.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(s.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(s.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(s.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(s.envMap=this.envMap.toJSON(t).uuid,this.combine!==void 0&&(s.combine=this.combine)),this.envMapRotation!==void 0&&(s.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(s.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(s.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(s.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(s.gradientMap=this.gradientMap.toJSON(t).uuid),this.transmission!==void 0&&(s.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(s.transmissionMap=this.transmissionMap.toJSON(t).uuid),this.thickness!==void 0&&(s.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(s.thicknessMap=this.thicknessMap.toJSON(t).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(s.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(s.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(s.size=this.size),this.shadowSide!==null&&(s.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(s.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(s.blending=this.blending),this.side!==0&&(s.side=this.side),this.vertexColors===!0&&(s.vertexColors=!0),this.opacity<1&&(s.opacity=this.opacity),this.transparent===!0&&(s.transparent=!0),this.blendSrc!==204&&(s.blendSrc=this.blendSrc),this.blendDst!==205&&(s.blendDst=this.blendDst),this.blendEquation!==100&&(s.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(s.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(s.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(s.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(s.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(s.blendAlpha=this.blendAlpha),this.depthFunc!==3&&(s.depthFunc=this.depthFunc),this.depthTest===!1&&(s.depthTest=this.depthTest),this.depthWrite===!1&&(s.depthWrite=this.depthWrite),this.colorWrite===!1&&(s.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(s.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==519&&(s.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(s.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(s.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==BE&&(s.stencilFail=this.stencilFail),this.stencilZFail!==BE&&(s.stencilZFail=this.stencilZFail),this.stencilZPass!==BE&&(s.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(s.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(s.rotation=this.rotation),this.polygonOffset===!0&&(s.polygonOffset=!0),this.polygonOffsetFactor!==0&&(s.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(s.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(s.linewidth=this.linewidth),this.dashSize!==void 0&&(s.dashSize=this.dashSize),this.gapSize!==void 0&&(s.gapSize=this.gapSize),this.scale!==void 0&&(s.scale=this.scale),this.dithering===!0&&(s.dithering=!0),this.alphaTest>0&&(s.alphaTest=this.alphaTest),this.alphaHash===!0&&(s.alphaHash=!0),this.alphaToCoverage===!0&&(s.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(s.premultipliedAlpha=!0),this.forceSinglePass===!0&&(s.forceSinglePass=!0),this.wireframe===!0&&(s.wireframe=!0),this.wireframeLinewidth>1&&(s.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(s.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(s.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(s.flatShading=!0),this.visible===!1&&(s.visible=!1),this.toneMapped===!1&&(s.toneMapped=!1),this.fog===!1&&(s.fog=!1),Object.keys(this.userData).length>0&&(s.userData=this.userData),e){let r=i(t.textures),o=i(t.images);r.length>0&&(s.textures=r),o.length>0&&(s.images=o)}return s}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;let e=t.clippingPlanes,s=null;if(e!==null){let i=e.length;s=new Array(i);for(let r=0;r!==i;++r)s[r]=e[r].clone()}return this.clippingPlanes=s,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){t===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}},vf=class extends WA{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new _p(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new QT,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},En=new te,gd=new aa,jA=0,Oo=class{constructor(e,s,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:jA++}),this.name="",this.array=e,this.itemSize=s,this.count=e!==void 0?e.length/s:0,this.normalized=i,this.usage=35044,this.updateRanges=[],this.gpuType=1015,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,s){this.updateRanges.push({start:e,count:s})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,s,i){e*=this.itemSize,i*=s.itemSize;for(let r=0,o=this.itemSize;r=0;--i)if(s[i]>=65535)return!0;return!1})(e)?Lf:bf)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,s){return this.attributes[e]=s,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,s,i=0){this.groups.push({start:e,count:s,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,s){this.drawRange.start=e,this.drawRange.count=s}applyMatrix4(e){let s=this.attributes.position;s!==void 0&&(s.applyMatrix4(e),s.needsUpdate=!0);let i=this.attributes.normal;if(i!==void 0){let o=new fl().getNormalMatrix(e);i.applyNormalMatrix(o),i.needsUpdate=!0}let r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return wo.makeRotationFromQuaternion(e),this.applyMatrix4(wo),this}rotateX(e){return wo.makeRotationX(e),this.applyMatrix4(wo),this}rotateY(e){return wo.makeRotationY(e),this.applyMatrix4(wo),this}rotateZ(e){return wo.makeRotationZ(e),this.applyMatrix4(wo),this}translate(e,s,i){return wo.makeTranslation(e,s,i),this.applyMatrix4(wo),this}scale(e,s,i){return wo.makeScale(e,s,i),this.applyMatrix4(wo),this}lookAt(e){return _R.lookAt(e),_R.updateMatrix(),this.applyMatrix4(_R.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(qE).negate(),this.translate(qE.x,qE.y,qE.z),this}setFromPoints(e){let s=this.getAttribute("position");if(s===void 0){let i=[];for(let r=0,o=e.length;rs.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),s.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new di);let e=this.attributes.position,s=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),void this.boundingBox.set(new te(-1/0,-1/0,-1/0),new te(1/0,1/0,1/0));if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),s)for(let i=0,r=s.length;i0&&(e.userData=this.userData),this.parameters!==void 0){let v=this.parameters;for(let P in v)v[P]!==void 0&&(e[P]=v[P]);return e}e.data={attributes:{}};let s=this.index;s!==null&&(e.data.index={type:s.array.constructor.name,array:Array.prototype.slice.call(s.array)});let i=this.attributes;for(let v in i){let P=i[v];e.data.attributes[v]=P.toJSON(e.data)}let r={},o=!1;for(let v in this.morphAttributes){let P=this.morphAttributes[v],M=[];for(let G=0,w=P.length;G0&&(r[v]=M,o=!0)}o&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let y=this.groups;y.length>0&&(e.data.groups=JSON.parse(JSON.stringify(y)));let R=this.boundingSphere;return R!==null&&(e.data.boundingSphere={center:R.center.toArray(),radius:R.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let s={};this.name=e.name;let i=e.index;i!==null&&this.setIndex(i.clone());let r=e.attributes;for(let P in r){let M=r[P];this.setAttribute(P,M.clone(s))}let o=e.morphAttributes;for(let P in o){let M=[],G=o[P];for(let w=0,H=G.length;w0){let i=e[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r(e.far-e.near)**2))return;xm.copy(o).invert(),Uu.copy(e.ray).applyMatrix4(xm),i.boundingBox!==null&&Uu.intersectsBox(i.boundingBox)===!1||this._computeIntersections(e,s,Uu)}}_computeIntersections(e,s,i){let r,o=this.geometry,y=this.material,R=o.index,v=o.attributes.position,P=o.attributes.uv,M=o.attributes.uv1,G=o.attributes.normal,w=o.groups,H=o.drawRange;if(R!==null)if(Array.isArray(y))for(let W=0,k=w.length;WH.far?null:{distance:Q,point:Ud.clone(),object:G}})(t,e,s,i,xd,_d,Md,Mm);if(M){let G=new te;so.getBarycoord(Mm,xd,_d,Md,G),r&&(M.uv=so.getInterpolatedAttribute(r,R,v,P,G,new aa)),o&&(M.uv1=so.getInterpolatedAttribute(o,R,v,P,G,new aa)),y&&(M.normal=so.getInterpolatedAttribute(y,R,v,P,G,new te),M.normal.dot(i.direction)>0&&M.normal.multiplyScalar(-1));let w={a:R,b:v,c:P,normal:new te,materialIndex:0};so.getNormal(xd,_d,Md,w.normal),M.face=w,M.barycoord=G}return M}var Pf=class extends OI{constructor(e=null,s=1,i=1,r,o,y,R,v,P=1003,M=1003,G,w){super(null,y,R,v,P,M,r,o,G,w),this.isDataTexture=!0,this.image={data:e,width:s,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},UN=class extends Oo{constructor(e,s,i,r=1){super(e,s,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){let e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}},QE=new Yt,Fm=new Yt,Gd=[],Um=new di,zA=new Yt,uT=new Mp,ET=new Pp,xf=class extends Mp{constructor(e,s,i){super(e,s),this.isInstancedMesh=!0,this.instanceMatrix=new UN(new Float32Array(16*i),16),this.instanceColor=null,this.morphTexture=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let r=0;r1?null:s.copy(e.start).addScaledVector(i,o)}intersectsLine(e){let s=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return s<0&&i>0||i<0&&s>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,s){let i=s||XA.getNormalMatrix(e),r=this.coplanarPoint(FR).applyMatrix4(e),o=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(o),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}},wu=new Pp,Hd=new te,JT=class{constructor(e=new ra,s=new ra,i=new ra,r=new ra,o=new ra,y=new ra){this.planes=[e,s,i,r,o,y]}set(e,s,i,r,o,y){let R=this.planes;return R[0].copy(e),R[1].copy(s),R[2].copy(i),R[3].copy(r),R[4].copy(o),R[5].copy(y),this}copy(e){let s=this.planes;for(let i=0;i<6;i++)s[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,s=2e3){let i=this.planes,r=e.elements,o=r[0],y=r[1],R=r[2],v=r[3],P=r[4],M=r[5],G=r[6],w=r[7],H=r[8],W=r[9],k=r[10],j=r[11],X=r[12],q=r[13],K=r[14],Q=r[15];if(i[0].setComponents(v-o,w-P,j-H,Q-X).normalize(),i[1].setComponents(v+o,w+P,j+H,Q+X).normalize(),i[2].setComponents(v+y,w+M,j+W,Q+q).normalize(),i[3].setComponents(v-y,w-M,j-W,Q-q).normalize(),i[4].setComponents(v-R,w-G,j-k,Q-K).normalize(),s===Of)i[5].setComponents(v+R,w+G,j+k,Q+K).normalize();else{if(s!==mf)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+s);i[5].setComponents(R,G,k,K).normalize()}return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),wu.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let s=e.geometry;s.boundingSphere===null&&s.computeBoundingSphere(),wu.copy(s.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(wu)}intersectsSprite(e){return wu.center.set(0,0,0),wu.radius=.7071067811865476,wu.applyMatrix4(e.matrixWorld),this.intersectsSphere(wu)}intersectsSphere(e){let s=this.planes,i=e.center,r=-e.radius;for(let o=0;o<6;o++)if(s[o].distanceToPoint(i)0?e.max.x:e.min.x,Hd.y=r.normal.y>0?e.max.y:e.min.y,Hd.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Hd)<0)return!1}return!0}containsPoint(e){let s=this.planes;for(let i=0;i<6;i++)if(s[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},wm=new te,Bd=new te,to=class{constructor(e=new te,s=new te){this.start=e,this.end=s}set(e,s){return this.start.copy(e),this.end.copy(s),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,s){return this.delta(s).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,s){wm.subVectors(e,this.start),Bd.subVectors(this.end,this.start);let i=Bd.dot(Bd),r=Bd.dot(wm)/i;return s&&(r=jt(r,0,1)),r}closestPointToPoint(e,s,i){let r=this.closestPointToPointParameter(e,s);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}};typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"175"}})),typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="175");var vI=65536,Dc=(t=>(t[t.LINE=0]="LINE",t[t.SHELL=1]="SHELL",t))(Dc||{}),Sp=(t=>(t[t.UPDATE=0]="UPDATE",t[t.CREATE=1]="CREATE",t[t.DELETE=2]="DELETE",t[t.FINISH=3]="FINISH",t))(Sp||{}),Ut=(t=>(t[t.GEOMETRY=0]="GEOMETRY",t[t.WIRES=1]="WIRES",t[t.INVISIBLE=2]="INVISIBLE",t))(Ut||{}),Nh=(t=>(t[t.CREATE_MODEL=0]="CREATE_MODEL",t[t.DELETE_MODEL=1]="DELETE_MODEL",t[t.EXECUTE=2]="EXECUTE",t[t.RAYCAST=3]="RAYCAST",t[t.FETCH_BOXES=4]="FETCH_BOXES",t[t.REFRESH_VIEW=5]="REFRESH_VIEW",t[t.RECOMPUTE_MESHES=6]="RECOMPUTE_MESHES",t[t.CREATE_MATERIAL=7]="CREATE_MATERIAL",t[t.THROW_ERROR=8]="THROW_ERROR",t))(Nh||{}),_f=(t=>(t[t.VISIBLE=0]="VISIBLE",t))(_f||{}),dp=(t=>(t[t.POINT=0]="POINT",t[t.LINE=1]="LINE",t[t.FACE=2]="FACE",t))(dp||{}),Gm="ThatOpenAlignment",Hm="ThatOpenGrid",ON=(t=>(t[t.DEFAULT=0]="DEFAULT",t[t.ALL_VISIBLE=1]="ALL_VISIBLE",t[t.ALL_GEOMETRY=2]="ALL_GEOMETRY",t))(ON||{}),Ga=class t{static newThread(e){return new Worker(e,{type:"module"})}static newUpdater(e,s){return setInterval(e,s)}static getMeshComputeRequest(e,s){return{class:Nh.RECOMPUTE_MESHES,modelId:e,list:s}}static planeSet(e){let s=[];for(let i of e){let r=this.array(i.normal),o=i.constant,y=new ra(r,o);s.push(y)}return s}static data(e){var s,i;if(e?.elements!==void 0)return t.transform(e);if(e?.origin!==void 0&&e?.direction!==void 0)return t.beam(e);if(e?.planes!==void 0)return t.frustum(e);let r=e?.normal!==void 0,o=e?.constant!==void 0;if(r&&o)return t.plane(e);let y=((s=e[0])==null?void 0:s.normal)!==void 0,R=((i=e[0])==null?void 0:i.constant)!==void 0;if(y&&R)return t.planeSet(e);let v=e?.x!==void 0,P=e?.y!==void 0,M=e?.z!==void 0;return v&&P&&M?t.array(e):e}static getExecuteRequest(e,s,i){let r=Array.from(i);return{class:Nh.EXECUTE,modelId:e,function:s,parameters:r}}static plane(e){let s=this.array(e.normal),i=e.constant;return new ra(s,i)}static getRequestContent(e){let s=[];for(let i of e.list)t.setupCreateRequest(i,s),t.setupUpdateRequest(i,s);return s}static array(e){let s=new te;return s.set(e.x,e.y,e.z),s}static cleanRequests(e){let s=[],i=t;for(let r of e)i.isFinishRequest(r)||s.push(r);return s}static frustum(e){let s=this.planeSet(e.planes),[i,r,o,y,R,v]=s;return new JT(i,r,o,y,R,v)}static beam(e){let s=this.array(e.origin),i=this.array(e.direction);return new xp(s,i)}static transform(e){let s=new Yt;return s.copy(e),s}static deleteUpdater(e){clearInterval(e)}static areCoresAvailable(e){let s=t.getCpuCapacity();return e{s.data.toMainThread?this._handlers.run(s.data):this.manageInput(s.data)})),this._handleInput=e}fetchMeshCompute(e,s){let i=Ga,r=i.getMeshComputeRequest(e,s),o=i.getRequestContent(r);this.fetch(r,o)}fetch(e,s){return this._handlers.setupInput(e),new Promise(((i,r)=>{this._handlers.set(e.requestId,r,i),this.executeConnection(e,s)}))}init(e){this._port=e,this.initConnection(e)}initConnection(e){e.onmessage=this.onInput}async fetchConnection(e){if(!this._port)throw new Error("Fragments: Connection not initialized");return this._port}async executeConnection(e,s){(await this.fetchConnection(e)).postMessage(e,s)}async manageOutput(e){let s=await this.fetchConnection(e);e.toMainThread=!0,s.postMessage(e)}async manageConnection(e){try{await this._handleInput(e)}catch(s){e.errorInfo=s.toString(),console.error(s)}}async manageInput(e){await this.manageConnection(e),await this.manageOutput(e)}};function _I(t){let e=t.length;for(;--e>=0;)t[e]=0}var Ff=256,BD=286,GT=30,HT=15,Uf=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),mN=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),KA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Bm=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ul=new Array(576);_I(ul);var CT=new Array(60);_I(CT);var $T=new Array(512);_I($T);var BT=new Array(256);_I(BT);var qO=new Array(29);_I(qO);var wN=new Array(GT);function UR(t,e,s,i,r){this.static_tree=t,this.extra_bits=e,this.extra_base=s,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}var Vm,Wm,jm;function wR(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}_I(wN);var VD=t=>t<256?$T[t]:$T[256+(t>>>7)],ed=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},eo=(t,e,s)=>{t.bi_valid>16-s?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=s-16):(t.bi_buf|=e<{eo(t,s[2*e],s[2*e+1])},WD=(t,e)=>{let s=0;do s|=1&t,t>>>=1,s<<=1;while(--e>0);return s>>>1},jD=(t,e,s)=>{let i=new Array(16),r,o,y=0;for(r=1;r<=HT;r++)y=y+s[r-1]<<1,i[r]=y;for(o=0;o<=e;o++){let R=t[2*o+1];R!==0&&(t[2*o]=WD(i[R]++,R))}},Ym=t=>{let e;for(e=0;e{t.bi_valid>8?ed(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},zm=(t,e,s,i)=>{let r=2*e,o=2*s;return t[r]{let i=t.heap[s],r=s<<1;for(;r<=t.heap_len&&(r{let i,r,o,y,R=0;if(t.sym_next!==0)do i=255&t.pending_buf[t.sym_buf+R++],i+=(255&t.pending_buf[t.sym_buf+R++])<<8,r=t.pending_buf[t.sym_buf+R++],i===0?yh(t,r,e):(o=BT[r],yh(t,o+Ff+1,e),y=Uf[o],y!==0&&(r-=qO[o],eo(t,r,y)),i--,o=VD(i),yh(t,o,s),y=mN[o],y!==0&&(i-=wN[o],eo(t,i,y)));while(R{let s=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.elems,y,R,v,P=-1;for(t.heap_len=0,t.heap_max=573,y=0;y>1;y>=1;y--)GR(t,s,y);v=o;do y=t.heap[1],t.heap[1]=t.heap[t.heap_len--],GR(t,s,1),R=t.heap[1],t.heap[--t.heap_max]=y,t.heap[--t.heap_max]=R,s[2*v]=s[2*y]+s[2*R],t.depth[v]=(t.depth[y]>=t.depth[R]?t.depth[y]:t.depth[R])+1,s[2*y+1]=s[2*R+1]=v,t.heap[1]=v++,GR(t,s,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((M,G)=>{let w=G.dyn_tree,H=G.max_code,W=G.stat_desc.static_tree,k=G.stat_desc.has_stree,j=G.stat_desc.extra_bits,X=G.stat_desc.extra_base,q=G.stat_desc.max_length,K,Q,ie,ee,oe,re,ne=0;for(ee=0;ee<=HT;ee++)M.bl_count[ee]=0;for(w[2*M.heap[M.heap_max]+1]=0,K=M.heap_max+1;K<573;K++)Q=M.heap[K],ee=w[2*w[2*Q+1]+1]+1,ee>q&&(ee=q,ne++),w[2*Q+1]=ee,Q>H||(M.bl_count[ee]++,oe=0,Q>=X&&(oe=j[Q-X]),re=w[2*Q],M.opt_len+=re*(ee+oe),k&&(M.static_len+=re*(W[2*Q+1]+oe)));if(ne!==0){do{for(ee=q-1;M.bl_count[ee]===0;)ee--;M.bl_count[ee]--,M.bl_count[ee+1]+=2,M.bl_count[q]--,ne-=2}while(ne>0);for(ee=q;ee!==0;ee--)for(Q=M.bl_count[ee];Q!==0;)ie=M.heap[--K],ie>H||(w[2*ie+1]!==ee&&(M.opt_len+=(ee-w[2*ie+1])*w[2*ie],w[2*ie+1]=ee),Q--)}})(t,e),jD(s,P,t.bl_count)},Xm=(t,e,s)=>{let i,r,o=-1,y=e[1],R=0,v=7,P=4;for(y===0&&(v=138,P=3),e[2*(s+1)+1]=65535,i=0;i<=s;i++)r=y,y=e[2*(i+1)+1],++R{let i,r,o=-1,y=e[1],R=0,v=7,P=4;for(y===0&&(v=138,P=3),i=0;i<=s;i++)if(r=y,y=e[2*(i+1)+1],!(++R{eo(t,0+(i?1:0),3),YD(t),ed(t,s),ed(t,~s),s&&t.pending_buf.set(t.window.subarray(e,e+s),t.pending),t.pending+=s},ZA={_tr_init:t=>{Zm||((()=>{let e,s,i,r,o,y=new Array(16);for(i=0,r=0;r<28;r++)for(qO[r]=i,e=0;e<1<>=7;r{let r,o,y=0;t.level>0?(t.strm.data_type===2&&(t.strm.data_type=(R=>{let v,P=4093624447;for(v=0;v<=31;v++,P>>>=1)if(1&P&&R.dyn_ltree[2*v]!==0)return 0;if(R.dyn_ltree[18]!==0||R.dyn_ltree[20]!==0||R.dyn_ltree[26]!==0)return 1;for(v=32;v{let v;for(Xm(R,R.dyn_ltree,R.l_desc.max_code),Xm(R,R.dyn_dtree,R.d_desc.max_code),HR(R,R.bl_desc),v=18;v>=3&&R.bl_tree[2*Bm[v]+1]===0;v--);return R.opt_len+=3*(v+1)+5+5+4,v})(t),r=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=r&&(r=o)):r=o=s+5,s+4<=r&&e!==-1?qm(t,e,s,i):t.strategy===4||o===r?(eo(t,2+(i?1:0),3),km(t,ul,CT)):(eo(t,4+(i?1:0),3),((R,v,P,M)=>{let G;for(eo(R,v-257,5),eo(R,P-1,5),eo(R,M-4,4),G=0;G(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=s,e===0?t.dyn_ltree[2*s]++:(t.matches++,e--,t.dyn_ltree[2*(BT[s]+Ff+1)]++,t.dyn_dtree[2*VD(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{eo(t,2,3),yh(t,256,ul),(e=>{e.bi_valid===16?(ed(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(t)}},VT=(t,e,s,i)=>{let r=65535&t,o=t>>>16&65535,y=0;for(;s!==0;){y=s>2e3?2e3:s,s-=y;do r=r+e[i++]|0,o=o+r|0;while(--y);r%=65521,o%=65521}return r|o<<16},qA=new Uint32Array((()=>{let t,e=[];for(var s=0;s<256;s++){t=s;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[s]=t}return e})()),jn=(t,e,s,i)=>{let r=qA,o=i+s;t^=-1;for(let y=i;y>>8^r[255&(t^e[y])];return~t},Zu={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},ud={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:QA,_tr_stored_block:wf,_tr_flush_block:JA,_tr_tally:vp,_tr_align:$A}=ZA,{Z_NO_FLUSH:bp,Z_PARTIAL_FLUSH:eS,Z_FULL_FLUSH:tS,Z_FINISH:ko,Z_BLOCK:Qm,Z_OK:ta,Z_STREAM_END:Jm,Z_STREAM_ERROR:ch,Z_DATA_ERROR:sS,Z_BUF_ERROR:BR,Z_DEFAULT_COMPRESSION:iS,Z_FILTERED:rS,Z_HUFFMAN_ONLY:Vd,Z_RLE:nS,Z_FIXED:aS,Z_DEFAULT_STRATEGY:oS,Z_UNKNOWN:cS,Z_DEFLATED:GN}=ud,Wu=258,Th=262,mI=42,Gu=113,vT=666,Hu=(t,e)=>(t.msg=Zu[e],e),$m=t=>2*t-(t>4?9:0),mp=t=>{let e=t.length;for(;--e>=0;)t[e]=0},hS=t=>{let e,s,i,r=t.w_size;e=t.hash_size,i=e;do s=t.head[--i],t.head[i]=s>=r?s-r:0;while(--e);e=r,i=e;do s=t.prev[--i],t.prev[i]=s>=r?s-r:0;while(--e)},Lp=(t,e,s)=>(e<{let e=t.state,s=e.pending;s>t.avail_out&&(s=t.avail_out),s!==0&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+s),t.next_out),t.next_out+=s,e.pending_out+=s,t.total_out+=s,t.avail_out-=s,e.pending-=s,e.pending===0&&(e.pending_out=0))},yo=(t,e)=>{JA(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Io(t.strm)},Us=(t,e)=>{t.pending_buf[t.pending++]=e},IT=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Gf=(t,e,s,i)=>{let r=t.avail_in;return r>i&&(r=i),r===0?0:(t.avail_in-=r,e.set(t.input.subarray(t.next_in,t.next_in+r),s),t.state.wrap===1?t.adler=VT(t.adler,e,r,s):t.state.wrap===2&&(t.adler=jn(t.adler,e,r,s)),t.next_in+=r,t.total_in+=r,r)},zD=(t,e)=>{let s,i,r=t.max_chain_length,o=t.strstart,y=t.prev_length,R=t.nice_match,v=t.strstart>t.w_size-Th?t.strstart-(t.w_size-Th):0,P=t.window,M=t.w_mask,G=t.prev,w=t.strstart+Wu,H=P[o+y-1],W=P[o+y];t.prev_length>=t.good_match&&(r>>=2),R>t.lookahead&&(R=t.lookahead);do if(s=e,P[s+y]===W&&P[s+y-1]===H&&P[s]===P[o]&&P[++s]===P[o+1]){o+=2,s++;do;while(P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&P[++o]===P[++s]&&oy){if(t.match_start=e,y=i,i>=R)break;H=P[o+y-1],W=P[o+y]}}while((e=G[e&M])>v&&--r!=0);return y<=t.lookahead?y:t.lookahead},TI=t=>{let e=t.w_size,s,i,r;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Th)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),hS(t),i+=e),t.strm.avail_in===0)break;if(s=Gf(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=s,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=Lp(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=Lp(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let s,i,r,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,y=0,R=t.strm.avail_in;do{if(s=65535,r=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(s=i+t.strm.avail_in),s>r&&(s=r),s>8,t.pending_buf[t.pending-2]=~s,t.pending_buf[t.pending-1]=~s>>8,Io(t.strm),i&&(i>s&&(i=s),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,s-=i),s&&(Gf(t.strm,t.strm.output,t.strm.next_out,s),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s)}while(y===0);return R-=t.strm.avail_in,R&&(R>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=R&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-R,t.strm.next_in),t.strstart),t.strstart+=R,t.insert+=R>t.w_size-t.insert?t.w_size-t.insert:R),t.block_start=t.strstart),t.high_waterr&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,r+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),r>t.strm.avail_in&&(r=t.strm.avail_in),r&&(Gf(t.strm,t.window,t.strstart,r),t.strstart+=r,t.insert+=r>t.w_size-t.insert?t.w_size-t.insert:r),t.high_water>3,r=t.pending_buf_size-r>65535?65535:t.pending_buf_size-r,o=r>t.w_size?t.w_size:r,i=t.strstart-t.block_start,(i>=o||(i||e===ko)&&e!==bp&&t.strm.avail_in===0&&i<=r)&&(s=i>r?r:i,y=e===ko&&t.strm.avail_in===0&&s===i?1:0,wf(t,t.block_start,s,y),t.block_start+=s,Io(t.strm)),y?3:1)},VR=(t,e)=>{let s,i;for(;;){if(t.lookahead=3&&(t.ins_h=Lp(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),s!==0&&t.strstart-s<=t.w_size-Th&&(t.match_length=zD(t,s)),t.match_length>=3)if(i=vp(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do t.strstart++,t.ins_h=Lp(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(--t.match_length!=0);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Lp(t,t.ins_h,t.window[t.strstart+1]);else i=vp(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(yo(t,!1),t.strm.avail_out===0))return 1}return t.insert=t.strstart<2?t.strstart:2,e===ko?(yo(t,!0),t.strm.avail_out===0?3:4):t.sym_next&&(yo(t,!1),t.strm.avail_out===0)?1:2},JE=(t,e)=>{let s,i,r;for(;;){if(t.lookahead=3&&(t.ins_h=Lp(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,s!==0&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,i=vp(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=r&&(t.ins_h=Lp(t,t.ins_h,t.window[t.strstart+3-1]),s=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(--t.prev_length!=0);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(yo(t,!1),t.strm.avail_out===0))return 1}else if(t.match_available){if(i=vp(t,0,t.window[t.strstart-1]),i&&yo(t,!1),t.strstart++,t.lookahead--,t.strm.avail_out===0)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=vp(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===ko?(yo(t,!0),t.strm.avail_out===0?3:4):t.sym_next&&(yo(t,!1),t.strm.avail_out===0)?1:2};function nh(t,e,s,i,r){this.good_length=t,this.max_lazy=e,this.nice_length=s,this.max_chain=i,this.func=r}var bT=[new nh(0,0,0,0,kD),new nh(4,4,8,4,VR),new nh(4,5,16,8,VR),new nh(4,6,32,32,VR),new nh(4,4,16,16,JE),new nh(8,16,32,32,JE),new nh(8,16,128,128,JE),new nh(8,32,128,256,JE),new nh(32,128,258,1024,JE),new nh(32,258,258,4096,JE)];function lS(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=GN,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),mp(this.dyn_ltree),mp(this.dyn_dtree),mp(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),mp(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),mp(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var LT=t=>{if(!t)return 1;let e=t.state;return!e||e.strm!==t||e.status!==mI&&e.status!==57&&e.status!==69&&e.status!==73&&e.status!==91&&e.status!==103&&e.status!==Gu&&e.status!==vT?1:0},XD=t=>{if(LT(t))return Hu(t,ch);t.total_in=t.total_out=0,t.data_type=cS;let e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?57:e.wrap?mI:Gu,t.adler=e.wrap===2?0:1,e.last_flush=-2,QA(e),ta},KD=t=>{let e=XD(t);var s;return e===ta&&((s=t.state).window_size=2*s.w_size,mp(s.head),s.max_lazy_match=bT[s.level].max_lazy,s.good_match=bT[s.level].good_length,s.nice_match=bT[s.level].nice_length,s.max_chain_length=bT[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),e},eD=(t,e,s,i,r,o)=>{if(!t)return ch;let y=1;if(e===iS&&(e=6),i<0?(y=0,i=-i):i>15&&(y=2,i-=16),r<1||r>9||s!==GN||i<8||i>15||e<0||e>9||o<0||o>aS||i===8&&y!==1)return Hu(t,ch);i===8&&(i=9);let R=new lS;return t.state=R,R.strm=t,R.status=mI,R.wrap=y,R.gzhead=null,R.w_bits=i,R.w_size=1<eD(t,e,GN,15,8,oS),deflateInit2:eD,deflateReset:KD,deflateResetKeep:XD,deflateSetHeader:(t,e)=>LT(t)||t.state.wrap!==2?ch:(t.state.gzhead=e,ta),deflate:(t,e)=>{if(LT(t)||e>Qm||e<0)return t?Hu(t,ch):ch;let s=t.state;if(!t.output||t.avail_in!==0&&!t.input||s.status===vT&&e!==ko)return Hu(t,t.avail_out===0?BR:ch);let i=s.last_flush;if(s.last_flush=e,s.pending!==0){if(Io(t),t.avail_out===0)return s.last_flush=-1,ta}else if(t.avail_in===0&&$m(e)<=$m(i)&&e!==ko)return Hu(t,BR);if(s.status===vT&&t.avail_in!==0)return Hu(t,BR);if(s.status===mI&&s.wrap===0&&(s.status=Gu),s.status===mI){let r=GN+(s.w_bits-8<<4)<<8,o=-1;if(o=s.strategy>=Vd||s.level<2?0:s.level<6?1:s.level===6?2:3,r|=o<<6,s.strstart!==0&&(r|=32),r+=31-r%31,IT(s,r),s.strstart!==0&&(IT(s,t.adler>>>16),IT(s,65535&t.adler)),t.adler=1,s.status=Gu,Io(t),s.pending!==0)return s.last_flush=-1,ta}if(s.status===57){if(t.adler=0,Us(s,31),Us(s,139),Us(s,8),s.gzhead)Us(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),Us(s,255&s.gzhead.time),Us(s,s.gzhead.time>>8&255),Us(s,s.gzhead.time>>16&255),Us(s,s.gzhead.time>>24&255),Us(s,s.level===9?2:s.strategy>=Vd||s.level<2?4:0),Us(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(Us(s,255&s.gzhead.extra.length),Us(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(t.adler=jn(t.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(Us(s,0),Us(s,0),Us(s,0),Us(s,0),Us(s,0),Us(s,s.level===9?2:s.strategy>=Vd||s.level<2?4:0),Us(s,3),s.status=Gu,Io(t),s.pending!==0)return s.last_flush=-1,ta}if(s.status===69){if(s.gzhead.extra){let r=s.pending,o=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+o>s.pending_buf_size;){let R=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+R),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>r&&(t.adler=jn(t.adler,s.pending_buf,s.pending-r,r)),s.gzindex+=R,Io(t),s.pending!==0)return s.last_flush=-1,ta;r=0,o-=R}let y=new Uint8Array(s.gzhead.extra);s.pending_buf.set(y.subarray(s.gzindex,s.gzindex+o),s.pending),s.pending+=o,s.gzhead.hcrc&&s.pending>r&&(t.adler=jn(t.adler,s.pending_buf,s.pending-r,r)),s.gzindex=0}s.status=73}if(s.status===73){if(s.gzhead.name){let r,o=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>o&&(t.adler=jn(t.adler,s.pending_buf,s.pending-o,o)),Io(t),s.pending!==0)return s.last_flush=-1,ta;o=0}r=s.gzindexo&&(t.adler=jn(t.adler,s.pending_buf,s.pending-o,o)),s.gzindex=0}s.status=91}if(s.status===91){if(s.gzhead.comment){let r,o=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>o&&(t.adler=jn(t.adler,s.pending_buf,s.pending-o,o)),Io(t),s.pending!==0)return s.last_flush=-1,ta;o=0}r=s.gzindexo&&(t.adler=jn(t.adler,s.pending_buf,s.pending-o,o))}s.status=103}if(s.status===103){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&(Io(t),s.pending!==0))return s.last_flush=-1,ta;Us(s,255&t.adler),Us(s,t.adler>>8&255),t.adler=0}if(s.status=Gu,Io(t),s.pending!==0)return s.last_flush=-1,ta}if(t.avail_in!==0||s.lookahead!==0||e!==bp&&s.status!==vT){let r=s.level===0?kD(s,e):s.strategy===Vd?((o,y)=>{let R;for(;;){if(o.lookahead===0&&(TI(o),o.lookahead===0)){if(y===bp)return 1;break}if(o.match_length=0,R=vp(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,R&&(yo(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,y===ko?(yo(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&(yo(o,!1),o.strm.avail_out===0)?1:2})(s,e):s.strategy===nS?((o,y)=>{let R,v,P,M,G=o.window;for(;;){if(o.lookahead<=Wu){if(TI(o),o.lookahead<=Wu&&y===bp)return 1;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=3&&o.strstart>0&&(P=o.strstart-1,v=G[P],v===G[++P]&&v===G[++P]&&v===G[++P])){M=o.strstart+Wu;do;while(v===G[++P]&&v===G[++P]&&v===G[++P]&&v===G[++P]&&v===G[++P]&&v===G[++P]&&v===G[++P]&&v===G[++P]&&Po.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=3?(R=vp(o,1,o.match_length-3),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(R=vp(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),R&&(yo(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,y===ko?(yo(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&(yo(o,!1),o.strm.avail_out===0)?1:2})(s,e):bT[s.level].func(s,e);if(r!==3&&r!==4||(s.status=vT),r===1||r===3)return t.avail_out===0&&(s.last_flush=-1),ta;if(r===2&&(e===eS?$A(s):e!==Qm&&(wf(s,0,0,!1),e===tS&&(mp(s.head),s.lookahead===0&&(s.strstart=0,s.block_start=0,s.insert=0))),Io(t),t.avail_out===0))return s.last_flush=-1,ta}return e!==ko?ta:s.wrap<=0?Jm:(s.wrap===2?(Us(s,255&t.adler),Us(s,t.adler>>8&255),Us(s,t.adler>>16&255),Us(s,t.adler>>24&255),Us(s,255&t.total_in),Us(s,t.total_in>>8&255),Us(s,t.total_in>>16&255),Us(s,t.total_in>>24&255)):(IT(s,t.adler>>>16),IT(s,65535&t.adler)),Io(t),s.wrap>0&&(s.wrap=-s.wrap),s.pending!==0?ta:Jm)},deflateEnd:t=>{if(LT(t))return ch;let e=t.state.status;return t.state=null,e===Gu?Hu(t,sS):ta},deflateSetDictionary:(t,e)=>{let s=e.length;if(LT(t))return ch;let i=t.state,r=i.wrap;if(r===2||r===1&&i.status!==mI||i.lookahead)return ch;if(r===1&&(t.adler=VT(t.adler,e,s,0)),i.wrap=0,s>=i.w_size){r===0&&(mp(i.head),i.strstart=0,i.block_start=0,i.insert=0);let v=new Uint8Array(i.w_size);v.set(e.subarray(s-i.w_size,s),0),e=v,s=i.w_size}let o=t.avail_in,y=t.next_in,R=t.input;for(t.avail_in=s,t.next_in=0,t.input=e,TI(i);i.lookahead>=3;){let v=i.strstart,P=i.lookahead-2;do i.ins_h=Lp(i,i.ins_h,i.window[v+3-1]),i.prev[v&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=v,v++;while(--P);i.strstart=v,i.lookahead=2,TI(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=y,t.input=R,t.avail_in=o,i.wrap=r,ta},deflateInfo:"pako deflate (from Nodeca project)"},pS=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),ZD=function(t){let e=Array.prototype.slice.call(arguments,1);for(;e.length;){let s=e.shift();if(s){if(typeof s!="object")throw new TypeError(s+"must be non-object");for(let i in s)pS(s,i)&&(t[i]=s[i])}}return t},qD=t=>{let e=0;for(let i=0,r=t.length;i=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;td[254]=td[254]=1;var QO=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let e,s,i,r,o,y=t.length,R=0;for(r=0;r>>6,e[o++]=128|63&s):s<65536?(e[o++]=224|s>>>12,e[o++]=128|s>>>6&63,e[o++]=128|63&s):(e[o++]=240|s>>>18,e[o++]=128|s>>>12&63,e[o++]=128|s>>>6&63,e[o++]=128|63&s);return e},uS=(t,e)=>{let s=e||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,e));let i,r,o=new Array(2*s);for(r=0,i=0;i4)o[r++]=65533,i+=R-1;else{for(y&=R===2?31:R===3?15:7;R>1&&i1?o[r++]=65533:y<65536?o[r++]=y:(y-=65536,o[r++]=55296|y>>10&1023,o[r++]=56320|1023&y)}}return((y,R)=>{if(R<65534&&y.subarray&&QD)return String.fromCharCode.apply(null,y.length===R?y:y.subarray(0,R));let v="";for(let P=0;P{(e=e||t.length)>t.length&&(e=t.length);let s=e-1;for(;s>=0&&(192&t[s])==128;)s--;return s<0||s===0?e:s+td[t[s]]>e?s:e},JD=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},$D=Object.prototype.toString,{Z_NO_FLUSH:IS,Z_SYNC_FLUSH:yS,Z_FULL_FLUSH:TS,Z_FINISH:dS,Z_OK:HN,Z_STREAM_END:NS,Z_DEFAULT_COMPRESSION:RS,Z_DEFAULT_STRATEGY:fS,Z_DEFLATED:OS}=ud;function jT(t){this.options=ZD({level:RS,method:OS,chunkSize:16384,windowBits:15,memLevel:8,strategy:fS},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new JD,this.strm.avail_out=0;let s=WT.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(s!==HN)throw new Error(Zu[s]);if(e.header&&WT.deflateSetHeader(this.strm,e.header),e.dictionary){let i;if(i=typeof e.dictionary=="string"?QO(e.dictionary):$D.call(e.dictionary)==="[object ArrayBuffer]"?new Uint8Array(e.dictionary):e.dictionary,s=WT.deflateSetDictionary(this.strm,i),s!==HN)throw new Error(Zu[s]);this._dict_set=!0}}function WR(t,e){let s=new jT(e);if(s.push(t,!0),s.err)throw s.msg||Zu[s.err];return s.result}jT.prototype.push=function(t,e){let s=this.strm,i=this.options.chunkSize,r,o;if(this.ended)return!1;for(o=e===~~e?e:e===!0?dS:IS,typeof t=="string"?s.input=QO(t):$D.call(t)==="[object ArrayBuffer]"?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;)if(s.avail_out===0&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),(o===yS||o===TS)&&s.avail_out<=6)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else{if(r=WT.deflate(s,o),r===NS)return s.next_out>0&&this.onData(s.output.subarray(0,s.next_out)),r=WT.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===HN;if(s.avail_out!==0){if(o>0&&s.next_out>0)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else if(s.avail_in===0)break}else this.onData(s.output)}return!0},jT.prototype.onData=function(t){this.chunks.push(t)},jT.prototype.onEnd=function(t){t===HN&&(this.result=qD(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var mS={Deflate:jT,deflate:WR,deflateRaw:function(t,e){return(e=e||{}).raw=!0,WR(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,WR(t,e)}},Wd=16209,DS=function(t,e){let s,i,r,o,y,R,v,P,M,G,w,H,W,k,j,X,q,K,Q,ie,ee,oe,re,ne,ce=t.state;s=t.next_in,re=t.input,i=s+(t.avail_in-5),r=t.next_out,ne=t.output,o=r-(e-t.avail_out),y=r+(t.avail_out-257),R=ce.dmax,v=ce.wsize,P=ce.whave,M=ce.wnext,G=ce.window,w=ce.hold,H=ce.bits,W=ce.lencode,k=ce.distcode,j=(1<>>24,w>>>=K,H-=K,K=q>>>16&255,K===0)ne[r++]=65535&q;else{if(!(16&K)){if(64&K){if(32&K){ce.mode=16191;break e}t.msg="invalid literal/length code",ce.mode=Wd;break e}q=W[(65535&q)+(w&(1<>>=K,H-=K),H<15&&(w+=re[s++]<>>24,w>>>=K,H-=K,K=q>>>16&255,16&K){if(ie=65535&q,K&=15,HR){t.msg="invalid distance too far back",ce.mode=Wd;break e}if(w>>>=K,H-=K,K=r-o,ie>K){if(K=ie-K,K>P&&ce.sane){t.msg="invalid distance too far back",ce.mode=Wd;break e}if(ee=0,oe=G,M===0){if(ee+=v-K,K2;)ne[r++]=oe[ee++],ne[r++]=oe[ee++],ne[r++]=oe[ee++],Q-=3;Q&&(ne[r++]=oe[ee++],Q>1&&(ne[r++]=oe[ee++]))}else{ee=r-ie;do ne[r++]=ne[ee++],ne[r++]=ne[ee++],ne[r++]=ne[ee++],Q-=3;while(Q>2);Q&&(ne[r++]=ne[ee++],Q>1&&(ne[r++]=ne[ee++]))}break}if(64&K){t.msg="invalid distance code",ce.mode=Wd;break e}q=k[(65535&q)+(w&(1<>3,s-=Q,H-=Q<<3,w&=(1<{let v=R.bits,P,M,G,w,H,W,k=0,j=0,X=0,q=0,K=0,Q=0,ie=0,ee=0,oe=0,re=0,ne=null,ce=new Uint16Array(16),he=new Uint16Array(16),Ee,De,Se,Ue=null;for(k=0;k<=jd;k++)ce[k]=0;for(j=0;j=1&&ce[q]===0;q--);if(K>q&&(K=q),q===0)return r[o++]=20971520,r[o++]=20971520,R.bits=1,0;for(X=1;X0&&(t===0||q!==1))return-1;for(he[1]=0,k=1;k852||t===2&&oe>592)return 1;for(;;){Ee=k-ie,y[j]+1=W?(De=Ue[y[j]-W],Se=ne[y[j]-W]):(De=96,Se=0),P=1<>ie)+M]=Ee<<24|De<<16|Se;while(M!==0);for(P=1<>=1;if(P!==0?(re&=P-1,re+=P):re=0,j++,--ce[k]==0){if(k===q)break;k=e[s+y[j]]}if(k>K&&(re&w)!==G){for(ie===0&&(ie=K),H+=X,Q=k-ie,ee=1<852||t===2&&oe>592)return 1;G=re&w,r[G]=K<<24|Q<<16|H-o}}return re!==0&&(r[H+re]=k-ie<<24|64<<16),R.bits=K,0},{Z_FINISH:tD,Z_BLOCK:bS,Z_TREES:Yd,Z_OK:Bu,Z_STREAM_END:LS,Z_NEED_DICT:gS,Z_STREAM_ERROR:Yo,Z_DATA_ERROR:sD,Z_MEM_ERROR:iD,Z_BUF_ERROR:PS,Z_DEFLATED:rD}=ud,qN=16180,zd=16190,ll=16191,jR=16192,YR=16194,kd=16199,Xd=16200,zR=16206,nr=16209,nD=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function xS(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var ju=t=>{if(!t)return 1;let e=t.state;return!e||e.strm!==t||e.mode16211?1:0},eA=t=>{if(ju(t))return Yo;let e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=qN,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Bu},tA=t=>{if(ju(t))return Yo;let e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,eA(t)},sA=(t,e)=>{let s;if(ju(t))return Yo;let i=t.state;return e<0?(s=0,e=-e):(s=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?Yo:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=s,i.wbits=e,tA(t))},aD=(t,e)=>{if(!t)return Yo;let s=new xS;t.state=s,s.strm=t,s.window=null,s.mode=qN;let i=sA(t,e);return i!==Bu&&(t.state=null),i},kR,XR,oD=!0,_S=t=>{if(oD){kR=new Int32Array(512),XR=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(YT(1,t.lens,0,288,kR,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;YT(2,t.lens,0,32,XR,0,t.work,{bits:5}),oD=!1}t.lencode=kR,t.lenbits=9,t.distcode=XR,t.distbits=5},cD=(t,e,s,i)=>{let r,o=t.state;return o.window===null&&(o.wsize=1<=o.wsize?(o.window.set(e.subarray(s-o.wsize,s),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(e.subarray(s-i,s-i+r),o.wnext),(i-=r)?(o.window.set(e.subarray(s-i,s),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whaveaD(t,15),inflateInit2:aD,inflate:(t,e)=>{let s,i,r,o,y,R,v,P,M,G,w,H,W,k,j,X,q,K,Q,ie,ee,oe,re=0,ne=new Uint8Array(4),ce,he,Ee=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ju(t)||!t.output||!t.input&&t.avail_in!==0)return Yo;s=t.state,s.mode===ll&&(s.mode=jR),y=t.next_out,r=t.output,v=t.avail_out,o=t.next_in,i=t.input,R=t.avail_in,P=s.hold,M=s.bits,G=R,w=v,oe=Bu;e:for(;;)switch(s.mode){case qN:if(s.wrap===0){s.mode=jR;break}for(;M<16;){if(R===0)break e;R--,P+=i[o++]<>>8&255,s.check=jn(s.check,ne,2,0),P=0,M=0,s.mode=16181;break}if(s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&P)<<8)+(P>>8))%31){t.msg="incorrect header check",s.mode=nr;break}if((15&P)!==rD){t.msg="unknown compression method",s.mode=nr;break}if(P>>>=4,M-=4,ee=8+(15&P),s.wbits===0&&(s.wbits=ee),ee>15||ee>s.wbits){t.msg="invalid window size",s.mode=nr;break}s.dmax=1<>8&1),512&s.flags&&4&s.wrap&&(ne[0]=255&P,ne[1]=P>>>8&255,s.check=jn(s.check,ne,2,0)),P=0,M=0,s.mode=16182;case 16182:for(;M<32;){if(R===0)break e;R--,P+=i[o++]<>>8&255,ne[2]=P>>>16&255,ne[3]=P>>>24&255,s.check=jn(s.check,ne,4,0)),P=0,M=0,s.mode=16183;case 16183:for(;M<16;){if(R===0)break e;R--,P+=i[o++]<>8),512&s.flags&&4&s.wrap&&(ne[0]=255&P,ne[1]=P>>>8&255,s.check=jn(s.check,ne,2,0)),P=0,M=0,s.mode=16184;case 16184:if(1024&s.flags){for(;M<16;){if(R===0)break e;R--,P+=i[o++]<>>8&255,s.check=jn(s.check,ne,2,0)),P=0,M=0}else s.head&&(s.head.extra=null);s.mode=16185;case 16185:if(1024&s.flags&&(H=s.length,H>R&&(H=R),H&&(s.head&&(ee=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Uint8Array(s.head.extra_len)),s.head.extra.set(i.subarray(o,o+H),ee)),512&s.flags&&4&s.wrap&&(s.check=jn(s.check,i,H,o)),R-=H,o+=H,s.length-=H),s.length))break e;s.length=0,s.mode=16186;case 16186:if(2048&s.flags){if(R===0)break e;H=0;do ee=i[o+H++],s.head&&ee&&s.length<65536&&(s.head.name+=String.fromCharCode(ee));while(ee&&H>9&1,s.head.done=!0),t.adler=s.check=0,s.mode=ll;break;case 16189:for(;M<32;){if(R===0)break e;R--,P+=i[o++]<>>=7&M,M-=7&M,s.mode=zR;break}for(;M<3;){if(R===0)break e;R--,P+=i[o++]<>>=1,M-=1,3&P){case 0:s.mode=16193;break;case 1:if(_S(s),s.mode=kd,e===Yd){P>>>=2,M-=2;break e}break;case 2:s.mode=16196;break;case 3:t.msg="invalid block type",s.mode=nr}P>>>=2,M-=2;break;case 16193:for(P>>>=7&M,M-=7&M;M<32;){if(R===0)break e;R--,P+=i[o++]<>>16^65535)){t.msg="invalid stored block lengths",s.mode=nr;break}if(s.length=65535&P,P=0,M=0,s.mode=YR,e===Yd)break e;case YR:s.mode=16195;case 16195:if(H=s.length,H){if(H>R&&(H=R),H>v&&(H=v),H===0)break e;r.set(i.subarray(o,o+H),y),R-=H,o+=H,v-=H,y+=H,s.length-=H;break}s.mode=ll;break;case 16196:for(;M<14;){if(R===0)break e;R--,P+=i[o++]<>>=5,M-=5,s.ndist=1+(31&P),P>>>=5,M-=5,s.ncode=4+(15&P),P>>>=4,M-=4,s.nlen>286||s.ndist>30){t.msg="too many length or distance symbols",s.mode=nr;break}s.have=0,s.mode=16197;case 16197:for(;s.have>>=3,M-=3}for(;s.have<19;)s.lens[Ee[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,ce={bits:s.lenbits},oe=YT(0,s.lens,0,19,s.lencode,0,s.work,ce),s.lenbits=ce.bits,oe){t.msg="invalid code lengths set",s.mode=nr;break}s.have=0,s.mode=16198;case 16198:for(;s.have>>24,X=re>>>16&255,q=65535&re,!(j<=M);){if(R===0)break e;R--,P+=i[o++]<>>=j,M-=j,s.lens[s.have++]=q;else{if(q===16){for(he=j+2;M>>=j,M-=j,s.have===0){t.msg="invalid bit length repeat",s.mode=nr;break}ee=s.lens[s.have-1],H=3+(3&P),P>>>=2,M-=2}else if(q===17){for(he=j+3;M>>=j,M-=j,ee=0,H=3+(7&P),P>>>=3,M-=3}else{for(he=j+7;M>>=j,M-=j,ee=0,H=11+(127&P),P>>>=7,M-=7}if(s.have+H>s.nlen+s.ndist){t.msg="invalid bit length repeat",s.mode=nr;break}for(;H--;)s.lens[s.have++]=ee}}if(s.mode===nr)break;if(s.lens[256]===0){t.msg="invalid code -- missing end-of-block",s.mode=nr;break}if(s.lenbits=9,ce={bits:s.lenbits},oe=YT(1,s.lens,0,s.nlen,s.lencode,0,s.work,ce),s.lenbits=ce.bits,oe){t.msg="invalid literal/lengths set",s.mode=nr;break}if(s.distbits=6,s.distcode=s.distdyn,ce={bits:s.distbits},oe=YT(2,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,ce),s.distbits=ce.bits,oe){t.msg="invalid distances set",s.mode=nr;break}if(s.mode=kd,e===Yd)break e;case kd:s.mode=Xd;case Xd:if(R>=6&&v>=258){t.next_out=y,t.avail_out=v,t.next_in=o,t.avail_in=R,s.hold=P,s.bits=M,DS(t,w),y=t.next_out,r=t.output,v=t.avail_out,o=t.next_in,i=t.input,R=t.avail_in,P=s.hold,M=s.bits,s.mode===ll&&(s.back=-1);break}for(s.back=0;re=s.lencode[P&(1<>>24,X=re>>>16&255,q=65535&re,!(j<=M);){if(R===0)break e;R--,P+=i[o++]<>K)],j=re>>>24,X=re>>>16&255,q=65535&re,!(K+j<=M);){if(R===0)break e;R--,P+=i[o++]<>>=K,M-=K,s.back+=K}if(P>>>=j,M-=j,s.back+=j,s.length=q,X===0){s.mode=16205;break}if(32&X){s.back=-1,s.mode=ll;break}if(64&X){t.msg="invalid literal/length code",s.mode=nr;break}s.extra=15&X,s.mode=16201;case 16201:if(s.extra){for(he=s.extra;M>>=s.extra,M-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=16202;case 16202:for(;re=s.distcode[P&(1<>>24,X=re>>>16&255,q=65535&re,!(j<=M);){if(R===0)break e;R--,P+=i[o++]<>K)],j=re>>>24,X=re>>>16&255,q=65535&re,!(K+j<=M);){if(R===0)break e;R--,P+=i[o++]<>>=K,M-=K,s.back+=K}if(P>>>=j,M-=j,s.back+=j,64&X){t.msg="invalid distance code",s.mode=nr;break}s.offset=q,s.extra=15&X,s.mode=16203;case 16203:if(s.extra){for(he=s.extra;M>>=s.extra,M-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){t.msg="invalid distance too far back",s.mode=nr;break}s.mode=16204;case 16204:if(v===0)break e;if(H=w-v,s.offset>H){if(H=s.offset-H,H>s.whave&&s.sane){t.msg="invalid distance too far back",s.mode=nr;break}H>s.wnext?(H-=s.wnext,W=s.wsize-H):W=s.wnext-H,H>s.length&&(H=s.length),k=s.window}else k=r,W=y-s.offset,H=s.length;H>v&&(H=v),v-=H,s.length-=H;do r[y++]=k[W++];while(--H);s.length===0&&(s.mode=Xd);break;case 16205:if(v===0)break e;r[y++]=s.length,v--,s.mode=Xd;break;case zR:if(s.wrap){for(;M<32;){if(R===0)break e;R--,P|=i[o++]<{if(ju(t))return Yo;let e=t.state;return e.window&&(e.window=null),t.state=null,Bu},inflateGetHeader:(t,e)=>{if(ju(t))return Yo;let s=t.state;return 2&s.wrap?(s.head=e,e.done=!1,Bu):Yo},inflateSetDictionary:(t,e)=>{let s=e.length,i,r,o;return ju(t)?Yo:(i=t.state,i.wrap!==0&&i.mode!==zd?Yo:i.mode===zd&&(r=1,r=VT(r,e,s,0),r!==i.check)?sD:(o=cD(t,e,s,s),o?(i.mode=16210,iD):(i.havedict=1,Bu)))},inflateInfo:"pako inflate (from Nodeca project)"},MS=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},iA=Object.prototype.toString,{Z_NO_FLUSH:FS,Z_FINISH:US,Z_OK:zT,Z_STREAM_END:KR,Z_NEED_DICT:ZR,Z_STREAM_ERROR:wS,Z_DATA_ERROR:hD,Z_MEM_ERROR:GS}=ud;function kT(t){this.options=ZD({chunkSize:65536,windowBits:15,to:""},t||{});let e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new JD,this.strm.avail_out=0;let s=yl.inflateInit2(this.strm,e.windowBits);if(s!==zT)throw new Error(Zu[s]);if(this.header=new MS,yl.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=QO(e.dictionary):iA.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(s=yl.inflateSetDictionary(this.strm,e.dictionary),s!==zT)))throw new Error(Zu[s])}function qR(t,e){let s=new kT(e);if(s.push(t),s.err)throw s.msg||Zu[s.err];return s.result}kT.prototype.push=function(t,e){let s=this.strm,i=this.options.chunkSize,r=this.options.dictionary,o,y,R;if(this.ended)return!1;for(y=e===~~e?e:e===!0?US:FS,iA.call(t)==="[object ArrayBuffer]"?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;;){for(s.avail_out===0&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),o=yl.inflate(s,y),o===ZR&&r&&(o=yl.inflateSetDictionary(s,r),o===zT?o=yl.inflate(s,y):o===hD&&(o=ZR));s.avail_in>0&&o===KR&&s.state.wrap>0&&t[s.next_in]!==0;)yl.inflateReset(s),o=yl.inflate(s,y);switch(o){case wS:case hD:case ZR:case GS:return this.onEnd(o),this.ended=!0,!1}if(R=s.avail_out,s.next_out&&(s.avail_out===0||o===KR))if(this.options.to==="string"){let v=ES(s.output,s.next_out),P=s.next_out-v,M=uS(s.output,v);s.next_out=P,s.avail_out=i-P,P&&s.output.set(s.output.subarray(v,v+P),0),this.onData(M)}else this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out));if(o!==zT||R!==0){if(o===KR)return o=yl.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(s.avail_in===0)break}}return!0},kT.prototype.onData=function(t){this.chunks.push(t)},kT.prototype.onEnd=function(t){t===zT&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=qD(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var HS={Inflate:kT,inflate:qR,inflateRaw:function(t,e){return(e=e||{}).raw=!0,qR(t,e)},ungzip:qR},{Deflate:BS,deflate:VS,deflateRaw:WS,gzip:jS}=mS,{Inflate:YS,inflate:zS,inflateRaw:kS,ungzip:XS}=HS,sd={Deflate:BS,deflate:VS,deflateRaw:WS,gzip:jS,Inflate:YS,inflate:zS,inflateRaw:kS,ungzip:XS,constants:ud},Fp=class{constructor(e){z(this,"id"),z(this,"thread"),this.id=this.getId(),this.thread=e,this.thread.actions[this.id]=s=>this.execute(s)}},fp=new Int32Array(2),lD=new Float32Array(fp.buffer),pD=new Float64Array(fp.buffer),Kd=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1,Hf,Zd;(Zd=Hf||(Hf={}))[Zd.UTF8_BYTES=1]="UTF8_BYTES",Zd[Zd.UTF16_STRING=2]="UTF16_STRING";var bI=class t{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new t(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,s){this.bytes_[e]=s,this.bytes_[e+1]=s>>8}writeInt32(e,s){this.bytes_[e]=s,this.bytes_[e+1]=s>>8,this.bytes_[e+2]=s>>16,this.bytes_[e+3]=s>>24}writeUint32(e,s){this.bytes_[e]=s,this.bytes_[e+1]=s>>8,this.bytes_[e+2]=s>>16,this.bytes_[e+3]=s>>24}writeInt64(e,s){this.writeInt32(e,Number(BigInt.asIntN(32,s))),this.writeInt32(e+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(e,s){this.writeUint32(e,Number(BigInt.asUintN(32,s))),this.writeUint32(e+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(e,s){lD[0]=s,this.writeInt32(e,fp[0])}writeFloat64(e,s){pD[0]=s,this.writeInt32(e,fp[Kd?0:1]),this.writeInt32(e+4,fp[Kd?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);let i=1+~(this.bb.capacity()-this.space+s)&e-1;for(;this.space=0&&this.vtable[s]==0;s--);let i=s+1;for(;s>=0;s--)this.addInt16(this.vtable[s]!=0?e-this.vtable[s]:0);this.addInt16(e-this.object_start);let r=2*(i+2);this.addInt16(r);let o=0,y=this.space;e:for(s=0;s=0;y--)this.writeInt8(o.charCodeAt(y))}this.prep(this.minalign,4+r),this.addOffset(e),r&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,s){this.finish(e,s,!0)}requiredField(e,s){let i=this.bb.capacity()-e,r=i-this.bb.readInt32(i);if(!(s65535?new Uint32Array(new o(4*r)):new Uint16Array(new o(2*r))})(s,e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer);t.setIndex(new Oo(i,1));for(let r=0;rR-v));for(let R=0;Rs&&(s=r,e=i)}return e}function ED(t,e){e.set(t)}function ID(t,e,s){let i,r;for(let o=0;o<3;o++){let y=o+3;i=t[o],r=e[o],s[o]=ir?i:r}}function qd(t,e,s){for(let i=0;i<3;i++){let r=e[t+2*i],o=e[t+2*i+1],y=r-o,R=r+o;ys[i+3]&&(s[i+3]=R)}}function yT(t){let e=t[3]-t[0],s=t[4]-t[1],i=t[5]-t[2];return 2*(e*s+s*i+i*e)}function $R(t,e,s,i,r=null){let o=1/0,y=1/0,R=1/0,v=-1/0,P=-1/0,M=-1/0,G=1/0,w=1/0,H=1/0,W=-1/0,k=-1/0,j=-1/0,X=r!==null;for(let q=6*e,K=6*(e+s);qv&&(v=oe),X&&QW&&(W=Q);let re=t[q+2],ne=t[q+3],ce=re-ne,he=re+ne;ceP&&(P=he),X&&rek&&(k=re);let Ee=t[q+4],De=t[q+5],Se=Ee-De,Ue=Ee+De;SeM&&(M=Ue),X&&Eej&&(j=Ee)}i[0]=o,i[1]=y,i[2]=R,i[3]=v,i[4]=P,i[5]=M,X&&(r[0]=G,r[1]=w,r[2]=H,r[3]=W,r[4]=k,r[5]=j)}var DN=32,qS=(t,e)=>t.candidate-e.candidate,yp=new Array(DN).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),Qd=new Float32Array(6),dI=class{constructor(){}};function QS(t,e,s,i,r,o){let y=i,R=i+r-1,v=o.pos,P=2*o.axis;for(;;){for(;y<=R&&s[6*y+P]=v;)R--;if(!(y=v;)R--;if(!(yfs&&(fs=wt),ni>fs&&(fs=ni);let ze=(fs-st)/2,ot=2*nt;ce[je+ot+0]=st+ze,ce[je+ot+1]=ze+(Math.abs(st)+ze)*KS,stie[nt+3]&&(ie[nt+3]=fs)}}return ce})(s,w),k=e.indirect?JS:QS,j=[],X=e.indirect?rA(s):nA(s);if(X.length===1){let Q=X[0],ie=new dI;ie.boundingData=w,(function(ee,oe,re,ne){let ce=1/0,he=1/0,Ee=1/0,De=-1/0,Se=-1/0,Ue=-1/0;for(let Oe=6*oe,Fe=6*(oe+re);OeDe&&(De=je);let Xe=ee[Oe+2];XeSe&&(Se=Xe);let tt=ee[Oe+4];ttUe&&(Ue=tt)}ne[0]=ce,ne[1]=he,ne[2]=Ee,ne[3]=De,ne[4]=Se,ne[5]=Ue})(W,Q.offset,Q.count,H),K(ie,Q.offset,Q.count,H),j.push(ie)}else for(let Q of X){let ie=new dI;ie.boundingData=new Float32Array(6),$R(W,Q.offset,Q.count,ie.boundingData,H),K(ie,Q.offset,Q.count,H),j.push(ie)}return j;function q(Q){v&&v(Q/P)}function K(Q,ie,ee,oe=null,re=0){if(!G&&re>=r&&(G=!0,o&&(console.warn(`MeshBVH: Max depth of ${r} reached when generating BVH. Consider increasing maxDepth.`),console.warn(s))),ee<=y||re>=r)return q(ie+ee),Q.offset=ie,Q.count=ee,Q;let ne=(function(he,Ee,De,Se,Ue,Oe){let Fe=-1,je=0;if(Oe===0)Fe=uD(Ee),Fe!==-1&&(je=(Ee[Fe]+Ee[Fe+3])/2);else if(Oe===1)Fe=uD(he),Fe!==-1&&(je=(function(Xe,tt,Gs,nt){let ri=0;for(let wt=tt,ni=tt+Gs;wt=Tt.candidate?qd(ot,De,Tt.rightCacheBounds):(qd(ot,De,Tt.leftCacheBounds),Tt.count++)}}for(let ot=0;ot=DN&&(ot=31);let Qe=yp[ot];Qe.count++,qd(ze,De,Qe.bounds)}let st=yp[31];ED(st.bounds,st.rightCacheBounds);for(let ze=30;ze>=0;ze--){let ot=yp[ze],Qe=yp[ze+1];ID(ot.bounds,Qe.rightCacheBounds,ot.rightCacheBounds)}let fs=0;for(let ze=0;ze<31;ze++){let ot=yp[ze],Qe=ot.count,Ls=ot.bounds,Tt=yp[ze+1].rightCacheBounds;Qe!==0&&(fs===0?ED(Ls,Qd):ID(Ls,Qd,Qd)),fs+=Qe;let zn=0,bt=0;fs!==0&&(zn=yT(Qd)/Xe);let Ha=Ue-fs;Ha!==0&&(bt=yT(Tt)/Xe);let Ni=1+QR*(zn*fs+bt*Ha);Ni65536,k=W?4:2,j=w?new SharedArrayBuffer(H*k):new ArrayBuffer(H*k),X=W?new Uint32Array(j):new Uint16Array(j);for(let q=0,K=X.length;qj.offset-X.offset)),W=H[H.length-1];W.count=Math.min(w-W.offset,W.count);let k=0;return H.forEach((({count:j})=>k+=j)),w!==k})(s)&&!e.verbose&&console.warn('MeshBVH: Provided geometry contains groups that do not fully span the vertex contents while using the "indirect" option. BVH may incorrectly report intersections on unrendered portions of the geometry.')),t._indirectBuffer||ZS(s,e);let i=$S(t,e),r,o,y,R=[],v=e.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let G=0;GMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return o[H+6]=Q/4,Q=M(Q,q),o[H+7]=K,Q}}}var Ac=class{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,s){let i=1/0,r=-1/0;for(let o=0,y=e.length;or?R:r}this.min=i,this.max=r}setFromPoints(e,s){let i=1/0,r=-1/0;for(let o=0,y=s.length;or?v:r}this.min=i,this.max=r}isSeparated(e){return this.min>e.max||e.min>this.max}};Ac.prototype.setFromBox=(function(){let t=new te;return function(e,s){let i=s.min,r=s.max,o=1/0,y=-1/0;for(let R=0;R<=1;R++)for(let v=0;v<=1;v++)for(let P=0;P<=1;P++){t.x=i.x*R+r.x*(1-R),t.y=i.y*v+r.y*(1-v),t.z=i.z*P+r.z*(1-P);let M=e.dot(t);o=Math.min(M,o),y=Math.max(M,y)}this.min=o,this.max=y}})();var t3=(function(){let t=new te,e=new te,s=new te;return function(i,r,o){let y=i.start,R=t,v=r.start,P=e;s.subVectors(y,v),t.subVectors(i.end,i.start),e.subVectors(r.end,r.start);let M=s.dot(P),G=P.dot(R),w=P.dot(P),H=s.dot(R),W=R.dot(R)*w-G*G,k,j;k=W!==0?(M*G-H*w)/W:0,j=(M+k*G)/w,o.x=k,o.y=j}})(),Bf=(function(){let t=new aa,e=new te,s=new te;return function(i,r,o,y){t3(i,r,t);let R=t.x,v=t.y;if(R>=0&&R<=1&&v>=0&&v<=1)return i.at(R,o),void r.at(v,y);if(R>=0&&R<=1)return v<0?r.at(0,y):r.at(1,y),void i.closestPointToPoint(y,!0,o);if(v>=0&&v<=1)return R<0?i.at(0,o):i.at(1,o),void r.closestPointToPoint(o,!0,y);{let P,M;P=R<0?i.start:i.end,M=v<0?r.start:r.end;let G=e,w=s;return i.closestPointToPoint(M,!0,e),r.closestPointToPoint(P,!0,s),G.distanceToSquared(M)<=w.distanceToSquared(P)?(o.copy(G),void y.copy(M)):(o.copy(P),void y.copy(w))}}})(),s3=(function(){let t=new te,e=new te,s=new ra,i=new to;return function(r,o){let{radius:y,center:R}=r,{a:v,b:P,c:M}=o;if(i.start=v,i.end=P,i.closestPointToPoint(R,!0,t).distanceTo(R)<=y||(i.start=v,i.end=M,i.closestPointToPoint(R,!0,t).distanceTo(R)<=y)||(i.start=P,i.end=M,i.closestPointToPoint(R,!0,t).distanceTo(R)<=y))return!0;let G=o.getPlane(s);if(Math.abs(G.distanceToPoint(R))<=y){let w=G.projectPoint(R,e);if(o.containsPoint(w))return!0}return!1}})();function ef(t){return Math.abs(t)<1e-15}var No=class extends so{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new te)),this.satBounds=new Array(4).fill().map((()=>new Ac)),this.points=[this.a,this.b,this.c],this.sphere=new Pp,this.plane=new ra,this.needsUpdate=!0}intersectsSphere(e){return s3(e,this)}update(){let e=this.a,s=this.b,i=this.c,r=this.points,o=this.satAxes,y=this.satBounds,R=o[0],v=y[0];this.getNormal(R),v.setFromPoints(R,r);let P=o[1],M=y[1];P.subVectors(e,s),M.setFromPoints(P,r);let G=o[2],w=y[2];G.subVectors(s,i),w.setFromPoints(G,r);let H=o[3],W=y[3];H.subVectors(i,e),W.setFromPoints(H,r),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(R,e),this.needsUpdate=!1}};No.prototype.closestPointToSegment=(function(){let t=new te,e=new te,s=new to;return function(i,r=null,o=null){let{start:y,end:R}=i,v=this.points,P,M=1/0;for(let G=0;G<3;G++){let w=(G+1)%3;s.start.copy(v[G]),s.end.copy(v[w]),Bf(s,i,t,e),P=t.distanceToSquared(e),P=2){(Q===1?X.start:X.end).copy(H),K=2;break}if(K++,K===2&&Q===-1)break}}return K}return function(k,j=null,X=!1){this.needsUpdate&&this.update(),k.isExtendedTriangle?k.needsUpdate&&k.update():(t.copy(k),t.update(),k=t);let q=this.plane,K=k.plane;if(Math.abs(q.normal.dot(K.normal))>1-1e-10){let Q=this.satBounds,ie=this.satAxes;s[0]=k.a,s[1]=k.b,s[2]=k.c;for(let re=0;re<4;re++){let ne=Q[re],ce=ie[re];if(i.setFromPoints(ce,s),ne.isSeparated(i))return!1}let ee=k.satBounds,oe=k.satAxes;e[0]=this.a,e[1]=this.b,e[2]=this.c;for(let re=0;re<4;re++){let ne=ee[re],ce=oe[re];if(i.setFromPoints(ce,e),ne.isSeparated(i))return!1}for(let re=0;re<4;re++){let ne=ie[re];for(let ce=0;ce<4;ce++){let he=oe[ce];if(o.crossVectors(ne,he),i.setFromPoints(o,e),r.setFromPoints(o,s),i.isSeparated(r))return!1}}return j&&(X||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),j.start.set(0,0,0),j.end.set(0,0,0)),!0}{let Q=W(this,K,G);if(Q===1&&k.containsPoint(G.end))return j&&(j.start.copy(G.end),j.end.copy(G.end)),!0;if(Q!==2)return!1;let ie=W(k,q,w);if(ie===1&&this.containsPoint(w.end))return j&&(j.start.copy(w.end),j.end.copy(w.end)),!0;if(ie!==2)return!1;if(G.delta(R),w.delta(v),R.dot(v)<0){let ce=w.start;w.start=w.end,w.end=ce}let ee=G.start.dot(R),oe=G.end.dot(R),re=w.start.dot(R),ne=w.end.dot(R);return(ee===ne||re===oe||oe0?j.start.copy(G.start):j.start.copy(w.start),P.subVectors(G.end,w.end),P.dot(R)<0?j.end.copy(G.end):j.end.copy(w.end)),!0)}}})(),No.prototype.distanceToPoint=(function(){let t=new te;return function(e){return this.closestPointToPoint(e,t),e.distanceTo(t)}})(),No.prototype.distanceToTriangle=(function(){let t=new te,e=new te,s=["a","b","c"],i=new to,r=new to;return function(o,y=null,R=null){let v=y||R?i:null;if(this.intersectsTriangle(o,v))return(y||R)&&(y&&v.getCenter(y),R&&v.getCenter(R)),0;let P=1/0;for(let M=0;M<3;M++){let G,w=s[M],H=o[w];this.closestPointToPoint(H,t),G=H.distanceToSquared(t),Gnew te)),this.satAxes=new Array(3).fill().map((()=>new te)),this.satBounds=new Array(3).fill().map((()=>new Ac)),this.alignedSatBounds=new Array(3).fill().map((()=>new Ac)),this.needsUpdate=!1,e&&this.min.copy(e),s&&this.max.copy(s),i&&this.matrix.copy(i)}set(e,s,i){this.min.copy(e),this.max.copy(s),this.matrix.copy(i),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}};na.prototype.update=(function(){return function(){let t=this.matrix,e=this.min,s=this.max,i=this.points;for(let v=0;v<=1;v++)for(let P=0;P<=1;P++)for(let M=0;M<=1;M++){let G=i[1*v|2*P|4*M];G.x=v?s.x:e.x,G.y=P?s.y:e.y,G.z=M?s.z:e.z,G.applyMatrix4(t)}let r=this.satBounds,o=this.satAxes,y=i[0];for(let v=0;v<3;v++){let P=o[v],M=r[v],G=i[1<new to)),s=new Array(12).fill().map((()=>new to)),i=new te,r=new te;return function(o,y=0,R=null,v=null){if(this.needsUpdate&&this.update(),this.intersectsBox(o))return(R||v)&&(o.getCenter(r),this.closestPointToPoint(r,i),o.closestPointToPoint(i,r),R&&R.copy(i),v&&v.copy(r)),0;let P=y*y,M=o.min,G=o.max,w=this.points,H=1/0;for(let k=0;k<8;k++){let j=w[k];r.copy(j).clamp(M,G);let X=j.distanceToSquared(r);if(Xnew No))}},Xo=new Vf;function Ro(t,e){return e[t+15]===65535}function fo(t,e){return e[t+6]}function Ko(t,e){return e[t+14]}function Zo(t){return t+8}function qo(t,e){return e[t+6]}function aA(t,e){return e[t+7]}var Xi=new class{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;let t=[],e=null;this.setBuffer=s=>{e&&t.push(e),e=s,this.float32Array=new Float32Array(s),this.uint16Array=new Uint16Array(s),this.uint32Array=new Uint32Array(s)},this.clearBuffer=()=>{e=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,t.length!==0&&this.setBuffer(t.pop())}}},Cp,NI,$E=[],Jd=new id((()=>new di));function i3(t,e,s,i,r,o){Cp=Jd.getPrimitive(),NI=Jd.getPrimitive(),$E.push(Cp,NI),Xi.setBuffer(t._roots[e]);let y=Wf(0,t.geometry,s,i,r,o);Xi.clearBuffer(),Jd.releasePrimitive(Cp),Jd.releasePrimitive(NI),$E.pop(),$E.pop();let R=$E.length;return R>0&&(NI=$E[R-1],Cp=$E[R-2]),y}function Wf(t,e,s,i,r=null,o=0,y=0){let{float32Array:R,uint16Array:v,uint32Array:P}=Xi,M=2*t;if(Ro(M,v)){let G=fo(t,P),w=Ko(M,v);return mr(t,R,Cp),i(G,w,!1,y,o+t,Cp)}{let G=function(ne){let{uint16Array:ce,uint32Array:he}=Xi,Ee=2*ne;for(;!Ro(Ee,ce);)Ee=2*(ne=Zo(ne));return fo(ne,he)},w=function(ne){let{uint16Array:ce,uint32Array:he}=Xi,Ee=2*ne;for(;!Ro(Ee,ce);)Ee=2*(ne=qo(ne,he));return fo(ne,he)+Ko(Ee,ce)},H=Zo(t),W=qo(t,P),k,j,X,q,K=H,Q=W;if(r&&(X=Cp,q=NI,mr(K,R,X),mr(Q,R,q),k=r(X),j=r(q),j0&&re.normal.multiplyScalar(-1));let ne={a:Q,b:ie,c:ee,normal:new te,materialIndex:0};so.getNormal(eI,tI,sI,ne.normal),re.face=ne,re.faceIndex=Q}return re})(s,M,G,w,H,y,R,v,e);return W?(W.faceIndex=i,r&&r.push(W),W):null}function yn(t,e,s,i){let r=t.a,o=t.b,y=t.c,R=e,v=e+1,P=e+2;s&&(R=s.getX(R),v=s.getX(v),P=s.getX(P)),r.x=i.getX(R),r.y=i.getY(R),r.z=i.getZ(R),o.x=i.getX(v),o.y=i.getY(v),o.z=i.getZ(v),y.x=i.getX(P),y.y=i.getY(P),y.z=i.getZ(P)}function r3(t,e,s,i,r,o,y){let{geometry:R}=s,{index:v}=R,P=R.attributes.position;for(let M=t,G=e+t;MQ&&(Q=ce),heie&&(ie=he),Eeee&&(ee=Ee)}return(v[w+0]!==X||v[w+1]!==q||v[w+2]!==K||v[w+3]!==Q||v[w+4]!==ie||v[w+5]!==ee)&&(v[w+0]=X,v[w+1]=q,v[w+2]=K,v[w+3]=Q,v[w+4]=ie,v[w+5]=ee,!0)}{let j=w+8,X=y[w+6],q=j+H,K=X+H,Q=W,ie=!1,ee=!1;e?Q||(ie=e.has(q),ee=e.has(K),Q=!ie&&!ee):(ie=!0,ee=!0);let oe=Q||ee,re=!1;(Q||ie)&&(re=G(j,H,Q));let ne=!1;oe&&(ne=G(X,H,Q));let ce=re||ne;if(ce)for(let he=0;he<3;he++){let Ee=j+he,De=X+he,Se=v[Ee],Ue=v[Ee+3],Oe=v[De],Fe=v[De+3];v[w+he]=SeFe?Ue:Fe}return ce}}}var ND=new di;function Up(t,e,s,i){return mr(t,e,ND),s.intersectBox(ND,i)}function a3(t,e,s,i,r,o,y){let{geometry:R}=s,{index:v}=R,P=R.attributes.position;for(let M=t,G=e+t;M=0,G,w;M?(G=Zo(t),w=qo(t,y)):(G=qo(t,y),w=Zo(t));let H=Up(G,r,i,fD)?Yf(G,e,s,i):null;if(H){let k=H.point[P];if(M?k<=r[w+v]:k>=r[w+v+3])return H}let W=Up(w,r,i,fD)?Yf(w,e,s,i):null;return H&&W?H.distance<=W.distance?H:W:H||W||null}}var iN=new di,iI=new No,rI=new No,dT=new Yt,OD=new na,rN=new na;function l3(t,e,s,i){Xi.setBuffer(t._roots[e]);let r=zf(0,t,s,i);return Xi.clearBuffer(),r}function zf(t,e,s,i,r=null){let{float32Array:o,uint16Array:y,uint32Array:R}=Xi,v=2*t;if(r===null&&(s.boundingBox||s.computeBoundingBox(),OD.set(s.boundingBox.min,s.boundingBox.max,i),r=OD),!Ro(v,y)){let P=t+8,M=R[t+6];return mr(P,o,iN),r.intersectsBox(iN)&&zf(P,e,s,i,r)?!0:(mr(M,o,iN),!!(r.intersectsBox(iN)&&zf(M,e,s,i,r)))}{let P=e.geometry,M=P.index,G=P.attributes.position,w=s.index,H=s.attributes.position,W=fo(t,R),k=Ko(v,y);if(dT.copy(i).invert(),s.boundsTree)return mr(t,o,rN),rN.matrix.copy(dT),rN.needsUpdate=!0,s.boundsTree.shapecast({intersectsBounds:j=>rN.intersectsBox(j),intersectsTriangle:j=>{j.a.applyMatrix4(i),j.b.applyMatrix4(i),j.c.applyMatrix4(i),j.needsUpdate=!0;for(let X=3*W,q=3*(k+W);Xsf.distanceToBox(ie),intersectsBounds:(ie,ee,oe)=>oe{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:oe=>NT.distanceToBox(oe),intersectsBounds:(oe,re,ne)=>ne{for(let ne=oe,ce=oe+re;neQ&&(Q=Ee),Deie&&(ie=De),Seee&&(ee=Se)}}return(v[w+0]!==X||v[w+1]!==q||v[w+2]!==K||v[w+3]!==Q||v[w+4]!==ie||v[w+5]!==ee)&&(v[w+0]=X,v[w+1]=q,v[w+2]=K,v[w+3]=Q,v[w+4]=ie,v[w+5]=ee,!0)}{let j=w+8,X=y[w+6],q=j+H,K=X+H,Q=W,ie=!1,ee=!1;e?Q||(ie=e.has(q),ee=e.has(K),Q=!ie&&!ee):(ie=!0,ee=!0);let oe=Q||ee,re=!1;(Q||ie)&&(re=G(j,H,Q));let ne=!1;oe&&(ne=G(X,H,Q));let ce=re||ne;if(ce)for(let he=0;he<3;he++){let Ee=j+he,De=X+he,Se=v[Ee],Ue=v[Ee+3],Oe=v[De],Fe=v[De+3];v[w+he]=SeFe?Ue:Fe}return ce}}}var mD=new te;function d3(t,e,s,i,r){Xi.setBuffer(t._roots[e]),kf(0,t,s,i,r),Xi.clearBuffer()}function kf(t,e,s,i,r){let{float32Array:o,uint16Array:y,uint32Array:R}=Xi,v=2*t;if(Ro(v,y))(function(P,M,G,w,H,W){let{geometry:k,_indirectBuffer:j}=P;for(let X=w,q=w+H;X=0,G,w;M?(G=Zo(t),w=qo(t,y)):(G=qo(t,y),w=Zo(t));let H=Up(G,r,i,DD)?Xf(G,e,s,i):null;if(H){let k=H.point[P];if(M?k<=r[w+v]:k>=r[w+v+3])return H}let W=Up(w,r,i,DD)?Xf(w,e,s,i):null;return H&&W?H.distance<=W.distance?H:W:H||W||null}}var aN=new di,nI=new No,aI=new No,RT=new Yt,AD=new na,oN=new na;function f3(t,e,s,i){Xi.setBuffer(t._roots[e]);let r=Kf(0,t,s,i);return Xi.clearBuffer(),r}function Kf(t,e,s,i,r=null){let{float32Array:o,uint16Array:y,uint32Array:R}=Xi,v=2*t;if(r===null&&(s.boundingBox||s.computeBoundingBox(),AD.set(s.boundingBox.min,s.boundingBox.max,i),r=AD),!Ro(v,y)){let P=t+8,M=R[t+6];return mr(P,o,aN),r.intersectsBox(aN)&&Kf(P,e,s,i,r)?!0:(mr(M,o,aN),!!(r.intersectsBox(aN)&&Kf(M,e,s,i,r)))}{let P=e.geometry,M=P.index,G=P.attributes.position,w=s.index,H=s.attributes.position,W=fo(t,R),k=Ko(v,y);if(RT.copy(i).invert(),s.boundsTree)return mr(t,o,oN),oN.matrix.copy(RT),oN.needsUpdate=!0,s.boundsTree.shapecast({intersectsBounds:j=>oN.intersectsBox(j),intersectsTriangle:j=>{j.a.applyMatrix4(i),j.b.applyMatrix4(i),j.c.applyMatrix4(i),j.needsUpdate=!0;for(let X=W,q=k+W;Xrf.distanceToBox(ie),intersectsBounds:(ie,ee,oe)=>oe{if(e.boundsTree){let oe=e.boundsTree;return oe.shapecast({boundsTraverseOrder:re=>fT.distanceToBox(re),intersectsBounds:(re,ne,ce)=>ce{for(let ce=re,he=re+ne;cenew di)),oI=new di,cI=new di,nf=new di,af=new di,of=!1;function Oc(t,e,s,i,r,o=0,y=0,R=0,v=0,P=null,M=!1){let G,w;M?(G=VN,w=XT):(G=XT,w=VN);let H=G.float32Array,W=G.uint32Array,k=G.uint16Array,j=w.float32Array,X=w.uint32Array,q=w.uint16Array,K=2*e,Q=Ro(2*t,k),ie=Ro(K,q),ee=!1;if(ie&&Q)ee=M?r(fo(e,X),Ko(2*e,q),fo(t,W),Ko(2*t,k),v,y+e,R,o+t):r(fo(t,W),Ko(2*t,k),fo(e,X),Ko(2*e,q),R,o+t,v,y+e);else if(ie){let oe=Op.getPrimitive();mr(e,j,oe),oe.applyMatrix4(s);let re=Zo(t),ne=qo(t,W);mr(re,H,oI),mr(ne,H,cI);let ce=oe.intersectsBox(oI),he=oe.intersectsBox(cI);ee=ce&&Oc(e,re,i,s,r,y,o,v,R+1,oe,!M)||he&&Oc(e,ne,i,s,r,y,o,v,R+1,oe,!M),Op.releasePrimitive(oe)}else{let oe=Zo(e),re=qo(e,X);mr(oe,j,nf),mr(re,j,af);let ne=P.intersectsBox(nf),ce=P.intersectsBox(af);if(ne&&ce)ee=Oc(t,oe,s,i,r,o,y,R,v+1,P,M)||Oc(t,re,s,i,r,o,y,R,v+1,P,M);else if(ne)if(Q)ee=Oc(t,oe,s,i,r,o,y,R,v+1,P,M);else{let he=Op.getPrimitive();he.copy(nf).applyMatrix4(s);let Ee=Zo(t),De=qo(t,W);mr(Ee,H,oI),mr(De,H,cI);let Se=he.intersectsBox(oI),Ue=he.intersectsBox(cI);ee=Se&&Oc(oe,Ee,i,s,r,y,o,v,R+1,he,!M)||Ue&&Oc(oe,De,i,s,r,y,o,v,R+1,he,!M),Op.releasePrimitive(he)}else if(ce)if(Q)ee=Oc(t,re,s,i,r,o,y,R,v+1,P,M);else{let he=Op.getPrimitive();he.copy(af).applyMatrix4(s);let Ee=Zo(t),De=qo(t,W);mr(Ee,H,oI),mr(De,H,cI);let Se=he.intersectsBox(oI),Ue=he.intersectsBox(cI);ee=Se&&Oc(re,Ee,i,s,r,y,o,v,R+1,he,!M)||Ue&&Oc(re,De,i,s,r,y,o,v,R+1,he,!M),Op.releasePrimitive(he)}}return ee}var hN=new na,SD=new di,Zf=class t{static serialize(e,s={}){s={cloneBuffers:!0,...s};let i=e.geometry,r=e._roots,o=e._indirectBuffer,y=i.getIndex(),R;return R=s.cloneBuffers?{roots:r.map((v=>v.slice())),index:y.array.slice(),indirectBuffer:o?o.slice():null}:{roots:r,index:y.array,indirectBuffer:o},R}static deserialize(e,s,i={}){i={setIndex:!0,indirect:!!e.indirectBuffer,...i};let{index:r,roots:o,indirectBuffer:y}=e,R=new t(s,{...i,[JR]:!0});if(R._roots=o,R._indirectBuffer=y||null,i.setIndex){let v=s.getIndex();if(v===null){let P=new Oo(e.index,1,!1);s.setIndex(P)}else v.array!==r&&(v.array.set(r),v.needsUpdate=!0)}return R}get indirect(){return!!this._indirectBuffer}constructor(e,s={}){if(!e.isBufferGeometry)throw new Error("MeshBVH: Only BufferGeometries are supported.");if(e.index&&e.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.");if((s=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,indirect:!1,[JR]:!1},s)).useSharedArrayBuffer&&typeof SharedArrayBuffer>"u")throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=e,this._roots=null,this._indirectBuffer=null,s[JR]||(e3(this,s),!e.boundingBox&&s.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new di)));let{_indirectBuffer:i}=this;this.resolveTriangleIndex=s.indirect?r=>i[r]:r=>r}refit(e=null){return(this.indirect?T3:n3)(this,e)}traverse(e,s=0){let i=this._roots[s],r=new Uint32Array(i),o=new Uint16Array(i);(function y(R,v=0){let P=2*R,M=o[P+15]===QN;if(M){let G=r[R+6],w=o[P+14];e(v,M,new Float32Array(i,4*R,6),G,w)}else{let G=R+8,w=r[R+6],H=r[R+7];e(v,M,new Float32Array(i,4*R,6),H)||(y(G,v+1),y(w,v+1))}})(0)}raycast(e,s=0){let i=this._roots,r=this.geometry,o=[],y=s.isMaterial,R=Array.isArray(s),v=r.groups,P=y?s.side:s,M=this.indirect?d3:o3;for(let G=0,w=i.length;G!!G(w,H,W,k,j)||i(w,H,this,R,W,k,s)}else y||(y=R?(G,w,H,W)=>i(G,w,this,R,H,W,s):(G,w,H)=>H);let v=!1,P=0,M=this._roots;for(let G=0,w=M.length;G{let k=this.resolveTriangleIndex(W);yn(y,3*k,R,v)}:W=>{yn(y,3*W,R,v)},M=Xo.getPrimitive(),G=e.geometry.index,w=e.geometry.attributes.position,H=e.indirect?W=>{let k=e.resolveTriangleIndex(W);yn(M,3*k,G,w)}:W=>{yn(M,3*W,G,w)};if(o){let W=(k,j,X,q,K,Q,ie,ee)=>{for(let oe=X,re=X+q;oehN.intersectsBox(i),intersectsTriangle:i=>hN.intersectsTriangle(i)})}intersectsSphere(e){return this.shapecast({intersectsBounds:s=>e.intersectsBox(s),intersectsTriangle:s=>s.intersectsSphere(e)})}closestPointToGeometry(e,s,i={},r={},o=0,y=1/0){return(this.indirect?S3:y3)(this,e,s,i,r,o,y)}closestPointToPoint(e,s={},i=0,r=1/0){return(function(o,y,R={},v=0,P=1/0){let M=v*v,G=P*P,w=1/0,H=null;if(o.shapecast({boundsTraverseOrder:k=>(TT.copy(y).clamp(k.min,k.max),TT.distanceToSquared(y)),intersectsBounds:(k,j,X)=>X{k.closestPointToPoint(y,TT);let X=y.distanceToSquared(TT);return X{mr(0,new Float32Array(s),SD),e.union(SD)})),e}};function CD(t,e,s){return t===null?null:(t.point.applyMatrix4(e.matrixWorld),t.distance=t.point.distanceTo(s.ray.origin),t.object=e,t.distances.far?null:t)}var cf=new xp,vD=new Yt,C3=Mp.prototype.raycast;function v3(t,e){if(this.geometry.boundsTree){if(this.material===void 0)return;vD.copy(this.matrixWorld).invert(),cf.copy(t.ray).applyMatrix4(vD);let s=this.geometry.boundsTree;if(t.firstHitOnly===!0){let i=CD(s.raycastFirst(cf,this.material),this,t);i&&e.push(i)}else{let i=s.raycast(cf,this.material);for(let r=0,o=i.length;r=0}return i}static collides(e,s,i){for(let r of s)if(this.getPointDistance(r,i,e)<0)return!1;return!0}static getPointDistance(e,s,i){let r=e.normal;for(let o of this.dimensions){let y=r[o]>=0!==s;this.tempPoint[o]=y?i.max[o]:i.min[o]}return e.distanceToPoint(this.tempPoint)}};z(qu,"tempPoint",new te),z(qu,"dimensions",["x","y","z"]);var Ku=class{static transform(e,s,i=new JT){for(let r=0;r80*s){R=1/0,v=1/0;let M=-1/0,G=-1/0;for(let w=s;wM&&(M=H),W>G&&(G=W)}P=Math.max(M-R,G-v),P=P!==0?32767/P:0}return rd(o,y,s,R,v,P,0),y}function bD(t,e,s,i,r){let o;if(r===(function(y,R,v,P){let M=0;for(let G=R,w=v-P;G0)for(let y=e;y=e;y-=i)o=LD(y/i|0,t[y],t[y+1],o);return o&&gI(o,o.next)&&(ad(o),o=o.next),o}function Qu(t,e){if(!t)return t;e||(e=t);let s,i=t;do if(s=!1,i.steiner||!gI(i,i.next)&&Dr(i.prev,i,i.next)!==0)i=i.next;else{if(ad(i),i=e=i.prev,i===i.next)break;s=!0}while(s||i!==e);return e}function rd(t,e,s,i,r,o,y){if(!t)return;!y&&o&&(function(v,P,M,G){let w=v;do w.z===0&&(w.z=qf(w.x,w.y,P,M,G)),w.prevZ=w.prev,w.nextZ=w.next,w=w.next;while(w!==v);w.prevZ.nextZ=null,w.prevZ=null,(function(H){let W,k=1;do{let j,X=H;H=null;let q=null;for(W=0;X;){W++;let K=X,Q=0;for(let ee=0;ee0||ie>0&&K;)Q!==0&&(ie===0||!K||X.z<=K.z)?(j=X,X=X.nextZ,Q--):(j=K,K=K.nextZ,ie--),q?q.nextZ=j:H=j,j.prevZ=q,q=j;X=K}q.nextZ=null,k*=2}while(W>1)})(w)})(t,i,r,o);let R=t;for(;t.prev!==t.next;){let v=t.prev,P=t.next;if(o?P3(t,i,r,o):g3(t))e.push(v.i,t.i,P.i),ad(t),t=P.next,R=P.next;else if((t=P)===R){y?y===1?rd(t=x3(Qu(t),e),e,s,i,r,o,2):y===2&&_3(t,e,s,i,r,o):rd(Qu(t),e,s,i,r,o,1);break}}}function g3(t){let e=t.prev,s=t,i=t.next;if(Dr(e,s,i)>=0)return!1;let r=e.x,o=s.x,y=i.x,R=e.y,v=s.y,P=i.y,M=Math.min(r,o,y),G=Math.min(R,v,P),w=Math.max(r,o,y),H=Math.max(R,v,P),W=i.next;for(;W!==e;){if(W.x>=M&&W.x<=w&&W.y>=G&&W.y<=H&&gT(r,R,o,v,y,P,W.x,W.y)&&Dr(W.prev,W,W.next)>=0)return!1;W=W.next}return!0}function P3(t,e,s,i){let r=t.prev,o=t,y=t.next;if(Dr(r,o,y)>=0)return!1;let R=r.x,v=o.x,P=y.x,M=r.y,G=o.y,w=y.y,H=Math.min(R,v,P),W=Math.min(M,G,w),k=Math.max(R,v,P),j=Math.max(M,G,w),X=qf(H,W,e,s,i),q=qf(k,j,e,s,i),K=t.prevZ,Q=t.nextZ;for(;K&&K.z>=X&&Q&&Q.z<=q;){if(K.x>=H&&K.x<=k&&K.y>=W&&K.y<=j&&K!==r&&K!==y&&gT(R,M,v,G,P,w,K.x,K.y)&&Dr(K.prev,K,K.next)>=0||(K=K.prevZ,Q.x>=H&&Q.x<=k&&Q.y>=W&&Q.y<=j&&Q!==r&&Q!==y&&gT(R,M,v,G,P,w,Q.x,Q.y)&&Dr(Q.prev,Q,Q.next)>=0))return!1;Q=Q.nextZ}for(;K&&K.z>=X;){if(K.x>=H&&K.x<=k&&K.y>=W&&K.y<=j&&K!==r&&K!==y&&gT(R,M,v,G,P,w,K.x,K.y)&&Dr(K.prev,K,K.next)>=0)return!1;K=K.prevZ}for(;Q&&Q.z<=q;){if(Q.x>=H&&Q.x<=k&&Q.y>=W&&Q.y<=j&&Q!==r&&Q!==y&&gT(R,M,v,G,P,w,Q.x,Q.y)&&Dr(Q.prev,Q,Q.next)>=0)return!1;Q=Q.nextZ}return!0}function x3(t,e){let s=t;do{let i=s.prev,r=s.next.next;!gI(i,r)&&hA(i,s,s.next,r)&&nd(i,r)&&nd(r,i)&&(e.push(i.i,s.i,r.i),ad(s),ad(s.next),s=t=r),s=s.next}while(s!==t);return Qu(s)}function _3(t,e,s,i,r,o){let y=t;do{let R=y.next.next;for(;R!==y.prev;){if(y.i!==R.i&&G3(y,R)){let v=lA(y,R);return y=Qu(y,y.next),v=Qu(v,v.next),rd(y,e,s,i,r,o,0),void rd(v,e,s,i,r,o,0)}R=R.next}y=y.next}while(y!==t)}function M3(t,e){let s=t.x-e.x;return s===0&&(s=t.y-e.y,s===0)&&(s=(t.next.y-t.y)/(t.next.x-t.x)-(e.next.y-e.y)/(e.next.x-e.x)),s}function F3(t,e){let s=(function(r,o){let y=o,R=r.x,v=r.y,P,M=-1/0;if(gI(r,y))return y;do{if(gI(r,y.next))return y.next;if(v<=y.y&&v>=y.next.y&&y.next.y!==y.y){let k=y.x+(v-y.y)*(y.next.x-y.x)/(y.next.y-y.y);if(k<=R&&k>M&&(M=k,P=y.x=y.x&&y.x>=w&&R!==y.x&&cA(vP.x||y.x===P.x&&U3(P,y)))&&(P=y,W=k)}y=y.next}while(y!==G);return P})(t,e);if(!s)return e;let i=lA(s,t);return Qu(i,i.next),Qu(s,s.next)}function U3(t,e){return Dr(t.prev,t,e.prev)<0&&Dr(e.next,t,t.next)<0}function qf(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-s)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function w3(t){let e=t,s=t;do(e.x=(t-y)*(o-R)&&(t-y)*(i-R)>=(s-y)*(e-R)&&(s-y)*(o-R)>=(r-y)*(i-R)}function gT(t,e,s,i,r,o,y,R){return!(t===y&&e===R)&&cA(t,e,s,i,r,o,y,R)}function G3(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!(function(s,i){let r=s;do{if(r.i!==s.i&&r.next.i!==s.i&&r.i!==i.i&&r.next.i!==i.i&&hA(r,r.next,s,i))return!0;r=r.next}while(r!==s);return!1})(t,e)&&(nd(t,e)&&nd(e,t)&&(function(s,i){let r=s,o=!1,y=(s.x+i.x)/2,R=(s.y+i.y)/2;do r.y>R!=r.next.y>R&&r.next.y!==r.y&&y<(r.next.x-r.x)*(R-r.y)/(r.next.y-r.y)+r.x&&(o=!o),r=r.next;while(r!==s);return o})(t,e)&&(Dr(t.prev,t,e.prev)||Dr(t,e.prev,e))||gI(t,e)&&Dr(t.prev,t,t.next)>0&&Dr(e.prev,e,e.next)>0)}function Dr(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function gI(t,e){return t.x===e.x&&t.y===e.y}function hA(t,e,s,i){let r=pN(Dr(t,e,s)),o=pN(Dr(t,e,i)),y=pN(Dr(s,i,t)),R=pN(Dr(s,i,e));return r!==o&&y!==R||!(r!==0||!lN(t,s,e))||!(o!==0||!lN(t,i,e))||!(y!==0||!lN(s,t,i))||!(R!==0||!lN(s,e,i))}function lN(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function pN(t){return t>0?1:t<0?-1:0}function nd(t,e){return Dr(t.prev,t,t.next)<0?Dr(t,e,t.next)>=0&&Dr(t,t.prev,e)>=0:Dr(t,e,t.prev)<0||Dr(t,t.next,e)<0}function lA(t,e){let s=Qf(t.i,t.x,t.y),i=Qf(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,o.next=i,i.prev=o,i}function LD(t,e,s,i){let r=Qf(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function ad(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Qf(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}var Jf=class{constructor(){z(this,"_inverseMatrix",new Yt),z(this,"_localPlane",new ra),z(this,"_tempLine",new to),z(this,"_tempVector",new te),z(this,"_plane"),z(this,"_plane2DCoordinateSystem",new Yt),z(this,"_precission",1e4)}get plane(){if(!this._plane)throw new Error("Fragments: Plane not set");return this._plane}set plane(e){this._plane=e}createEdges(e){let{meshes:s,posAttr:i}=e,r=0;i.array.fill(0);let o=[],y=0,R=new Mp;for(let v of s)if(v.geometry){if(v.geometry.boundsTree||v.geometry.computeBoundsTree(),!v.geometry.boundsTree)throw new Error("Fragments: Bounds tree not found for edges generation.");if(v instanceof xf){if(v.count===0)continue;let P=v;for(let M=0;M.99)i=new te(1,0,0),r=new te(0,1,0);else if(Math.abs(e.x)>.99)i=new te(0,1,0),r=new te(0,0,1);else if(Math.abs(e.y)>.99)i=new te(1,0,0),r=new te(0,0,1);else{let o=Math.abs(e.x)<.5?new te(1,0,0):new te(0,1,0);i=new te,i.crossVectors(o,e).normalize(),r=new te,r.crossVectors(e,i).normalize()}this._plane2DCoordinateSystem.fromArray([i.x,i.y,i.z,0,r.x,r.y,r.z,0,e.x,e.y,e.z,0,s.x,s.y,s.z,1]),this._plane2DCoordinateSystem.invert()}shapecast(e,s,i){return e.geometry.boundsTree.shapecast({intersectsBounds:r=>this._localPlane.intersectsBox(r),intersectsTriangle:r=>{let o=0;if(this._tempLine.start.copy(r.a),this._tempLine.end.copy(r.b),this._localPlane.intersectLine(this._tempLine,this._tempVector)){let y=this._tempVector.applyMatrix4(e.matrixWorld);s.setXYZ(i,y.x,y.y,y.z),o++,i++}if(this._tempLine.start.copy(r.b),this._tempLine.end.copy(r.c),this._localPlane.intersectLine(this._tempLine,this._tempVector)){let y=this._tempVector.applyMatrix4(e.matrixWorld);s.setXYZ(i,y.x,y.y,y.z),o++,i++}if(this._tempLine.start.copy(r.c),this._tempLine.end.copy(r.a),this._localPlane.intersectLine(this._tempLine,this._tempVector)){let y=this._tempVector.applyMatrix4(e.matrixWorld);s.setXYZ(i,y.x,y.y,y.z),o++,i++}o!==2&&(i-=o)}}),i}},Yu=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsAttribute(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsAttribute(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}data(e,s){let i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}dataLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}static startAttribute(e){e.startObject(1)}static addData(e,s){e.addFieldOffset(0,s,0)}static createDataVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startDataVector(e,s){e.startVector(4,s,4)}static endAttribute(e){let s=e.endObject();return e.requiredField(s,4),s}static createAttribute(e,s){return t.startAttribute(e),t.addData(e,s),t.endAttribute(e)}},Tn=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}x(){return this.bb.readFloat32(this.bb_pos)}mutate_x(e){return this.bb.writeFloat32(this.bb_pos+0,e),!0}y(){return this.bb.readFloat32(this.bb_pos+4)}mutate_y(e){return this.bb.writeFloat32(this.bb_pos+4,e),!0}z(){return this.bb.readFloat32(this.bb_pos+8)}mutate_z(e){return this.bb.writeFloat32(this.bb_pos+8,e),!0}static sizeOf(){return 12}static createFloatVector(e,s,i,r){return e.prep(4,12),e.writeFloat32(r),e.writeFloat32(i),e.writeFloat32(s),e.offset()}},Ju=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}aperture(){return this.bb.readFloat32(this.bb_pos)}mutate_aperture(e){return this.bb.writeFloat32(this.bb_pos+0,e),!0}position(e){return(e||new Tn).__init(this.bb_pos+4,this.bb)}radius(){return this.bb.readFloat32(this.bb_pos+16)}mutate_radius(e){return this.bb.writeFloat32(this.bb_pos+16,e),!0}xDirection(e){return(e||new Tn).__init(this.bb_pos+20,this.bb)}yDirection(e){return(e||new Tn).__init(this.bb_pos+32,this.bb)}static sizeOf(){return 44}static createCircleCurve(e,s,i,r,o,y,R,v,P,M,G,w){return e.prep(4,44),e.prep(4,12),e.writeFloat32(w),e.writeFloat32(G),e.writeFloat32(M),e.prep(4,12),e.writeFloat32(P),e.writeFloat32(v),e.writeFloat32(R),e.writeFloat32(y),e.prep(4,12),e.writeFloat32(o),e.writeFloat32(r),e.writeFloat32(i),e.writeFloat32(s),e.offset()}},PI=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}p1(e){return(e||new Tn).__init(this.bb_pos,this.bb)}p2(e){return(e||new Tn).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createWire(e,s,i,r,o,y,R){return e.prep(4,24),e.prep(4,12),e.writeFloat32(R),e.writeFloat32(y),e.writeFloat32(o),e.prep(4,12),e.writeFloat32(r),e.writeFloat32(i),e.writeFloat32(s),e.offset()}},dl=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsWireSet(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsWireSet(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}ps(e,s){let i=this.bb.__offset(this.bb_pos,4);return i?(s||new Tn).__init(this.bb.__vector(this.bb_pos+i)+12*e,this.bb):null}psLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}static startWireSet(e){e.startObject(1)}static addPs(e,s){e.addFieldOffset(0,s,0)}static startPsVector(e,s){e.startVector(12,s,4)}static endWireSet(e){return e.endObject()}static createWireSet(e,s){return t.startWireSet(e),t.addPs(e,s),t.endWireSet(e)}},ws=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsAxis(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsAxis(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}wires(e,s){let i=this.bb.__offset(this.bb_pos,4);return i?(s||new PI).__init(this.bb.__vector(this.bb_pos+i)+24*e,this.bb):null}wiresLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}order(e){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}orderLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}orderArray(){let e=this.bb.__offset(this.bb_pos,6);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}parts(e){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readInt8(this.bb.__vector(this.bb_pos+s)+e):0}partsLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}partsArray(){let e=this.bb.__offset(this.bb_pos,8);return e?new Int8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}wireSets(e,s){let i=this.bb.__offset(this.bb_pos,10);return i?(s||new dl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}wireSetsLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}circleCurves(e,s){let i=this.bb.__offset(this.bb_pos,12);return i?(s||new Ju).__init(this.bb.__vector(this.bb_pos+i)+44*e,this.bb):null}circleCurvesLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startAxis(e){e.startObject(5)}static addWires(e,s){e.addFieldOffset(0,s,0)}static startWiresVector(e,s){e.startVector(24,s,4)}static addOrder(e,s){e.addFieldOffset(1,s,0)}static createOrderVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startOrderVector(e,s){e.startVector(4,s,4)}static addParts(e,s){e.addFieldOffset(2,s,0)}static createPartsVector(e,s){e.startVector(1,s.length,1);for(let i=s.length-1;i>=0;i--)e.addInt8(s[i]);return e.endVector()}static startPartsVector(e,s){e.startVector(1,s,1)}static addWireSets(e,s){e.addFieldOffset(3,s,0)}static createWireSetsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startWireSetsVector(e,s){e.startVector(4,s,4)}static addCircleCurves(e,s){e.addFieldOffset(4,s,0)}static startCircleCurvesVector(e,s){e.startVector(44,s,4)}static endAxis(e){let s=e.endObject();return e.requiredField(s,4),e.requiredField(s,6),e.requiredField(s,8),e.requiredField(s,10),e.requiredField(s,12),s}static createAxis(e,s,i,r,o,y){return t.startAxis(e),t.addWires(e,s),t.addOrder(e,i),t.addParts(e,r),t.addWireSets(e,o),t.addCircleCurves(e,y),t.endAxis(e)}},In=(t=>(t[t.NONE=0]="NONE",t[t.WIRE=1]="WIRE",t[t.WIRE_SET=2]="WIRE_SET",t[t.CIRCLE_CURVE=3]="CIRCLE_CURVE",t))(In||{}),Rh=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsBigShellHole(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBigShellHole(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}indices(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}indicesLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}indicesArray(){let e=this.bb.__offset(this.bb_pos,4);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}profileId(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint16(this.bb_pos+e):0}mutate_profile_id(e){let s=this.bb.__offset(this.bb_pos,6);return s!==0&&(this.bb.writeUint16(this.bb_pos+s,e),!0)}static startBigShellHole(e){e.startObject(2)}static addIndices(e,s){e.addFieldOffset(0,s,0)}static createIndicesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startIndicesVector(e,s){e.startVector(4,s,4)}static addProfileId(e,s){e.addFieldInt16(1,s,0)}static endBigShellHole(e){let s=e.endObject();return e.requiredField(s,4),s}static createBigShellHole(e,s,i){return t.startBigShellHole(e),t.addIndices(e,s),t.addProfileId(e,i),t.endBigShellHole(e)}},Cc=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsBigShellProfile(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsBigShellProfile(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}indices(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}indicesLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}indicesArray(){let e=this.bb.__offset(this.bb_pos,4);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}static startBigShellProfile(e){e.startObject(1)}static addIndices(e,s){e.addFieldOffset(0,s,0)}static createIndicesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startIndicesVector(e,s){e.startVector(4,s,4)}static endBigShellProfile(e){let s=e.endObject();return e.requiredField(s,4),s}static createBigShellProfile(e,s){return t.startBigShellProfile(e),t.addIndices(e,s),t.endBigShellProfile(e)}},WN=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}min(e){return(e||new Tn).__init(this.bb_pos,this.bb)}max(e){return(e||new Tn).__init(this.bb_pos+12,this.bb)}static sizeOf(){return 24}static createBoundingBox(e,s,i,r,o,y,R){return e.prep(4,24),e.prep(4,12),e.writeFloat32(R),e.writeFloat32(y),e.writeFloat32(o),e.prep(4,12),e.writeFloat32(r),e.writeFloat32(i),e.writeFloat32(s),e.offset()}},Mn=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsCircleExtrusion(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsCircleExtrusion(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}radius(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat64(this.bb.__vector(this.bb_pos+s)+8*e):0}radiusLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}radiusArray(){let e=this.bb.__offset(this.bb_pos,4);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}axes(e,s){let i=this.bb.__offset(this.bb_pos,6);return i?(s||new ws).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}axesLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}static startCircleExtrusion(e){e.startObject(2)}static addRadius(e,s){e.addFieldOffset(0,s,0)}static createRadiusVector(e,s){e.startVector(8,s.length,8);for(let i=s.length-1;i>=0;i--)e.addFloat64(s[i]);return e.endVector()}static startRadiusVector(e,s){e.startVector(8,s,8)}static addAxes(e,s){e.addFieldOffset(1,s,0)}static createAxesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startAxesVector(e,s){e.startVector(4,s,4)}static endCircleExtrusion(e){let s=e.endObject();return e.requiredField(s,4),e.requiredField(s,6),s}static createCircleExtrusion(e,s,i){return t.startCircleExtrusion(e),t.addRadius(e,s),t.addAxes(e,i),t.endCircleExtrusion(e)}},jN=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}x(){return this.bb.readFloat64(this.bb_pos)}mutate_x(e){return this.bb.writeFloat64(this.bb_pos+0,e),!0}y(){return this.bb.readFloat64(this.bb_pos+8)}mutate_y(e){return this.bb.writeFloat64(this.bb_pos+8,e),!0}z(){return this.bb.readFloat64(this.bb_pos+16)}mutate_z(e){return this.bb.writeFloat64(this.bb_pos+16,e),!0}static sizeOf(){return 24}static createDoubleVector(e,s,i,r){return e.prep(8,24),e.writeFloat64(r),e.writeFloat64(i),e.writeFloat64(s),e.offset()}},zu=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}r(){return this.bb.readUint8(this.bb_pos)}mutate_r(e){return this.bb.writeUint8(this.bb_pos+0,e),!0}g(){return this.bb.readUint8(this.bb_pos+1)}mutate_g(e){return this.bb.writeUint8(this.bb_pos+1,e),!0}b(){return this.bb.readUint8(this.bb_pos+2)}mutate_b(e){return this.bb.writeUint8(this.bb_pos+2,e),!0}a(){return this.bb.readUint8(this.bb_pos+3)}mutate_a(e){return this.bb.writeUint8(this.bb_pos+3,e),!0}renderedFaces(){return this.bb.readInt8(this.bb_pos+4)}mutate_rendered_faces(e){return this.bb.writeInt8(this.bb_pos+4,e),!0}stroke(){return this.bb.readInt8(this.bb_pos+5)}mutate_stroke(e){return this.bb.writeInt8(this.bb_pos+5,e),!0}static sizeOf(){return 6}static createMaterial(e,s,i,r,o,y,R){return e.prep(1,6),e.writeInt8(R),e.writeInt8(y),e.writeInt8(o),e.writeInt8(r),e.writeInt8(i),e.writeInt8(s),e.offset()}},zo=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}id(){return this.bb.readUint32(this.bb_pos)}mutate_id(e){return this.bb.writeUint32(this.bb_pos+0,e),!0}bbox(e){return(e||new WN).__init(this.bb_pos+4,this.bb)}representationClass(){return this.bb.readInt8(this.bb_pos+28)}mutate_representation_class(e){return this.bb.writeInt8(this.bb_pos+28,e),!0}static sizeOf(){return 32}static createRepresentation(e,s,i,r,o,y,R,v,P){return e.prep(4,32),e.pad(3),e.writeInt8(P),e.prep(4,24),e.prep(4,12),e.writeFloat32(v),e.writeFloat32(R),e.writeFloat32(y),e.prep(4,12),e.writeFloat32(o),e.writeFloat32(r),e.writeFloat32(i),e.writeInt32(s),e.offset()}},wp=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}item(){return this.bb.readUint32(this.bb_pos)}mutate_item(e){return this.bb.writeUint32(this.bb_pos+0,e),!0}material(){return this.bb.readUint32(this.bb_pos+4)}mutate_material(e){return this.bb.writeUint32(this.bb_pos+4,e),!0}representation(){return this.bb.readUint32(this.bb_pos+8)}mutate_representation(e){return this.bb.writeUint32(this.bb_pos+8,e),!0}localTransform(){return this.bb.readUint32(this.bb_pos+12)}mutate_local_transform(e){return this.bb.writeUint32(this.bb_pos+12,e),!0}static sizeOf(){return 16}static createSample(e,s,i,r,o){return e.prep(4,16),e.writeInt32(o),e.writeInt32(r),e.writeInt32(i),e.writeInt32(s),e.offset()}},fh=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsShellHole(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsShellHole(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}indices(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readUint16(this.bb.__vector(this.bb_pos+s)+2*e):0}indicesLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}indicesArray(){let e=this.bb.__offset(this.bb_pos,4);return e?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}profileId(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint16(this.bb_pos+e):0}mutate_profile_id(e){let s=this.bb.__offset(this.bb_pos,6);return s!==0&&(this.bb.writeUint16(this.bb_pos+s,e),!0)}static startShellHole(e){e.startObject(2)}static addIndices(e,s){e.addFieldOffset(0,s,0)}static createIndicesVector(e,s){e.startVector(2,s.length,2);for(let i=s.length-1;i>=0;i--)e.addInt16(s[i]);return e.endVector()}static startIndicesVector(e,s){e.startVector(2,s,2)}static addProfileId(e,s){e.addFieldInt16(1,s,0)}static endShellHole(e){let s=e.endObject();return e.requiredField(s,4),s}static createShellHole(e,s,i){return t.startShellHole(e),t.addIndices(e,s),t.addProfileId(e,i),t.endShellHole(e)}},vc=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsShellProfile(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsShellProfile(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}indices(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readUint16(this.bb.__vector(this.bb_pos+s)+2*e):0}indicesLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}indicesArray(){let e=this.bb.__offset(this.bb_pos,4);return e?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}static startShellProfile(e){e.startObject(1)}static addIndices(e,s){e.addFieldOffset(0,s,0)}static createIndicesVector(e,s){e.startVector(2,s.length,2);for(let i=s.length-1;i>=0;i--)e.addInt16(s[i]);return e.endVector()}static startIndicesVector(e,s){e.startVector(2,s,2)}static endShellProfile(e){let s=e.endObject();return e.requiredField(s,4),s}static createShellProfile(e,s){return t.startShellProfile(e),t.addIndices(e,s),t.endShellProfile(e)}},wa=(t=>(t[t.NONE=0]="NONE",t[t.BIG=1]="BIG",t))(wa||{}),Br=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsShell(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsShell(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}profiles(e,s){let i=this.bb.__offset(this.bb_pos,4);return i?(s||new vc).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}profilesLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}holes(e,s){let i=this.bb.__offset(this.bb_pos,6);return i?(s||new fh).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}holesLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}points(e,s){let i=this.bb.__offset(this.bb_pos,8);return i?(s||new Tn).__init(this.bb.__vector(this.bb_pos+i)+12*e,this.bb):null}pointsLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}bigProfiles(e,s){let i=this.bb.__offset(this.bb_pos,10);return i?(s||new Cc).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}bigProfilesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}bigHoles(e,s){let i=this.bb.__offset(this.bb_pos,12);return i?(s||new Rh).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}bigHolesLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}type(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.readInt8(this.bb_pos+e):wa.NONE}mutate_type(e){let s=this.bb.__offset(this.bb_pos,14);return s!==0&&(this.bb.writeInt8(this.bb_pos+s,e),!0)}profilesFaceIds(e){let s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint16(this.bb.__vector(this.bb_pos+s)+2*e):0}profilesFaceIdsLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}profilesFaceIdsArray(){let e=this.bb.__offset(this.bb_pos,16);return e?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}static startShell(e){e.startObject(7)}static addProfiles(e,s){e.addFieldOffset(0,s,0)}static createProfilesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startProfilesVector(e,s){e.startVector(4,s,4)}static addHoles(e,s){e.addFieldOffset(1,s,0)}static createHolesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startHolesVector(e,s){e.startVector(4,s,4)}static addPoints(e,s){e.addFieldOffset(2,s,0)}static startPointsVector(e,s){e.startVector(12,s,4)}static addBigProfiles(e,s){e.addFieldOffset(3,s,0)}static createBigProfilesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startBigProfilesVector(e,s){e.startVector(4,s,4)}static addBigHoles(e,s){e.addFieldOffset(4,s,0)}static createBigHolesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startBigHolesVector(e,s){e.startVector(4,s,4)}static addType(e,s){e.addFieldInt8(5,s,wa.NONE)}static addProfilesFaceIds(e,s){e.addFieldOffset(6,s,0)}static createProfilesFaceIdsVector(e,s){e.startVector(2,s.length,2);for(let i=s.length-1;i>=0;i--)e.addInt16(s[i]);return e.endVector()}static startProfilesFaceIdsVector(e,s){e.startVector(2,s,2)}static endShell(e){let s=e.endObject();return e.requiredField(s,4),e.requiredField(s,6),e.requiredField(s,8),e.requiredField(s,10),e.requiredField(s,12),e.requiredField(s,16),s}static createShell(e,s,i,r,o,y,R,v){return t.startShell(e),t.addProfiles(e,s),t.addHoles(e,i),t.addPoints(e,r),t.addBigProfiles(e,o),t.addBigHoles(e,y),t.addType(e,R),t.addProfilesFaceIds(e,v),t.endShell(e)}},Sc=class{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}position(e){return(e||new jN).__init(this.bb_pos,this.bb)}xDirection(e){return(e||new Tn).__init(this.bb_pos+24,this.bb)}yDirection(e){return(e||new Tn).__init(this.bb_pos+36,this.bb)}static sizeOf(){return 48}static createTransform(e,s,i,r,o,y,R,v,P,M){return e.prep(8,48),e.prep(4,12),e.writeFloat32(M),e.writeFloat32(P),e.writeFloat32(v),e.prep(4,12),e.writeFloat32(R),e.writeFloat32(y),e.writeFloat32(o),e.prep(8,24),e.writeFloat64(r),e.writeFloat64(i),e.writeFloat64(s),e.offset()}},qe=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsMeshes(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMeshes(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}coordinates(e){let s=this.bb.__offset(this.bb_pos,4);return s?(e||new Sc).__init(this.bb_pos+s,this.bb):null}meshesItems(e){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}meshesItemsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}meshesItemsArray(){let e=this.bb.__offset(this.bb_pos,6);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}samples(e,s){let i=this.bb.__offset(this.bb_pos,8);return i?(s||new wp).__init(this.bb.__vector(this.bb_pos+i)+16*e,this.bb):null}samplesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}representations(e,s){let i=this.bb.__offset(this.bb_pos,10);return i?(s||new zo).__init(this.bb.__vector(this.bb_pos+i)+32*e,this.bb):null}representationsLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}materials(e,s){let i=this.bb.__offset(this.bb_pos,12);return i?(s||new zu).__init(this.bb.__vector(this.bb_pos+i)+6*e,this.bb):null}materialsLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}circleExtrusions(e,s){let i=this.bb.__offset(this.bb_pos,14);return i?(s||new Mn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}circleExtrusionsLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}shells(e,s){let i=this.bb.__offset(this.bb_pos,16);return i?(s||new Br).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}shellsLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}localTransforms(e,s){let i=this.bb.__offset(this.bb_pos,18);return i?(s||new Sc).__init(this.bb.__vector(this.bb_pos+i)+48*e,this.bb):null}localTransformsLength(){let e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}globalTransforms(e,s){let i=this.bb.__offset(this.bb_pos,20);return i?(s||new Sc).__init(this.bb.__vector(this.bb_pos+i)+48*e,this.bb):null}globalTransformsLength(){let e=this.bb.__offset(this.bb_pos,20);return e?this.bb.__vector_len(this.bb_pos+e):0}materialIds(e){let s=this.bb.__offset(this.bb_pos,22);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}materialIdsLength(){let e=this.bb.__offset(this.bb_pos,22);return e?this.bb.__vector_len(this.bb_pos+e):0}materialIdsArray(){let e=this.bb.__offset(this.bb_pos,22);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}representationIds(e){let s=this.bb.__offset(this.bb_pos,24);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}representationIdsLength(){let e=this.bb.__offset(this.bb_pos,24);return e?this.bb.__vector_len(this.bb_pos+e):0}representationIdsArray(){let e=this.bb.__offset(this.bb_pos,24);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}sampleIds(e){let s=this.bb.__offset(this.bb_pos,26);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}sampleIdsLength(){let e=this.bb.__offset(this.bb_pos,26);return e?this.bb.__vector_len(this.bb_pos+e):0}sampleIdsArray(){let e=this.bb.__offset(this.bb_pos,26);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}localTransformIds(e){let s=this.bb.__offset(this.bb_pos,28);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}localTransformIdsLength(){let e=this.bb.__offset(this.bb_pos,28);return e?this.bb.__vector_len(this.bb_pos+e):0}localTransformIdsArray(){let e=this.bb.__offset(this.bb_pos,28);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}globalTransformIds(e){let s=this.bb.__offset(this.bb_pos,30);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}globalTransformIdsLength(){let e=this.bb.__offset(this.bb_pos,30);return e?this.bb.__vector_len(this.bb_pos+e):0}globalTransformIdsArray(){let e=this.bb.__offset(this.bb_pos,30);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}static startMeshes(e){e.startObject(14)}static addCoordinates(e,s){e.addFieldStruct(0,s,0)}static addMeshesItems(e,s){e.addFieldOffset(1,s,0)}static createMeshesItemsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startMeshesItemsVector(e,s){e.startVector(4,s,4)}static addSamples(e,s){e.addFieldOffset(2,s,0)}static startSamplesVector(e,s){e.startVector(16,s,4)}static addRepresentations(e,s){e.addFieldOffset(3,s,0)}static startRepresentationsVector(e,s){e.startVector(32,s,4)}static addMaterials(e,s){e.addFieldOffset(4,s,0)}static startMaterialsVector(e,s){e.startVector(6,s,1)}static addCircleExtrusions(e,s){e.addFieldOffset(5,s,0)}static createCircleExtrusionsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startCircleExtrusionsVector(e,s){e.startVector(4,s,4)}static addShells(e,s){e.addFieldOffset(6,s,0)}static createShellsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startShellsVector(e,s){e.startVector(4,s,4)}static addLocalTransforms(e,s){e.addFieldOffset(7,s,0)}static startLocalTransformsVector(e,s){e.startVector(48,s,8)}static addGlobalTransforms(e,s){e.addFieldOffset(8,s,0)}static startGlobalTransformsVector(e,s){e.startVector(48,s,8)}static addMaterialIds(e,s){e.addFieldOffset(9,s,0)}static createMaterialIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startMaterialIdsVector(e,s){e.startVector(4,s,4)}static addRepresentationIds(e,s){e.addFieldOffset(10,s,0)}static createRepresentationIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startRepresentationIdsVector(e,s){e.startVector(4,s,4)}static addSampleIds(e,s){e.addFieldOffset(11,s,0)}static createSampleIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startSampleIdsVector(e,s){e.startVector(4,s,4)}static addLocalTransformIds(e,s){e.addFieldOffset(12,s,0)}static createLocalTransformIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startLocalTransformIdsVector(e,s){e.startVector(4,s,4)}static addGlobalTransformIds(e,s){e.addFieldOffset(13,s,0)}static createGlobalTransformIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startGlobalTransformIdsVector(e,s){e.startVector(4,s,4)}static endMeshes(e){let s=e.endObject();return e.requiredField(s,4),e.requiredField(s,6),e.requiredField(s,8),e.requiredField(s,10),e.requiredField(s,12),e.requiredField(s,14),e.requiredField(s,16),e.requiredField(s,18),e.requiredField(s,20),s}static createMeshes(e,s,i,r,o,y,R,v,P,M,G,w,H,W,k){return t.startMeshes(e),t.addCoordinates(e,s),t.addMeshesItems(e,i),t.addSamples(e,r),t.addRepresentations(e,o),t.addMaterials(e,y),t.addCircleExtrusions(e,R),t.addShells(e,v),t.addLocalTransforms(e,P),t.addGlobalTransforms(e,M),t.addMaterialIds(e,G),t.addRepresentationIds(e,w),t.addSampleIds(e,H),t.addLocalTransformIds(e,W),t.addGlobalTransformIds(e,k),t.endMeshes(e)}},od=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsRelation(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsRelation(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}data(e,s){let i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}dataLength(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}static startRelation(e){e.startObject(1)}static addData(e,s){e.addFieldOffset(0,s,0)}static createDataVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startDataVector(e,s){e.startVector(4,s,4)}static endRelation(e){let s=e.endObject();return e.requiredField(s,4),s}static createRelation(e,s){return t.startRelation(e),t.addData(e,s),t.endRelation(e)}},rn=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsSpatialStructure(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSpatialStructure(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}localId(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb_pos+e):null}mutate_local_id(e){let s=this.bb.__offset(this.bb_pos,4);return s!==0&&(this.bb.writeUint32(this.bb_pos+s,e),!0)}category(e){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,e):null}children(e,s){let i=this.bb.__offset(this.bb_pos,8);return i?(s||new t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSpatialStructure(e){e.startObject(3)}static addLocalId(e,s){e.addFieldInt32(0,s,null)}static addCategory(e,s){e.addFieldOffset(1,s,0)}static addChildren(e,s){e.addFieldOffset(2,s,0)}static createChildrenVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startChildrenVector(e,s){e.startVector(4,s,4)}static endSpatialStructure(e){return e.endObject()}static createSpatialStructure(e,s,i,r){return t.startSpatialStructure(e),s!==null&&t.addLocalId(e,s),t.addCategory(e,i),t.addChildren(e,r),t.endSpatialStructure(e)}},rt=class t{constructor(){z(this,"bb",null),z(this,"bb_pos",0)}__init(e,s){return this.bb_pos=e,this.bb=s,this}static getRootAsModel(e,s){return(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsModel(e,s){return e.setPosition(e.position()+4),(s||new t).__init(e.readInt32(e.position())+e.position(),e)}static bufferHasIdentifier(e){return e.__has_identifier("0001")}metadata(e){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,e):null}guids(e,s){let i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}guidsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}guidsItems(e){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}guidsItemsLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}guidsItemsArray(){let e=this.bb.__offset(this.bb_pos,8);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}maxLocalId(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readUint32(this.bb_pos+e):0}mutate_max_local_id(e){let s=this.bb.__offset(this.bb_pos,10);return s!==0&&(this.bb.writeUint32(this.bb_pos+s,e),!0)}localIds(e){let s=this.bb.__offset(this.bb_pos,12);return s?this.bb.readUint32(this.bb.__vector(this.bb_pos+s)+4*e):0}localIdsLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}localIdsArray(){let e=this.bb.__offset(this.bb_pos,12);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}categories(e,s){let i=this.bb.__offset(this.bb_pos,14);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}categoriesLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}meshes(e){let s=this.bb.__offset(this.bb_pos,16);return s?(e||new qe).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}attributes(e,s){let i=this.bb.__offset(this.bb_pos,18);return i?(s||new Yu).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}attributesLength(){let e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}relations(e,s){let i=this.bb.__offset(this.bb_pos,20);return i?(s||new od).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*e),this.bb):null}relationsLength(){let e=this.bb.__offset(this.bb_pos,20);return e?this.bb.__vector_len(this.bb_pos+e):0}relationsItems(e){let s=this.bb.__offset(this.bb_pos,22);return s?this.bb.readInt32(this.bb.__vector(this.bb_pos+s)+4*e):0}relationsItemsLength(){let e=this.bb.__offset(this.bb_pos,22);return e?this.bb.__vector_len(this.bb_pos+e):0}relationsItemsArray(){let e=this.bb.__offset(this.bb_pos,22);return e?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}guid(e){let s=this.bb.__offset(this.bb_pos,24);return s?this.bb.__string(this.bb_pos+s,e):null}spatialStructure(e){let s=this.bb.__offset(this.bb_pos,26);return s?(e||new rn).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}uniqueAttributes(e,s){let i=this.bb.__offset(this.bb_pos,28);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}uniqueAttributesLength(){let e=this.bb.__offset(this.bb_pos,28);return e?this.bb.__vector_len(this.bb_pos+e):0}relationNames(e,s){let i=this.bb.__offset(this.bb_pos,30);return i?this.bb.__string(this.bb.__vector(this.bb_pos+i)+4*e,s):null}relationNamesLength(){let e=this.bb.__offset(this.bb_pos,30);return e?this.bb.__vector_len(this.bb_pos+e):0}static startModel(e){e.startObject(14)}static addMetadata(e,s){e.addFieldOffset(0,s,0)}static addGuids(e,s){e.addFieldOffset(1,s,0)}static createGuidsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startGuidsVector(e,s){e.startVector(4,s,4)}static addGuidsItems(e,s){e.addFieldOffset(2,s,0)}static createGuidsItemsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startGuidsItemsVector(e,s){e.startVector(4,s,4)}static addMaxLocalId(e,s){e.addFieldInt32(3,s,0)}static addLocalIds(e,s){e.addFieldOffset(4,s,0)}static createLocalIdsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startLocalIdsVector(e,s){e.startVector(4,s,4)}static addCategories(e,s){e.addFieldOffset(5,s,0)}static createCategoriesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startCategoriesVector(e,s){e.startVector(4,s,4)}static addMeshes(e,s){e.addFieldOffset(6,s,0)}static addAttributes(e,s){e.addFieldOffset(7,s,0)}static createAttributesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startAttributesVector(e,s){e.startVector(4,s,4)}static addRelations(e,s){e.addFieldOffset(8,s,0)}static createRelationsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startRelationsVector(e,s){e.startVector(4,s,4)}static addRelationsItems(e,s){e.addFieldOffset(9,s,0)}static createRelationsItemsVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addInt32(s[i]);return e.endVector()}static startRelationsItemsVector(e,s){e.startVector(4,s,4)}static addGuid(e,s){e.addFieldOffset(10,s,0)}static addSpatialStructure(e,s){e.addFieldOffset(11,s,0)}static addUniqueAttributes(e,s){e.addFieldOffset(12,s,0)}static createUniqueAttributesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startUniqueAttributesVector(e,s){e.startVector(4,s,4)}static addRelationNames(e,s){e.addFieldOffset(13,s,0)}static createRelationNamesVector(e,s){e.startVector(4,s.length,4);for(let i=s.length-1;i>=0;i--)e.addOffset(s[i]);return e.endVector()}static startRelationNamesVector(e,s){e.startVector(4,s,4)}static endModel(e){let s=e.endObject();return e.requiredField(s,6),e.requiredField(s,8),e.requiredField(s,12),e.requiredField(s,14),e.requiredField(s,16),e.requiredField(s,24),s}static finishModelBuffer(e,s){e.finish(s,"0001")}static finishSizePrefixedModelBuffer(e,s){e.finish(s,"0001",!0)}},pA=(t=>(t[t.ONE=0]="ONE",t[t.TWO=1]="TWO",t))(pA||{}),ar=(t=>(t[t.NONE=0]="NONE",t[t.SHELL=1]="SHELL",t[t.CIRCLE_EXTRUSION=2]="CIRCLE_EXTRUSION",t))(ar||{}),$f=class{constructor(){z(this,"int"),z(this,"float"),z(this,"buffer"),z(this,"s1",4),z(this,"s2",8);let{intBuffer:e,floatBuffer:s,buffer:i}=this.newBuffers();this.int=e,this.float=s,this.buffer=i}newBuffers(){let e=new Int32Array(1),s=e.buffer;return{intBuffer:e,floatBuffer:new Float32Array(s),buffer:new Uint8Array(s)}}},cd=class{static check(e){let s=Number.isInteger(e),i=ethis._min;return s&&i&&r}};z(cd,"_max",2147483647),z(cd,"_min",-2147483648);var uA=class EA{constructor(){z(this,"_core",new $f),z(this,"_handlers"),z(this,"_result",-1),z(this,"handleObject",(e=>{let s=Object.keys(e);for(let i of s)e.hasOwnProperty(i)&&this.compute(e[i])})),z(this,"handleString",(e=>{let s=e.length;for(let i=0;i{this._core.int[0]=e?1:0,this.update()})),z(this,"handleNumber",(e=>{(cd.check(e)?this._core.int:this._core.float)[0]=e,this.update()})),this._handlers=this.newHandlers()}get value(){return~this._result}fromMaterialData(e){let{modelId:s,objectClass:i,currentLod:r,templateId:o,...y}=e;this.reset(),this.compute(s),this.compute(i),this.compute(y),this.compute(r),this.compute(o!==void 0)}generate(e){this.reset();for(let s of e)this.compute(s);return this.value}compute(e){return this.getHandler(e)(e),this}reset(){return this._result=-1,this}getHandler(e){let s=typeof e,i=this._handlers[s];if(!i)throw new Error("Fragments: Unsupported input type");return i}newHandlers(){return{number:this.handleNumber,boolean:this.handleBoolean,string:this.handleString,object:this.handleObject}}update(){for(let e=0;e>1^EA._polynomial:this._result>>=1}}};z(uA,"_polynomial",2197175160);var IA=uA,AN=class SN{constructor(e,s){z(this,"_first"),this._first=this.newData(e,s)}static getComplementary(e,s){let i=0,r=e.position.length;i=this.makeBufferComplementary(r,e,i,s),i!==1/0&&s(i,1/0)}static get(e,s,i,r){let{filtered:o,position:y,size:R}=this.getData(e,i);return this.setAllBufferData(o,s,y,R,r),{position:y,size:R}}fullOf(e){let s=this._first.following,i=this._first.data;return s===null&&i===e}update(e,s){let i=this.getBufferData(e);if(i.data!==s){let{a:r,c:o,b:y}=this.newBuffers(e,i,s);this.setupInputData(i,r,o),this.setupUpdateBuffers(r,y,o)}}size(e){let s=0,i=this._first;for(;i!==null;)this.doesFilterPass(e,i)&&s++,i=i.following;return s}static setAllBufferData(e,s,i,r,o){for(let y=0;yi&&r(i,R-i),i=R+v}return i}static setBuffers(e,s,i){e[i]=this._tempData.position;let r=this._tempData.size===1/0;s[i]=r?this._inf:this._tempData.size}add(e,s,i){if(!SN._stash.length)return this.newData(s,i,e);let r=SN._stash.pop();if(!r)throw new Error("Fragments: No stash found");return r.position=e,r.size=s,r.data=i,r}remove(e){e&&(e.following=null,e.past=null,SN._stash.push(e))}static getData(e,s){let i=e.filter(s),r=i.length;return{filtered:i,position:new Uint32Array(r),size:new Uint32Array(r)}}filter(e){let s=[],i=this._first;for(;i!==null;)this.doesFilterPass(e,i)&&s.push(i),i=i.following;return s}static transform(e,s){let i=this.getTempData(),r=e.position+e.size,o=r===s.length;if(i.position=s[e.position],o)i.size=1/0;else{let y=s[r];i.size=y-i.position}return i}static getBuffers(e,s){let i=e.position[s],r;return r=e.size[s]===this._inf?1/0:e.size[s],{position:i,size:r}}static getTempData(){return this._tempData?this._tempData:{position:0,size:0}}doesFilterPass(e,s){return!e||e(s.data)}setupUpdateBuffers(e,s,i){this.chainBuffers(e,s,i),this.setupFirstBuffer(e,s),this.setupLastBuffer(i,s),this.setupMiddleBufferStart(s),this.setupMiddleBufferEnd(s)}setupMiddleBufferEnd(e){var s;if(((s=e.following)==null?void 0:s.data)===e.data){if(!e.following)return;let i=e.following.size+e.size,r=e.following.following;e.size=i,this.remove(e.following),e.following=r,e.following&&(e.following.past=e)}}setupFirstBuffer(e,s){e.size||(e.past?e.past.following=s:this._first=s,s.past=e.past,this.remove(e))}setupMiddleBufferStart(e){var s;if(((s=e.past)==null?void 0:s.data)===e.data){if(!e.past)return;e.size=e.past.size+e.size,e.position=e.past.position;let i=e.past.past;this.remove(e.past),e.past=i,e.past?e.past.following=e:this._first=e}}chainBuffers(e,s,i){e.following=s,s.past=e,s.following=i,i.past=s}setupLastBuffer(e,s){e.size||(e.following&&(e.following.past=s),s.following=e.following,this.remove(e))}newBuffers(e,s,i){let r=e-s.position,o=this.add(s.position,r,s.data),y=this.add(e,1,i),R=s.size-o.size-1;return{a:o,c:this.add(e+1,R,s.data),b:y}}setupInputData(e,s,i){e.past?(e.past.following=s,s.past=e.past):this._first=s,e.following&&(e.following.past=i,i.following=e.following),this.remove(e)}newData(e,s,i=0){return{position:i,size:e,past:null,following:null,data:s}}getBufferData(e){let s=this._first;for(;;){let i=s===null,r=s.position<=e,o=evI)throw new Error("Fragments: Memory overflow!")}static get(e){return 1<qa.setBoxX(),y:()=>qa.setBoxY(),z:()=>qa.setBoxZ()});var Nl=qa,YN=class{static getWidth(e){return e.getSize(this._temp.vector),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y>this._temp.vector.z&&this._temp.vector.set(this._temp.vector.x,this._temp.vector.z,this._temp.vector.y),this._temp.vector.x>this._temp.vector.y&&this._temp.vector.set(this._temp.vector.y,this._temp.vector.x,this._temp.vector.z),this._temp.vector.y}};z(YN,"_temp",{vector:new te});var zN=class{static getEarcutDimensions(e){let s=Math.abs(e.x),i=Math.abs(e.y),r=Math.abs(e.z);return r>s&&r>i?e.z>0?[0,1]:[1,0]:i>s&&i>r?e.y>0?[2,0]:[0,2]:e.x>0?[1,2]:[2,1]}},kN=class{constructor(e,s){z(this,"meshes"),z(this,"_templateController",new DO),z(this,"_meshIds",new Set),z(this,"_idGenerator",new IA),z(this,"_modelCode"),this.meshes=s,this._modelCode=this.getModelCode(e)}dispose(){EI.delete(this._meshIds)}useMesh(e,s,i){let r=this.meshCode(e,i);EI.lockIn(s),this._templateController.add(r,s)}getMesh(e,s){let i=this.meshCode(e,s);return EI.get(i)??this._templateController.get(i)}saveMesh(e,s,i){To.forEach(s,EI.updateMeshMemory);let r=this.meshCode(e,i);EI.add(r,s),this._meshIds.add(r)}meshCode(e,s){let i=[this._modelCode,this.getRepresentation(),s,e];return this._idGenerator.generate(i)}getModelCode(e){return this._idGenerator.generate([e])}},ZT=32767,ku=(t=>(t[t.NONE=0]="NONE",t[t.AABB=1]="AABB",t[t.CUSTOM=2]="CUSTOM",t))(ku||{}),Qa=class mc{static getProfile(e,s,i){return e.type()===wa.BIG?e.bigProfiles(s,i):e.profiles(s,i)}static getPoints(e){let s=new Float32Array(3*e.pointsLength());for(let i=0;ithis._faceThreshold&&this._tempNormal.add(o)}}static setupNormalBuffer(e){let s=3*e.length;this._normalBuffer.length0,s=this.holePoints>0,i=this.profilePoints>0;return e||s||i}processShell(e){let s=Rs.getProfilesLength(e),i=this.getTempProfile(e);for(let r=0;r2&&(this.triangleAmount+=i-2)}getResult(){let e=this.meshes;return this.meshes=void 0,e}manageMemory(){this.holePoints+this.profilePoints+this.indexCount>vI&&this.setMesh()}updateBuffers(e,s){let i=this.getTempHole(e);this.holePoints+=i.indicesLength(),this.triangleAmount+=i.indicesLength(),s&&(this.triangleAmount+=2)}setMesh(){let e=this.newMesh();this.meshes?Array.isArray(this.meshes)?this.meshes.push(e):this.meshes=[this.meshes,e]:this.meshes=e,this.reset(!1)}getTempProfile(e){return e.type()===wa.BIG?this._bigShellProfile:this._shellProfile}getTempHole(e){return e.type()===wa.BIG?this._bigShellHole:this._shellHole}},tO=(t=>(t[t.four=4]="four",t[t.three=3]="three",t))(tO||{});function H3(t,e,s,i,r,o){let y=e&&e.length,R=y?e[0]*s:t.length,v,P,M,G=gD(t,0,R,s,!0,i,r);if(G&&G.next!==G.prev){if(y&&(G=(function(w,H,W,k,j,X){let q=[];for(let K=0,Q=H.length;K80*s){let w=t[i],H=t[r];v=w,P=H;for(let W=s;Ww&&(w=k),j>H&&(H=j)}M=Math.max(w-v,H-P),M=M!==0?1/M:0}hd(G,o,s,v,P,M)}}function gD(t,e,s,i,r,o,y){let R,v,P;if(r===(function(M,G,w,H,W,k){let j=0;for(let X=G,q=w-H;X0)for(P=e;P=e;P-=i)R=PD(P,t[P+o],t[P+y],R);return R&&$N(R,R.next)&&(v=R.next,pd(R),R=v),R}function Gp(t,e){if(!t)return t;e||(e=t);let s,i,r=t;do if(s=!1,r.steiner||!$N(r,r.next)&&Ar(r.prev,r,r.next)!==0)r=r.next;else{if(i=r.prev,pd(r),r=e=i,r===r.next)break;s=!0}while(s||r!==e);return e}function hd(t,e,s,i,r,o,y){!y&&o&&(function(v,P,M,G){let w=v;do w.z===null&&(w.z=sO(w.x,w.y,P,M,G)),w.prevZ=w.prev,w.nextZ=w.next,w=w.next;while(w!==v);w.prevZ.nextZ=null,w.prevZ=null,(function(H){let W,k=1;do{let j,X=H;H=null;let q=null;for(W=0;X;){W++;let K=X,Q=0;for(let ee=0;ee0||ie>0&&K;)Q!==0&&(ie===0||!K||X.z<=K.z)?(j=X,X=X.nextZ,Q--):(j=K,K=K.nextZ,ie--),q?q.nextZ=j:H=j,j.prevZ=q,q=j;X=K}q.nextZ=null,k*=2}while(W>1)})(w)})(t,i,r,o);let R=t;for(;t.prev!==t.next;){let v=t.prev,P=t.next;if(o?V3(t,i,r,o):B3(t))e(v.i/s,t.i/s,P.i/s),pd(t),t=P.next,R=P.next;else if((t=P)===R){y?y===1?hd(t=W3(Gp(t),e,s),e,s,i,r,o,2):y===2&&j3(t,e,s,i,r,o):hd(Gp(t),e,s,i,r,o,1);break}}}function B3(t){let e=t.prev,s=t,i=t.next;if(Ar(e,s,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(RI(e.x,e.y,s.x,s.y,i.x,i.y,r.x,r.y)&&Ar(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function V3(t,e,s,i){let r=t.prev,o=t,y=t.next;if(Ar(r,o,y)>=0)return!1;let R=Math.min(r.x,o.x,y.x),v=Math.min(r.y,o.y,y.y),P=Math.max(r.x,o.x,y.x),M=Math.max(r.y,o.y,y.y),G=sO(R,v,e,s,i),w=sO(P,M,e,s,i),H=t.prevZ,W=t.nextZ;for(;H&&H.z>=G&&W&&W.z<=w;){if(H!==t.prev&&H!==t.next&&RI(r.x,r.y,o.x,o.y,y.x,y.y,H.x,H.y)&&Ar(H.prev,H,H.next)>=0||(H=H.prevZ,W!==t.prev&&W!==t.next&&RI(r.x,r.y,o.x,o.y,y.x,y.y,W.x,W.y)&&Ar(W.prev,W,W.next)>=0))return!1;W=W.nextZ}for(;H&&H.z>=G;){if(H!==t.prev&&H!==t.next&&RI(r.x,r.y,o.x,o.y,y.x,y.y,H.x,H.y)&&Ar(H.prev,H,H.next)>=0)return!1;H=H.prevZ}for(;W&&W.z<=w;){if(W!==t.prev&&W!==t.next&&RI(r.x,r.y,o.x,o.y,y.x,y.y,W.x,W.y)&&Ar(W.prev,W,W.next)>=0)return!1;W=W.nextZ}return!0}function W3(t,e,s){let i=t;do{let r=i.prev,o=i.next.next;!$N(r,o)&&yA(r,i,i.next,o)&&ld(r,o)&&ld(o,r)&&(e(r.i/s,i.i/s,o.i/s),pd(i.next),pd(i),i=t=o),i=i.next}while(i!==t);return Gp(i)}function j3(t,e,s,i,r,o){let y=t;do{let R=y.next.next;for(;R!==y.prev;){if(y.i!==R.i&&K3(y,R)){let v=TA(y,R);return y=Gp(y,y.next),v=Gp(v,v.next),hd(y,e,s,i,r,o),void hd(v,e,s,i,r,o)}R=R.next}y=y.next}while(y!==t)}function Y3(t,e){return t.x-e.x}function z3(t,e){let s=(function(o,y){let R=y,v=o.x,P=o.y,M,G=-1/0;do{if(P<=R.y&&P>=R.next.y&&R.next.y!==R.y){let j=R.x+(P-R.y)*(R.next.x-R.x)/(R.next.y-R.y);if(j<=v&&j>G){if(G=j,j===v){if(P===R.y)return R;if(P===R.next.y)return R.next}M=R.x=R.x&&R.x>=H&&v!==R.x&&RI(PM.x||R.x===M.x&&k3(M,R)))&&(M=R,k=j)}R=R.next}while(R!==w);return M})(t,e);if(!s)return e;let i=TA(s,t),r=Gp(s,s.next);return Gp(i,i.next),e===e.next||s===e?r:e}function k3(t,e){return Ar(t.prev,t,e.prev)<0&&Ar(e.next,t,t.next)<0}function sO(t,e,s,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-s)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function X3(t){let e=t,s=t;do(e.x=0&&(t-y)*(i-R)-(s-y)*(e-R)>=0&&(s-y)*(o-R)-(r-y)*(i-R)>=0}function K3(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!(function(s,i){let r=s;do{if(r.i!==s.i&&r.next.i!==s.i&&r.i!==i.i&&r.next.i!==i.i&&yA(r,r.next,s,i))return!0;r=r.next}while(r!==s);return!1})(t,e)&&(ld(t,e)&&ld(e,t)&&(function(s,i){let r=s,o=!1,y=(s.x+i.x)/2,R=(s.y+i.y)/2;do r.y>R!=r.next.y>R&&r.next.y!==r.y&&y<(r.next.x-r.x)*(R-r.y)/(r.next.y-r.y)+r.x&&(o=!o),r=r.next;while(r!==s);return o})(t,e)&&(Ar(t.prev,t,e.prev)||Ar(t,e.prev,e))||$N(t,e)&&Ar(t.prev,t,t.next)>0&&Ar(e.prev,e,e.next)>0)}function Ar(t,e,s){return(e.y-t.y)*(s.x-e.x)-(e.x-t.x)*(s.y-e.y)}function $N(t,e){return t.x===e.x&&t.y===e.y}function yA(t,e,s,i){let r=IN(Ar(t,e,s)),o=IN(Ar(t,e,i)),y=IN(Ar(s,i,t)),R=IN(Ar(s,i,e));return r!==o&&y!==R||!(r!==0||!EN(t,s,e))||!(o!==0||!EN(t,i,e))||!(y!==0||!EN(s,t,i))||!(R!==0||!EN(s,e,i))}function EN(t,e,s){return e.x<=Math.max(t.x,s.x)&&e.x>=Math.min(t.x,s.x)&&e.y<=Math.max(t.y,s.y)&&e.y>=Math.min(t.y,s.y)}function IN(t){return t>0?1:t<0?-1:0}function ld(t,e){return Ar(t.prev,t,t.next)<0?Ar(t,e,t.next)>=0&&Ar(t,t.prev,e)>=0:Ar(t,e,t.prev)<0||Ar(t,t.next,e)<0}function TA(t,e){let s=iO(t.i,t.x,t.y),i=iO(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,i.next=s,s.prev=i,o.next=i,i.prev=o,i}function PD(t,e,s,i){let r=iO(t,e,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function pd(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ),t.next=t,t.prev=t}function iO(t,e,s){return{i:t,x:e,y:s,prev:null,next:null,z:null,prevZ:null,nextZ:null,steiner:!1}}var dA=class rO{static create(e,s,i,r,o,y,R,v){let P=e.length,M=R.verticesAmount;rO.processBuffers(P,e,o,R,s,i);let G=o.positionBuffer,w=(R.verticesAmount-M)/3;this.processNormals(G,this._tempVec,w,M),this.triangulate(y,r,P,o,R,M),this.setFaceId(M,R,o,v)}static setFaceId(e,s,i,r){let o=e/3,y=s.verticesAmount/3;for(let R=o;R{let R=e.indexBuffer;R[s.indices++]=r+i/3,R[s.indices++]=o+i/3,R[s.indices++]=y+i/3}}static processBuffers(e,s,i,r,o,y){for(let R=0;R0}static getCrossVectors(){this.e.copy(this.b),this.f.copy(this.c),this.g.copy(this.d),this.e.sub(this.a),this.f.sub(this.a),this.g.sub(this.a),this.h.crossVectors(this.e,this.f),this.i.crossVectors(this.f,this.g)}static updateData(t){t.normalsAmount+=this.totalIncrease,t.vertices+=this.vertexIncrease,t.verticesAmount+=this.totalIncrease}static processPoints(t,e){let s=0,i=t.positionBuffer,r=e.verticesAmount;for(let o=0;o{this.setTileData(e),this.initializeIndices(),this.initializePositions(),this.initializeNormals(),this.initializeFaceIds(),this.initializeSizes(),this._indices++}))}construct(e,s){this.resetConstructData(s),this.getPointsPerWire(e);let i=Rs.getBuffer(e);this.newShellInteriorProfiles(e),this.constructShell(e,i,s),this._tileData=void 0}getIntProfileNormalsAvg(e,s){let i=this.getTempHole(e).indicesArray();this.normalsAvgInterior=Rs.computeNormalsAvg(i,s,this._normals,this._pointsPerProfile)}saveInteriorProfile(e){let s=this.getTempHole(e).profileId();if(this.interiorProfiles.has(s))return this.saveExistingInteriorProfile(s),s;let i=this.getNewIntProfileData();return this.interiorProfiles.set(s,i),s}computeNormalsAvg(e,s,i){if(!this.isShell(e))return;let r=this._normals,o=this._pointsPerProfile;this._normalsAvg=Rs.computeNormalsAvg(s,i,r,o)}isShell(e){return e instanceof Br}getPointsPerWire(e){this.isShell(e)&&(Rs.getNormalsOfShellProfile(e,this._normals),this._pointsPerProfile=Rs.getPointsShell(e))}getIndices(e,s){let i=this.getTempProfile(e);return Rs.getProfile(e,s,i),i.indicesArray()}resetConstructData(e){this._indices=0,this._tileData=void 0,this.nextBuffer(e),this._normals.length=0}initializeIndices(){let e=this._tileData.indexCount;this._tileData.indexBuffer=new Uint16Array(e)}constructFace4(e,s,i){let r=this._faceIdPerProfile.get(i);Z3.create(e,s,this._normalsAvg,i,this._tileData,this._sizes,r)}initializeSizes(){this._sizes.vertices=0,this._sizes.indices=0,this._sizes.verticesAmount=0,this._sizes.normalsAmount=0,this._sizes.normals=0}getInteriorProfileBuffer(e,s){let i=this.getTempHole(e).indicesLength();if(this.isShell(e))for(let r=0;rvI&&this.nextBuffer(s)}initializeFaceIds(){let e=this._tileData.positionCount;this._tileData.faceIdBuffer=new Uint32Array(e/3)}getNextFaceId(){return 4294967295*Math.random()}newShellInteriorProfiles(e){this.interiorProfiles.clear();let s=Rs.getHolesLength(e),i=this.getTempHole(e);for(let r=0;r0)for(let r=0;r=Math.abs(e.y)){let r=1/Math.sqrt(e.x*e.x+e.z*e.z),o=-e.z*r,y=0,R=e.x*r;s.set(o,y,R);let v=e.y*s.z,P=e.z*s.x-e.x*s.z,M=-e.y*s.x;i.set(v,P,M)}else{let r=1/Math.sqrt(e.y*e.y+e.z*e.z),o=0,y=e.z*r,R=-e.y*r;s.set(o,y,R);let v=e.y*s.z-e.z*s.y,P=-e.x*s.z,M=e.x*s.y;i.set(v,P,M)}s.normalize(),i.normalize()}polygonContains(e,s){let i=!1;this.newOrthoNormalBasis(),this.setPolyContainVec(s,e);let r=this.k.dot(this.i),o=this.k.dot(this.j);for(let y=0;y0!=o>0&&(r-G)*-w/(o-w)+G>0&&(i=!i),r=G,o=w}return i}processNormal(e,s,i){let r=e[s+0],o=e[i+0],y=e[s+1],R=e[i+1],v=e[s+2],P=e[i+2];this.d.x+=(y-R)*(v+P),this.d.y+=(v-P)*(r+o),this.d.z+=(r-o)*(y+R)}getCollidesPlane(e,s,i){let r=3*e[0],o=s[r],y=s[r+1],R=s[r+2];return this.a.set(o,y,R),this.computeNormal(s,e),this.tempPlane.setFromNormalAndCoplanarPoint(this.d,this.a),i.intersectPlane(this.tempPlane,this.b)}setPolyContainVec(e,s){let i=3*e[e.length-1],r=s[i],o=s[i+1],y=s[i+2];this.k.set(r,o,y),this.k.sub(this.b)}getTriangleBuffer(e,s){let i=[],r=[];for(let o=0;oMath.cos(this._minAngle)}getProfile(e,s,i){let r=this._pointsByProfile.get(e),o=this._pointsByProfile.get(s),y=[];for(let R of r)o.indexOf(R)!==-1&&R!==i&&y.push(R);return y}cast(e,s,i,r,o){return Rs.point(this._shell,e,this._tempV1),Rs.point(this._shell,s,this._tempV2),this.raycastSegment(i),r.containsPoint(this._tempPoint)?!this.isInvalidAngle(e,s,o):!1}saveResult(e){let s=this._tempV1.clone(),i=this._tempV2.clone(),r=this._normals[e],o=this._tempPoint.clone();this._result.push({point:o,normal:r,snappedEdgeP1:s,snappedEdgeP2:i})}getSecondIndex(e,s){let i=e===s-1,r=this.getTempProfile(this._shell);return i?r.indices(0):r.indices(e+1)}raycastSegment(e){e.distanceSqToSegment(this._tempV1,this._tempV2,void 0,this._tempPoint)}getTempProfile(e){return e.type()===wa.BIG?this._bigShellProfile:this._shellProfile}},hO=class{constructor(e){z(this,"_meshes"),z(this,"_tempVec",new te),this._meshes=e}pointRaycast(e,s){let i=Rs.getShell(this._meshes,e),r=[];return this.cast(i,s,r),r}cast(e,s,i){let r=e.pointsLength();for(let o=0;oy)return null;let R=2*i,v=Math.sqrt(y-o);return{factorA:(-r+v)/R,factorB:(-r-v)/R}}static computeCircleExtrusionRaycast(e,s){let i=this.computeCircleExtrusionRaycastFactors();if(i===null)return[];let{factorA:r,factorB:o}=i;return this._ceInverseTransform.transpose(),this._ceRaycastPoints=[],this.computeCircleExtrusionRaycastPoints(r,e,s),this.computeCircleExtrusionRaycastPoints(o,e,s),this._ceRaycastPoints}static setupCircleExtrusionRay(e){this._ceInverseTransform.copy(this._ceTransform),this._ceInverseTransform.invert(),this._ceRay.copy(e),this._ceRay.applyMatrix4(this._ceInverseTransform)}static computeCircleExtrusionRaycastPoints(e,s,i){if(!this.checkIfCircleExtrusionClashes(e,s,i))return;this._ceRaycastPoint.applyMatrix4(this._ceTransform);let r=this._ceRaycastPoint.clone();this._ceRaycastPoints.push({point:r})}static setupCircleExtrusionAxes(e,s){this._ceAxisZ.copy(e),this._ceAxisZ.sub(s),this._ceAxisZ.normalize(),this.computeNormal(this._ceAxisZ,this._ceAxisX),this._ceAxisY.crossVectors(this._ceAxisZ,this._ceAxisX)}static computeNormal(e,s){let i=e.dot(this._ceAbsoluteX),r=Math.abs(i)>.9?this._ceAbsoluteZ:this._ceAbsoluteX;s.crossVectors(e,r),s.normalize()}static setupCircleExtrusionRaycastPoint(e){this._ceRaycastPoint.copy(this._ceRay.direction),this._ceRaycastPoint.normalize(),this._ceRaycastPoint.multiplyScalar(e),this._ceRaycastPoint.add(this._ceRay.origin)}static checkIfCircleExtrusionClashes(e,s,i){this.setupCircleExtrusionRaycastPoint(e);let r=s/i,o=this._ceRaycastPoint.z;return o>=0&&o<=r}};z(Dt,"_floats",new Tn),z(Dt,"_wire",new PI),z(Dt,"_wireSet",new dl),z(Dt,"_circleCurve",new Ju),z(Dt,"_wireP1",new te),z(Dt,"_wireP2",new te),z(Dt,"_circleP1",new te),z(Dt,"_circleP2",new te),z(Dt,"_circleOrigin",new te),z(Dt,"_circleOrientation",new te),z(Dt,"_currentWireSetPoint",new te),z(Dt,"_nextWireSetPoint",new te),z(Dt,"_ceAxisZ",new te),z(Dt,"_ceAxisY",new te),z(Dt,"_ceAxisX",new te),z(Dt,"_ceRaycastPoint",new te),z(Dt,"_ceSize",new te),z(Dt,"_ceAbsoluteX",new te(0,0,1)),z(Dt,"_ceAbsoluteZ",new te(1,0,0)),z(Dt,"_circlePoints",[]),z(Dt,"_ceTransform",new Yt),z(Dt,"_ceInverseTransform",new Yt),z(Dt,"_ceRay",new xp),z(Dt,"_ceRaycastPoints",[]);var Hr=class uI{static newPaths(e,s){let i=uI.newPathData();return this.fetchCircleCurveData(e,i),this.fetchCircleCurveMids(s,i,e),this.fetchCircleCurveEnds(i,e),this.fetchCircleCurveCuts(i),i.cuts}static getAxisPartSize(e,s,i){let r=e.parts(s),o=e.order(s),y=uI.getAxisPartData(r,i,e,o);return uI.fetchAxisPartSize(i,y),this._axisPartSize}static vertexLength(e,s=200){let i=Math.round(e*s),r=Math.max(i,uI._minSize);return Math.min(r,uI._maxSize)}static setPathVertices(e){let s=this.circleCurvePoints,i=!s,r=s&&s.length!==e;if(i||r){this.circleCurvePoints=[];for(let o=0;o=e+s+i}static fetchCircleCurveCuts(e){e.cuts.push(e.first),e.cuts.push(...e.mids),e.cuts.push(e.last)}static fetchCircleCurveData(e,s){let i=e.position();s.center.set(i.x(),i.y(),i.z());let r=e.xDirection();s.axis.set(r.x(),r.y(),r.z());let o=e.yDirection();s.first.set(o.x(),o.y(),o.z())}static newPathData(){return{axis:new te,cuts:[],center:new te,last:new te,first:new te,mids:[]}}static fetchAxisPartSize(e,s){let i=e-2,r=s.faces*i*3,o=s.links*e*this._wireSize;this._axisPartSize.verticesLength=s.points,this._axisPartSize.indicesLength=s.indices+r+o}};z(Hr,"up",new te(0,0,1)),z(Hr,"circleCurves",[]),z(Hr,"circleCurvePoints"),z(Hr,"temp",{circleExtrusion:new Mn,circleCurve:new Ju,wireSet:new dl,axis:new ws,rotation:new gp,vector:new te}),z(Hr,"_wireSize",6),z(Hr,"_minSize",6),z(Hr,"_maxSize",30),z(Hr,"_axisPartSize",{verticesLength:0,indicesLength:0}),z(Hr,"getAxisPartWireSetData",((t,e,s)=>{let i=Hr.newEmptyAxisPartData();t.wireSets(e,Hr.temp.wireSet);let r=Hr.temp.wireSet.psLength()-1;return i.points=2*r*s,i.indices=Hr._wireSize*r*s,i.faces=2*r,i})),z(Hr,"getAxisPartWireData",((t,e,s)=>{let i=Hr.newEmptyAxisPartData();return i.points=2*s,i.indices=Hr._wireSize*s,i.faces=2,i})),z(Hr,"getAxisPartCircleCurveData",((t,e,s)=>{let i=Hr.newEmptyAxisPartData();t.circleCurves(e,Hr.temp.circleCurve);let r=Dt.circleCurve3Divisions(Hr.temp.circleCurve),o=s*r;i.points=o;let y=s*(r-1),R=Hr._wireSize*y;return i.indices=R,i.faces=2,i.links=2,i}));var be=Hr,pO=class{constructor(){z(this,"_minLinkDistance",1e-8),z(this,"_first",new te),z(this,"_last",new te),z(this,"_currentPoint"),z(this,"_currentIndex"),z(this,"_v1",new te),z(this,"_v2",new te),z(this,"_v3",new te),z(this,"_v4",new te),z(this,"_tempLine",new to),z(this,"_total",0),z(this,"_closest",0),z(this,"_result",0)}newTemplate(e,s,i){let r=e.radius(s),o=e.axes(s,be.temp.axis),y=be.vertexLength(r),R=i[i.length-1],v=o.orderLength();for(let P=0;P=i?e+s-r:e+s,v=e+o>=i?e+o-r:e+o,P=y+s>=i+r?y+s-r:y+s,M=y+o>=i+r?y+o-r:y+o,{i3:P,i4:M,i1:R,i2:v}}fetchWirePoints(e){let s=e.p1(),i=e.p2();this._first.set(s.x(),s.y(),s.z()),this._last.set(i.x(),i.y(),i.z())}findLinkedVertex(e,s,i,r,o){for(let y=e;y=e?R-r:R;this.point(v,i,this._v2);let P=R+1>=e?R+1-r:R+1;this.point(P,i,this._v3),this._tempLine.set(this._v2,this._v3),this._tempLine.closestPointToPoint(this._v1,!0,this._v4),this._total+=this._v4.distanceTo(this._v1)}}newPath(e,s,i,r,o){be.setPathVertices(o);for(let y=0;y{this.castCurveExtrusion(i,r,e,s)}}castCurveExtrusion(e,s,i,r){let o=Dt.raycastCircleExtr(e,s,i,r);for(let y of o)this._results.push(y)}getTraverseCircleCurveEvent(e,s){return(i,r,o)=>{let y=r[0];this.castCurveExtrusion(i,y,e,s);for(let v=0;v{this.cylinderRaycast(r,o,e,s)}))}exclusiveCylinderRaycast(e,s){let i=this._axis,r=this.getCylinderRaycastEvent(e,s);Dt.traverseWires(i,r)}processLineRaycast(e,s){let i=this._circleExtrusion.radius(e);this.exclusiveCylinderRaycast(s,i),this.circleCurveRaycast(s,i),this.wireSetRaycast(s,i)}getCylinderRaycastEvent(e,s){return(i,r)=>{this.cylinderRaycast(i,r,e,s)}}processCircleCurveBody(e,s,i){for(let r=0;r{this.cylinderRaycast(i,r[0],e,s),this.processCircleCurveBody(r,e,s);let y=r[r.length-1];this.cylinderRaycast(y,o,e,s)}}fetchCylinderRaycastResult(e,s,i){e.distanceSqToSegment(s,i,void 0,this._wirePoint);let r=this.newResult(s,i);this._found.push(r)}circleCurveRaycast(e,s){let i=Dt.circleCurve3Divisions,r=this.getCircleCurveRaycastEvent(e,s);Dt.traverseCircleCurve(this._axis,r,i)}newResult(e,s){return{point:this._wirePoint.clone(),raySquaredDistance:void 0,snappedEdgeP1:e.clone(),snappedEdgeP2:s.clone()}}cylinderRaycast(e,s,i,r){let o=Dt.raycastCircleExtr(e,s,i,r);for(let y of o)y.point&&this.fetchCylinderRaycastResult(i,e,s)}},IO=class{constructor(e){z(this,"_meshes"),z(this,"_results",[]),z(this,"_circleExtrusion",new Mn),z(this,"_axis",new ws),z(this,"_normal",new te),z(this,"_point",new te),z(this,"_plane",new ra),this._meshes=e}pointRaycast(e,s){return this._results.length=0,this._meshes.circleExtrusions(e,this._circleExtrusion),this.traverseAllCircleExtrusions(s),this.getCleanResults()}fetchOrientation(e,s){be.temp.vector.copy(e),be.temp.vector.sub(s),be.temp.vector.normalize(),be.temp.rotation.setFromUnitVectors(be.up,be.temp.vector)}getTraverseWiresEvent(e,s){return(i,r)=>{this.fetchOrientation(i,r);let o=this.raycastCutCircleExtrusion(i,e,s),y=this.raycastCutCircleExtrusion(r,e,s);this._results.push(o,y)}}traverseAllCircleExtrusions(e){let s=this._circleExtrusion.axesLength();for(let i=0;i{this.fetchOrientation(i,r[0]);let y=this.raycastCutCircleExtrusion(i,e,s),R=r[r.length-1];this.fetchOrientation(R,o);let v=this.raycastCutCircleExtrusion(o,e,s);this._results.push(y,v)}}computeCutCircleExtrCast(e,s,i){if(i.intersectPlane(this._plane,this._point),this._point.distanceTo(e)<=s)return{point:e.clone()}}raycastCutCircleExtrusion(e,s,i){if(this.setupCuttedCircleExtrusion(e),s.intersectsPlane(this._plane))return this.computeCutCircleExtrCast(e,i,s)}getCleanResults(){let e=[];for(let s of this._results)s&&e.push(s);return e}traverseAllCurves(e,s){let i=this.getTraverseWiresEvent(e,s);Dt.traverseWires(this._axis,i);let r=this.getTraverseCircleCurveEvent(e,s),o=Dt.circleCurve3Divisions;Dt.traverseCircleCurve(this._axis,r,o);let y=this.getTraverseWiresEvent(e,s);Dt.traverseWireSets(this._axis,y)}},yO=class{constructor(){z(this,"_currentElement",0),z(this,"_wireSize",6),z(this,"newCircleCurveLod",((e,s,i)=>{let r=this.newCircleCurveLodPath(e,s),o=i.positionBuffer;for(let y=1;y{let r=e.wireSets(s),o=r.psLength(),y=i.positionBuffer;for(let R=1;R{s.positionCount+=this._wireSize})),z(this,"newWireSetTemplate",((e,s)=>{let i=be.temp.axis.wireSets(e,be.temp.wireSet).psLength()-1;s.positionCount+=this._wireSize*i})),z(this,"newWireLod",((e,s,i)=>{let r=e.wires(s),o=r.p1(),y=r.p2(),R=i.positionBuffer;this.newWire(R,o,y)})),z(this,"newCircleCurveTemplate",((e,s)=>{let i=be.temp.axis.circleCurves(e,be.temp.circleCurve),r=Dt.circleCurve3Divisions(i);s.positionCount+=this._wireSize*(r-1)}))}construct(e,s){this._currentElement=0,s.positionBuffer=new Float32Array(s.positionCount);for(let i=0,r=e.axesLength();i{if(this._list.length){let i=this._list;this._connection.fetchMeshCompute(this._modelId,i),this._list=[]}})),this._modelId=e,this._connection=s,this._updater=Ga.newUpdater(this.refresh,this._rate)}get needsRefresh(){return this._list.length>this._threshold}dispose(){Ga.deleteUpdater(this._updater)}clean(){this._list=Ga.cleanRequests(this._list)}process(e){this._list.push(e),this.needsRefresh&&this.refresh()}},KN=class{constructor(e,s,i,r){z(this,"_meshes"),z(this,"_model"),z(this,"_boxes"),z(this,"_tiles"),z(this,"_items"),z(this,"_edgeThreshold",8),z(this,"_raycastMultiplier",32),z(this,"_maxDuration",512),z(this,"_precission",.001),z(this,"_temp",{sample:new wp,representation:new zo,tempPlane:new ra,ray:new xp,frustum:new JT,m1:new Yt,m2:new Yt,m3:new Yt,v1:new te,planes:[]}),this._model=e,this._boxes=s,this._tiles=i,this._items=r,this._meshes=e.meshes()}static cast(e,s,i,r,o){let y=s.id();return o===dp.FACE?e.faceRaycast(y,i,r):o===dp.LINE?e.lineRaycast(y,i,r):o===dp.POINT?e.pointRaycast(y,i,r):o===void 0?e.raycast(y,i,r):void 0}raycast(e,s,i,r){let o={ray:e,frustum:s,planes:i,returnAll:r},y=this.castBox(s,i);return y.length?this.computeRaycastList(y,o):null}snapRaycast(e,s,i,r){let o=[],y={ray:e,frustum:s,planes:r},R=this.raycast(e,s,r);return R?(this.getSnaps(R,y,i,o),R.normal?this.filterOnFront(o):o):this.snapCastEdges(y,i)}rectangleRaycast(e,s,i){let r=this._boxes.lookup;if(!r)return[];let o=r.collideFrustum(s,e,i),y=this.filterVisible(o);return this.localIdsFromItemIds(y)}snapCastEdges(e,s){let i=[],r=s.includes(dp.POINT),o=s.includes(dp.LINE);return(r||o)&&this.computeEdgesCast(e,s,i),this.addDistanceToEdgeResult(i,e.ray),i}filterVisible(e){let s=[];for(let i of e){this._meshes.samples(i,this._temp.sample);let r=this._temp.sample.item();this._items.visible(r)&&s.push(i)}return s}computeSnaps(e,s,i,r){for(let o of e)if(this.isValidSnap(o)){let y={snap:o,...s},R=this.castSample(i,y);for(let v of R)r.push(v)}}computeEdgesCast(e,s,i){let r=this.getRawEdges(e),o=performance.now();for(let y of r)if(this.fetchSampleData(y),this.computeSnaps(s,e,y,i),this.isTimeExceeded(o))break}addDistanceToEdgeResult(e,s){for(let i of e){let r=i.point;i.raySquaredDistance=s.distanceSqToPoint(r)}}getRawEdges(e){let s=this.castBox(e.frustum,e.planes);return s.length<=this._edgeThreshold?s:this.sortBoxes(e.ray,s,this._edgeThreshold)}sortBoxes(e,s,i){let r=[],o=new te,y=e.origin;for(let v=0;vi&&R.splice(i),R}castBox(e,s){let i=this._boxes.lookup;if(!i)return[];if(e instanceof xp){let o=i.collideRay(s,e);return this.filterVisible(o)}let r=i.collideFrustum(s,e);return this.filterVisible(r)}dataSort(e,s){let i=Array.from(e.keys()).sort(((o,y)=>s[o]-s[y])),r=[];for(let o of i){let y=e[o];r.push(y)}return r}localIdsFromItemIds(e){let s=new Set;for(let i of e){this._meshes.samples(i,this._temp.sample);let r=this._temp.sample.item(),o=this._meshes.meshesItems(r);if(o===null)continue;let y=this._model.localIds(o);y!==null&&s.add(y)}return Array.from(s)}getNearest(e){let s=e[0];for(let i=1;ithis._maxDuration}getFilteredSampleCast(e){let s=this._tiles.raycast(this._temp.representation,this._temp.ray,this._temp.frustum,e.snap);if(this._temp.planes.length===0)return s;let i=[];if(s)for(let r of s){let o=this._temp.planes,y=r.point;qu.containedInParallelPlanes(o,y)&&i.push(r)}return i}getSnaps(e,s,i,r){this.fetchSampleData(e.sampleId),e.normal&&(this.setCastSide(e,s.ray),this.setCastPlane(e)),this.getFaces(i,s,e,r),this.getEdges(s,i,r);for(let o of r)this.addLocalId(o)}filterOnFront(e){let s=[];for(let i of e)this._temp.tempPlane.distanceToPoint(i.point)>=0&&s.push(i);return s}setCastSide(e,s){let i=e.point.clone().sub(s.origin);e.normal.dot(i)>0&&e.normal.negate()}getFaces(e,s,i,r){for(let o of e){let y={snap:o,...s},R=this.castSample(i.sampleId,y);for(let v of R)r.push(v)}}setCastPlane(e){let s=this._temp.tempPlane,i=e.point.clone(),r=e.normal.clone();r.multiplyScalar(this._precission),i.sub(r),s.setFromNormalAndCoplanarPoint(e.normal,i)}castSample(e,s){this.setupSampleCastData(s),this.setupPlanesForSampleCast(s);let i=this.getFilteredSampleCast(s);return i&&this.formatRaycastResult(i,e,s),i}isValidSnap(e){let s=e===dp.LINE,i=e===dp.POINT;return s||i}transform(e,s){let i=[];if(e)for(let r of e){let o=new ra().copy(r);o.applyMatrix4(s),i.push(o)}return i}setupPlanesForSampleCast(e){if(this._temp.planes.length=0,e.planes&&e.planes.length>0){let s=this.transform(e.planes,this._temp.m2);for(let i of s)this._temp.planes.push(i)}}},DI=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,xD=new Set,NO=typeof process=="object"&&process?process:{},RA=(t,e,s,i)=>{typeof NO.emitWarning=="function"?NO.emitWarning(t,e,s,i):console.error(`[${s}] ${e}: ${t}`)},ZN=globalThis.AbortController,_D=globalThis.AbortSignal;if(ZN===void 0){_D=class{constructor(){z(this,"onabort"),z(this,"_onabort",[]),z(this,"reason"),z(this,"aborted",!1)}addEventListener(s,i){this._onabort.push(i)}},ZN=class{constructor(){z(this,"signal",new _D),e()}abort(s){var i,r;if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(let o of this.signal._onabort)o(s);(r=(i=this.signal).onabort)==null||r.call(i,s)}}};let t=((Em=NO.env)==null?void 0:Em.LRU_CACHE_IGNORE_AC_WARNING)!=="1",e=()=>{t&&(t=!1,RA("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var Dp=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),fA=t=>Dp(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?AI:null:null,AI=class extends Array{constructor(e){super(e),this.fill(0)}},OA=class PT{constructor(e,s){if(z(this,"heap"),z(this,"length"),!se(PT,_T))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new s(e),this.length=0}static create(e){let s=fA(e);if(!s)return[];at(PT,_T,!0);let i=new PT(e,s);return at(PT,_T,!1),i}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};_T=new WeakMap,yt(OA,_T,!1);var Q3=OA,J3=class mA{constructor(e){yt(this,dN),yt(this,df),yt(this,pl),yt(this,Il),yt(this,NN),yt(this,UT),yt(this,AT),yt(this,_i),yt(this,fN),yt(this,lI),yt(this,Tl),yt(this,FN),yt(this,hh,void 0),yt(this,Go,void 0),yt(this,lh,void 0),yt(this,hI,void 0),yt(this,oh,void 0),yt(this,MT,void 0),yt(this,mT,void 0),z(this,"ttl"),z(this,"ttlResolution"),z(this,"ttlAutopurge"),z(this,"updateAgeOnGet"),z(this,"updateAgeOnHas"),z(this,"allowStale"),z(this,"noDisposeOnSet"),z(this,"noUpdateTTL"),z(this,"maxEntrySize"),z(this,"sizeCalculation"),z(this,"noDeleteOnFetchRejection"),z(this,"noDeleteOnStaleGet"),z(this,"allowStaleOnFetchAbort"),z(this,"allowStaleOnFetchRejection"),z(this,"ignoreFetchAbort"),yt(this,Yn,void 0),yt(this,Ho,void 0),yt(this,_n,void 0),yt(this,or,void 0),yt(this,At,void 0),yt(this,Ja,void 0),yt(this,Bo,void 0),yt(this,Ua,void 0),yt(this,sa,void 0),yt(this,Ih,void 0),yt(this,ia,void 0),yt(this,ph,void 0),yt(this,uh,void 0),yt(this,Vo,void 0),yt(this,Eh,void 0),yt(this,Vu,void 0),yt(this,$a,void 0),yt(this,DT,void 0),yt(this,II,(()=>{})),yt(this,Np,(()=>{})),yt(this,xN,(()=>{})),yt(this,Wo,(()=>!1)),yt(this,yI,(ne=>{})),yt(this,FT,((ne,ce,he)=>{})),yt(this,_N,((ne,ce,he,Ee)=>{if(he||Ee)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0})),z(this,GD,"LRUCache");let{max:s=0,ttl:i,ttlResolution:r=1,ttlAutopurge:o,updateAgeOnGet:y,updateAgeOnHas:R,allowStale:v,dispose:P,onInsert:M,disposeAfter:G,noDisposeOnSet:w,noUpdateTTL:H,maxSize:W=0,maxEntrySize:k=0,sizeCalculation:j,fetchMethod:X,memoMethod:q,noDeleteOnFetchRejection:K,noDeleteOnStaleGet:Q,allowStaleOnFetchRejection:ie,allowStaleOnFetchAbort:ee,ignoreFetchAbort:oe}=e;if(s!==0&&!Dp(s))throw new TypeError("max option must be a nonnegative integer");let re=s?fA(s):Array;if(!re)throw new Error("invalid max value: "+s);if(at(this,hh,s),at(this,Go,W),this.maxEntrySize=k||se(this,Go),this.sizeCalculation=j,this.sizeCalculation){if(!se(this,Go)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(q!==void 0&&typeof q!="function")throw new TypeError("memoMethod must be a function if defined");if(at(this,mT,q),X!==void 0&&typeof X!="function")throw new TypeError("fetchMethod must be a function if specified");if(at(this,MT,X),at(this,Vu,!!X),at(this,_n,new Map),at(this,or,new Array(s).fill(void 0)),at(this,At,new Array(s).fill(void 0)),at(this,Ja,new re(s)),at(this,Bo,new re(s)),at(this,Ua,0),at(this,sa,0),at(this,Ih,Q3.create(s)),at(this,Yn,0),at(this,Ho,0),typeof P=="function"&&at(this,lh,P),typeof M=="function"&&at(this,hI,M),typeof G=="function"?(at(this,oh,G),at(this,ia,[])):(at(this,oh,void 0),at(this,ia,void 0)),at(this,Eh,!!se(this,lh)),at(this,DT,!!se(this,hI)),at(this,$a,!!se(this,oh)),this.noDisposeOnSet=!!w,this.noUpdateTTL=!!H,this.noDeleteOnFetchRejection=!!K,this.allowStaleOnFetchRejection=!!ie,this.allowStaleOnFetchAbort=!!ee,this.ignoreFetchAbort=!!oe,this.maxEntrySize!==0){if(se(this,Go)!==0&&!Dp(se(this,Go)))throw new TypeError("maxSize must be a positive integer if specified");if(!Dp(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");ke(this,df,wD).call(this)}if(this.allowStale=!!v,this.noDeleteOnStaleGet=!!Q,this.updateAgeOnGet=!!y,this.updateAgeOnHas=!!R,this.ttlResolution=Dp(r)||r===0?r:1,this.ttlAutopurge=!!o,this.ttl=i||0,this.ttl){if(!Dp(this.ttl))throw new TypeError("ttl must be a positive integer if specified");ke(this,dN,Tf).call(this)}if(se(this,hh)===0&&this.ttl===0&&se(this,Go)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!se(this,hh)&&!se(this,Go)){let ne="LRU_CACHE_UNBOUNDED";(ce=>!xD.has(ce))(ne)&&(xD.add(ne),RA("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",ne,mA))}}static unsafeExposeInternals(e){return{starts:se(e,uh),ttls:se(e,Vo),sizes:se(e,ph),keyMap:se(e,_n),keyList:se(e,or),valList:se(e,At),next:se(e,Ja),prev:se(e,Bo),get head(){return se(e,Ua)},get tail(){return se(e,sa)},free:se(e,Ih),isBackgroundFetch:s=>{var i;return ke(i=e,_i,ki).call(i,s)},backgroundFetch:(s,i,r,o)=>{var y;return ke(y=e,AT,RN).call(y,s,i,r,o)},moveToTail:s=>{var i;return ke(i=e,lI,ST).call(i,s)},indexes:s=>{var i;return ke(i=e,pl,Tp).call(i,s)},rindexes:s=>{var i;return ke(i=e,Il,Rp).call(i,s)},isStale:s=>{var i;return se(i=e,Wo).call(i,s)}}}get max(){return se(this,hh)}get maxSize(){return se(this,Go)}get calculatedSize(){return se(this,Ho)}get size(){return se(this,Yn)}get fetchMethod(){return se(this,MT)}get memoMethod(){return se(this,mT)}get dispose(){return se(this,lh)}get onInsert(){return se(this,hI)}get disposeAfter(){return se(this,oh)}getRemainingTTL(e){return se(this,_n).has(e)?1/0:0}*entries(){for(let e of ke(this,pl,Tp).call(this))se(this,At)[e]===void 0||se(this,or)[e]===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield[se(this,or)[e],se(this,At)[e]])}*rentries(){for(let e of ke(this,Il,Rp).call(this))se(this,At)[e]===void 0||se(this,or)[e]===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield[se(this,or)[e],se(this,At)[e]])}*keys(){for(let e of ke(this,pl,Tp).call(this)){let s=se(this,or)[e];s===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield s)}}*rkeys(){for(let e of ke(this,Il,Rp).call(this)){let s=se(this,or)[e];s===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield s)}}*values(){for(let e of ke(this,pl,Tp).call(this))se(this,At)[e]===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield se(this,At)[e])}*rvalues(){for(let e of ke(this,Il,Rp).call(this))se(this,At)[e]===void 0||ke(this,_i,ki).call(this,se(this,At)[e])||(yield se(this,At)[e])}[Symbol.iterator](){return this.entries()}find(e,s={}){for(let i of ke(this,pl,Tp).call(this)){let r=se(this,At)[i],o=ke(this,_i,ki).call(this,r)?r.__staleWhileFetching:r;if(o!==void 0&&e(o,se(this,or)[i],this))return this.get(se(this,or)[i],s)}}forEach(e,s=this){for(let i of ke(this,pl,Tp).call(this)){let r=se(this,At)[i],o=ke(this,_i,ki).call(this,r)?r.__staleWhileFetching:r;o!==void 0&&e.call(s,o,se(this,or)[i],this)}}rforEach(e,s=this){for(let i of ke(this,Il,Rp).call(this)){let r=se(this,At)[i],o=ke(this,_i,ki).call(this,r)?r.__staleWhileFetching:r;o!==void 0&&e.call(s,o,se(this,or)[i],this)}}purgeStale(){let e=!1;for(let s of ke(this,Il,Rp).call(this,{allowStale:!0}))se(this,Wo).call(this,s)&&(ke(this,Tl,Ap).call(this,se(this,or)[s],"expire"),e=!0);return e}info(e){let s=se(this,_n).get(e);if(s===void 0)return;let i=se(this,At)[s],r=ke(this,_i,ki).call(this,i)?i.__staleWhileFetching:i;if(r===void 0)return;let o={value:r};if(se(this,Vo)&&se(this,uh)){let y=se(this,Vo)[s],R=se(this,uh)[s];if(y&&R){let v=y-(DI.now()-R);o.ttl=v,o.start=Date.now()}}return se(this,ph)&&(o.size=se(this,ph)[s]),o}dump(){let e=[];for(let s of ke(this,pl,Tp).call(this,{allowStale:!0})){let i=se(this,or)[s],r=se(this,At)[s],o=ke(this,_i,ki).call(this,r)?r.__staleWhileFetching:r;if(o===void 0||i===void 0)continue;let y={value:o};if(se(this,Vo)&&se(this,uh)){y.ttl=se(this,Vo)[s];let R=DI.now()-se(this,uh)[s];y.start=Math.floor(Date.now()-R)}se(this,ph)&&(y.size=se(this,ph)[s]),e.unshift([i,y])}return e}load(e){this.clear();for(let[s,i]of e){if(i.start){let r=Date.now()-i.start;i.start=DI.now()-r}this.set(s,i.value,i)}}set(e,s,i={}){var r,o,y,R,v,P,M;if(s===void 0)return this.delete(e),this;let{ttl:G=this.ttl,start:w,noDisposeOnSet:H=this.noDisposeOnSet,sizeCalculation:W=this.sizeCalculation,status:k}=i,{noUpdateTTL:j=this.noUpdateTTL}=i,X=se(this,_N).call(this,e,s,i.size||0,W);if(this.maxEntrySize&&X>this.maxEntrySize)return k&&(k.set="miss",k.maxEntrySizeExceeded=!0),ke(this,Tl,Ap).call(this,e,"set"),this;let q=se(this,Yn)===0?void 0:se(this,_n).get(e);if(q===void 0)q=se(this,Yn)===0?se(this,sa):se(this,Ih).length!==0?se(this,Ih).pop():se(this,Yn)===se(this,hh)?ke(this,UT,MN).call(this,!1):se(this,Yn),se(this,or)[q]=e,se(this,At)[q]=s,se(this,_n).set(e,q),se(this,Ja)[se(this,sa)]=q,se(this,Bo)[q]=se(this,sa),at(this,sa,q),Rf(this,Yn)._++,se(this,FT).call(this,q,X,k),k&&(k.set="add"),j=!1,se(this,DT)&&((r=se(this,hI))==null||r.call(this,s,e,"add"));else{ke(this,lI,ST).call(this,q);let K=se(this,At)[q];if(s!==K){if(se(this,Vu)&&ke(this,_i,ki).call(this,K)){K.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Q}=K;Q===void 0||H||(se(this,Eh)&&((o=se(this,lh))==null||o.call(this,Q,e,"set")),se(this,$a)&&((y=se(this,ia))==null||y.push([Q,e,"set"])))}else H||(se(this,Eh)&&((R=se(this,lh))==null||R.call(this,K,e,"set")),se(this,$a)&&((v=se(this,ia))==null||v.push([K,e,"set"])));if(se(this,yI).call(this,q),se(this,FT).call(this,q,X,k),se(this,At)[q]=s,k){k.set="replace";let Q=K&&ke(this,_i,ki).call(this,K)?K.__staleWhileFetching:K;Q!==void 0&&(k.oldValue=Q)}}else k&&(k.set="update");se(this,DT)&&((P=this.onInsert)==null||P.call(this,s,e,s===K?"update":"replace"))}if(G===0||se(this,Vo)||ke(this,dN,Tf).call(this),se(this,Vo)&&(j||se(this,xN).call(this,q,G,w),k&&se(this,Np).call(this,k,q)),!H&&se(this,$a)&&se(this,ia)){let K=se(this,ia),Q;for(;Q=K?.shift();)(M=se(this,oh))==null||M.call(this,...Q)}return this}pop(){var e;try{for(;se(this,Yn);){let s=se(this,At)[se(this,Ua)];if(ke(this,UT,MN).call(this,!0),ke(this,_i,ki).call(this,s)){if(s.__staleWhileFetching)return s.__staleWhileFetching}else if(s!==void 0)return s}}finally{if(se(this,$a)&&se(this,ia)){let s=se(this,ia),i;for(;i=s?.shift();)(e=se(this,oh))==null||e.call(this,...i)}}}has(e,s={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:r}=s,o=se(this,_n).get(e);if(o!==void 0){let y=se(this,At)[o];if(ke(this,_i,ki).call(this,y)&&y.__staleWhileFetching===void 0)return!1;if(!se(this,Wo).call(this,o))return i&&se(this,II).call(this,o),r&&(r.has="hit",se(this,Np).call(this,r,o)),!0;r&&(r.has="stale",se(this,Np).call(this,r,o))}else r&&(r.has="miss");return!1}peek(e,s={}){let{allowStale:i=this.allowStale}=s,r=se(this,_n).get(e);if(r===void 0||!i&&se(this,Wo).call(this,r))return;let o=se(this,At)[r];return ke(this,_i,ki).call(this,o)?o.__staleWhileFetching:o}async fetch(e,s={}){let{allowStale:i=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:y=this.ttl,noDisposeOnSet:R=this.noDisposeOnSet,size:v=0,sizeCalculation:P=this.sizeCalculation,noUpdateTTL:M=this.noUpdateTTL,noDeleteOnFetchRejection:G=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:w=this.allowStaleOnFetchRejection,ignoreFetchAbort:H=this.ignoreFetchAbort,allowStaleOnFetchAbort:W=this.allowStaleOnFetchAbort,context:k,forceRefresh:j=!1,status:X,signal:q}=s;if(!se(this,Vu))return X&&(X.fetch="get"),this.get(e,{allowStale:i,updateAgeOnGet:r,noDeleteOnStaleGet:o,status:X});let K={allowStale:i,updateAgeOnGet:r,noDeleteOnStaleGet:o,ttl:y,noDisposeOnSet:R,size:v,sizeCalculation:P,noUpdateTTL:M,noDeleteOnFetchRejection:G,allowStaleOnFetchRejection:w,allowStaleOnFetchAbort:W,ignoreFetchAbort:H,status:X,signal:q},Q=se(this,_n).get(e);if(Q===void 0){X&&(X.fetch="miss");let ie=ke(this,AT,RN).call(this,e,Q,K,k);return ie.__returned=ie}{let ie=se(this,At)[Q];if(ke(this,_i,ki).call(this,ie)){let ne=i&&ie.__staleWhileFetching!==void 0;return X&&(X.fetch="inflight",ne&&(X.returnedStale=!0)),ne?ie.__staleWhileFetching:ie.__returned=ie}let ee=se(this,Wo).call(this,Q);if(!j&&!ee)return X&&(X.fetch="hit"),ke(this,lI,ST).call(this,Q),r&&se(this,II).call(this,Q),X&&se(this,Np).call(this,X,Q),ie;let oe=ke(this,AT,RN).call(this,e,Q,K,k),re=oe.__staleWhileFetching!==void 0&&i;return X&&(X.fetch=ee?"stale":"refresh",re&&ee&&(X.returnedStale=!0)),re?oe.__staleWhileFetching:oe.__returned=oe}}async forceFetch(e,s={}){let i=await this.fetch(e,s);if(i===void 0)throw new Error("fetch() returned undefined");return i}memo(e,s={}){let i=se(this,mT);if(!i)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:o,...y}=s,R=this.get(e,y);if(!o&&R!==void 0)return R;let v=i(e,R,{options:y,context:r});return this.set(e,v,y),v}get(e,s={}){let{allowStale:i=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:y}=s,R=se(this,_n).get(e);if(R!==void 0){let v=se(this,At)[R],P=ke(this,_i,ki).call(this,v);return y&&se(this,Np).call(this,y,R),se(this,Wo).call(this,R)?(y&&(y.get="stale"),P?(y&&i&&v.__staleWhileFetching!==void 0&&(y.returnedStale=!0),i?v.__staleWhileFetching:void 0):(o||ke(this,Tl,Ap).call(this,e,"expire"),y&&i&&(y.returnedStale=!0),i?v:void 0)):(y&&(y.get="hit"),P?v.__staleWhileFetching:(ke(this,lI,ST).call(this,R),r&&se(this,II).call(this,R),v))}y&&(y.get="miss")}delete(e){return ke(this,Tl,Ap).call(this,e,"delete")}clear(){return ke(this,FN,Nf).call(this,"delete")}};GD=Symbol.toStringTag,hh=new WeakMap,Go=new WeakMap,lh=new WeakMap,hI=new WeakMap,oh=new WeakMap,MT=new WeakMap,mT=new WeakMap,Yn=new WeakMap,Ho=new WeakMap,_n=new WeakMap,or=new WeakMap,At=new WeakMap,Ja=new WeakMap,Bo=new WeakMap,Ua=new WeakMap,sa=new WeakMap,Ih=new WeakMap,ia=new WeakMap,ph=new WeakMap,uh=new WeakMap,Vo=new WeakMap,Eh=new WeakMap,Vu=new WeakMap,$a=new WeakMap,DT=new WeakMap,dN=new WeakSet,Tf=function(){let t=new AI(se(this,hh)),e=new AI(se(this,hh));at(this,Vo,t),at(this,uh,e),at(this,xN,((r,o,y=DI.now())=>{if(e[r]=o!==0?y:0,t[r]=o,o!==0&&this.ttlAutopurge){let R=setTimeout((()=>{se(this,Wo).call(this,r)&&ke(this,Tl,Ap).call(this,se(this,or)[r],"expire")}),o+1);R.unref&&R.unref()}})),at(this,II,(r=>{e[r]=t[r]!==0?DI.now():0})),at(this,Np,((r,o)=>{if(t[o]){let y=t[o],R=e[o];if(!y||!R)return;r.ttl=y,r.start=R,r.now=s||i();let v=r.now-R;r.remainingTTL=y-v}}));let s=0,i=()=>{let r=DI.now();if(this.ttlResolution>0){s=r;let o=setTimeout((()=>s=0),this.ttlResolution);o.unref&&o.unref()}return r};this.getRemainingTTL=r=>{let o=se(this,_n).get(r);if(o===void 0)return 0;let y=t[o],R=e[o];return!y||!R?1/0:y-((s||i())-R)},at(this,Wo,(r=>{let o=e[r],y=t[r];return!!y&&!!o&&(s||i())-o>y}))},II=new WeakMap,Np=new WeakMap,xN=new WeakMap,Wo=new WeakMap,df=new WeakSet,wD=function(){let t=new AI(se(this,hh));at(this,Ho,0),at(this,ph,t),at(this,yI,(e=>{at(this,Ho,se(this,Ho)-t[e]),t[e]=0})),at(this,_N,((e,s,i,r)=>{if(ke(this,_i,ki).call(this,s))return 0;if(!Dp(i)){if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(i=r(s,e),!Dp(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return i})),at(this,FT,((e,s,i)=>{if(t[e]=s,se(this,Go)){let r=se(this,Go)-t[e];for(;se(this,Ho)>r;)ke(this,UT,MN).call(this,!0)}at(this,Ho,se(this,Ho)+t[e]),i&&(i.entrySize=s,i.totalCalculatedSize=se(this,Ho))}))},yI=new WeakMap,FT=new WeakMap,_N=new WeakMap,pl=new WeakSet,Tp=function*({allowStale:t=this.allowStale}={}){if(se(this,Yn))for(let e=se(this,sa);ke(this,NN,ER).call(this,e)&&(!t&&se(this,Wo).call(this,e)||(yield e),e!==se(this,Ua));)e=se(this,Bo)[e]},Il=new WeakSet,Rp=function*({allowStale:t=this.allowStale}={}){if(se(this,Yn))for(let e=se(this,Ua);ke(this,NN,ER).call(this,e)&&(!t&&se(this,Wo).call(this,e)||(yield e),e!==se(this,sa));)e=se(this,Ja)[e]},NN=new WeakSet,ER=function(t){return t!==void 0&&se(this,_n).get(se(this,or)[t])===t},UT=new WeakSet,MN=function(t){var e,s;let i=se(this,Ua),r=se(this,or)[i],o=se(this,At)[i];return se(this,Vu)&&ke(this,_i,ki).call(this,o)?o.__abortController.abort(new Error("evicted")):(se(this,Eh)||se(this,$a))&&(se(this,Eh)&&((e=se(this,lh))==null||e.call(this,o,r,"evict")),se(this,$a)&&((s=se(this,ia))==null||s.push([o,r,"evict"]))),se(this,yI).call(this,i),t&&(se(this,or)[i]=void 0,se(this,At)[i]=void 0,se(this,Ih).push(i)),se(this,Yn)===1?(at(this,Ua,at(this,sa,0)),se(this,Ih).length=0):at(this,Ua,se(this,Ja)[i]),se(this,_n).delete(r),Rf(this,Yn)._--,i},AT=new WeakSet,RN=function(t,e,s,i){let r=e===void 0?void 0:se(this,At)[e];if(ke(this,_i,ki).call(this,r))return r;let o=new ZN,{signal:y}=s;y?.addEventListener("abort",(()=>o.abort(y.reason)),{signal:o.signal});let R={signal:o.signal,options:s,context:i},v=(w,H=!1)=>{let{aborted:W}=o.signal,k=s.ignoreFetchAbort&&w!==void 0;if(s.status&&(W&&!H?(s.status.fetchAborted=!0,s.status.fetchError=o.signal.reason,k&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),W&&!k&&!H)return P(o.signal.reason);let j=M;return se(this,At)[e]===M&&(w===void 0?j.__staleWhileFetching?se(this,At)[e]=j.__staleWhileFetching:ke(this,Tl,Ap).call(this,t,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(t,w,R.options))),w},P=w=>{let{aborted:H}=o.signal,W=H&&s.allowStaleOnFetchAbort,k=W||s.allowStaleOnFetchRejection,j=k||s.noDeleteOnFetchRejection,X=M;if(se(this,At)[e]===M&&(!j||X.__staleWhileFetching===void 0?ke(this,Tl,Ap).call(this,t,"fetch"):W||(se(this,At)[e]=X.__staleWhileFetching)),k)return s.status&&X.__staleWhileFetching!==void 0&&(s.status.returnedStale=!0),X.__staleWhileFetching;if(X.__returned===X)throw w};s.status&&(s.status.fetchDispatched=!0);let M=new Promise(((w,H)=>{var W;let k=(W=se(this,MT))==null?void 0:W.call(this,t,r,R);k&&k instanceof Promise&&k.then((j=>w(j===void 0?void 0:j)),H),o.signal.addEventListener("abort",(()=>{s.ignoreFetchAbort&&!s.allowStaleOnFetchAbort||(w(void 0),s.allowStaleOnFetchAbort&&(w=j=>v(j,!0)))}))})).then(v,(w=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=w),P(w)))),G=Object.assign(M,{__abortController:o,__staleWhileFetching:r,__returned:void 0});return e===void 0?(this.set(t,G,{...R.options,status:void 0}),e=se(this,_n).get(t)):se(this,At)[e]=G,G},_i=new WeakSet,ki=function(t){if(!se(this,Vu))return!1;let e=t;return!!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof ZN},fN=new WeakSet,IR=function(t,e){se(this,Bo)[e]=t,se(this,Ja)[t]=e},lI=new WeakSet,ST=function(t){t!==se(this,sa)&&(t===se(this,Ua)?at(this,Ua,se(this,Ja)[t]):ke(this,fN,IR).call(this,se(this,Bo)[t],se(this,Ja)[t]),ke(this,fN,IR).call(this,se(this,sa),t),at(this,sa,t))},Tl=new WeakSet,Ap=function(t,e){var s,i,r,o;let y=!1;if(se(this,Yn)!==0){let R=se(this,_n).get(t);if(R!==void 0)if(y=!0,se(this,Yn)===1)ke(this,FN,Nf).call(this,e);else{se(this,yI).call(this,R);let v=se(this,At)[R];if(ke(this,_i,ki).call(this,v)?v.__abortController.abort(new Error("deleted")):(se(this,Eh)||se(this,$a))&&(se(this,Eh)&&((s=se(this,lh))==null||s.call(this,v,t,e)),se(this,$a)&&((i=se(this,ia))==null||i.push([v,t,e]))),se(this,_n).delete(t),se(this,or)[R]=void 0,se(this,At)[R]=void 0,R===se(this,sa))at(this,sa,se(this,Bo)[R]);else if(R===se(this,Ua))at(this,Ua,se(this,Ja)[R]);else{let P=se(this,Bo)[R];se(this,Ja)[P]=se(this,Ja)[R];let M=se(this,Ja)[R];se(this,Bo)[M]=se(this,Bo)[R]}Rf(this,Yn)._--,se(this,Ih).push(R)}}if(se(this,$a)&&((r=se(this,ia))!=null&&r.length)){let R=se(this,ia),v;for(;v=R?.shift();)(o=se(this,oh))==null||o.call(this,...v)}return y},FN=new WeakSet,Nf=function(t){var e,s,i;for(let r of ke(this,Il,Rp).call(this,{allowStale:!0})){let o=se(this,At)[r];if(ke(this,_i,ki).call(this,o))o.__abortController.abort(new Error("deleted"));else{let y=se(this,or)[r];se(this,Eh)&&((e=se(this,lh))==null||e.call(this,o,y,t)),se(this,$a)&&((s=se(this,ia))==null||s.push([o,y,t]))}}if(se(this,_n).clear(),se(this,At).fill(void 0),se(this,or).fill(void 0),se(this,Vo)&&se(this,uh)&&(se(this,Vo).fill(0),se(this,uh).fill(0)),se(this,ph)&&se(this,ph).fill(0),at(this,Ua,0),at(this,sa,0),se(this,Ih).length=0,at(this,Ho,0),at(this,Yn,0),se(this,$a)&&se(this,ia)){let r=se(this,ia),o;for(;o=r?.shift();)(i=se(this,oh))==null||i.call(this,...o)}};var $3=J3,El=class{static get(t){return this._meshes.get(t)}static lockIn(t){Object.seal(t)}static add(t,e){this._meshes.set(t,e)}static delete(t){for(let e of t)this._meshes.delete(e)}static setCapacity(t){t!==this._capacity&&(this._meshes.clear(),this._meshes=this.setupMeshes(t),this._capacity=t)}static setupMeshes(t){let e=Math.max(t??this.computeCapacity(),1),s=this.getSizeCalculationEvent();return new $3({maxSize:e,sizeCalculation:s})}static computeCapacity(){let t=globalThis.navigator&&"deviceMemory"in globalThis.navigator?globalThis.navigator.deviceMemory:null,e=t!==null?t:2,s=this.oneHundredMb*e;return Math.trunc(s)}static getDataSetMemory(t){let e=0;for(let s of t)e+=s.usedMemory;return Math.max(e,1)}static getSizeCalculationEvent(){return t=>Array.isArray(t)?this.getDataSetMemory(t):Math.max(t.usedMemory,1)}};z(El,"oneHundredMb",1e8),z(El,"_meshes",El.setupMeshes()),z(El,"_capacity"),z(El,"_memoryAttributes",["positionBuffer","indexBuffer","normalBuffer"]),z(El,"updateMeshMemory",(t=>{t.usedMemory=0;for(let e of El._memoryAttributes)t.usedMemory!==void 0&&t[e]&&(t.usedMemory+=t[e].byteLength);El.lockIn(t)}));var EI=El,DA=class vN{constructor(e){z(this,"meshes"),z(this,"tilesUpdated",!1),z(this,"_sampleAmount"),z(this,"_tileDimension"),z(this,"_tileBySample"),z(this,"_lodBySample"),z(this,"_virtualMeshes",new Map),z(this,"_meshConnection"),z(this,"_samples"),z(this,"_tileIdGenerator",new IA),z(this,"_tiles",new Map),z(this,"_tilesChanged",new Set),z(this,"_sizeByTile",new Map),z(this,"_samplesDimensions"),z(this,"_sampleLodClass"),z(this,"_sampleLodState"),z(this,"_sampleLodSize"),z(this,"_boxes"),z(this,"_items"),z(this,"_materials"),z(this,"_modelId"),z(this,"_lastView",{rotation:new te,location:new te}),z(this,"_params",{updateTime:16,updateSamples:64,updateviewOrientation:8*Math.PI/180,updateViewPosition:256,smallTileSize:.32,mediumTileSize:4,smallObjectSize:2,smallScreenSize:2,mediumScreenSize:4,largeScreenSize:16,tempTileDataSize:6,tileIdIncrement:1,tileSizeMultiplier:10,minTileDimension:32,tileDimensionFactor:8}),z(this,"_temp",{sample:new wp,representation:new zo,vector:new te,matrix:new Yt,transform:new Yt,boundingBox:new di,sampleGeometry:{},box:new di,raycastPoints:[],tileData:{positionCount:this._params.tempTileDataSize,objectClass:Dc.LINE,positionBuffer:new Float32Array(this._params.tempTileDataSize)},tileCenter:new te,tile:{objectClass:Dc.LINE,positionCount:6},viewDimension:0,pastFieldOfview:0}),z(this,"_currentSample",0),z(this,"_virtualPlanes",[]),z(this,"_changedSamples",0),z(this,"_virtualView"),z(this,"_lodMode",ON.DEFAULT),this._modelId=e.modelId,this._boxes=e.boxes,this._items=e.items,this._materials=e.materials,this._meshConnection=new dO(e.modelId,e.connection),this.meshes=e.model.meshes(),this._sampleAmount=this.meshes.samplesLength(),this._samples=new XN(this._sampleAmount),this._samplesDimensions=new Int32Array(this._sampleAmount),this._sampleLodClass=new Uint8Array(this._sampleAmount),this._sampleLodState=new Uint8Array(this._sampleAmount),this._sampleLodSize=new Float32Array(this._sampleAmount),this._tileDimension=this.computeTileSize(),this._tileBySample=new Array(this._sampleAmount),this._lodBySample=new Array(this._sampleAmount),this.init()}restart(){this.resetUpdateProcess(),this._meshConnection.clean()}fetchSample(e,s){this.fetchSampleAndRepresentation(e);let i=this.fetchCurrentMesh(),r=this.sampleTemplate(e);return r.geometries=this.sampleGeoms(r,s,i),r}fetchGeometry(e){return this.meshes.representations(e,this._temp.representation),this.fetchCurrentMesh().fetchMeshes(e,!0)}dispose(){this._meshConnection.dispose();for(let[,e]of this._virtualMeshes)e.dispose()}generate(){for(let[,e]of this._virtualMeshes)e.setupTemplates();for(let e=0;e=this._sampleAmount&&e&&(this._meshConnection.process({tileRequestClass:Sp.FINISH,modelId:this._modelId}),this.tilesUpdated=!0)}updatePositionIfNeeded(){let e=this._params.updateViewPosition,s=this._virtualView.cameraPosition;s.distanceToSquared(this._lastView.location)>e&&(this._currentSample=0,this._lastView.location.copy(s))}updateCurrentSample(){this._currentSample++,this._currentSample>=this._sampleAmount&&(this._currentSample=0),this._changedSamples++}processSamplesDimension(){for(let e=0;ethis._boxes.dimensionOf(s)-this._boxes.dimensionOf(e)))}setupViewPlanes(){this._virtualPlanes=[];for(let e of this._virtualView.cameraFrustum.planes)this._virtualPlanes.push(e);if(this._virtualView.clippingPlanes)for(let e of this._virtualView.clippingPlanes)this._virtualPlanes.push(e)}updateOrientationIfNeeded(){let e=this.getCurrentViewOrientation(),s=this._params.updateviewOrientation;e.angleTo(this._lastView.rotation)>s&&(this._currentSample=0,this._lastView.rotation.copy(e))}getCurrentViewOrientation(){return this._virtualView.cameraFrustum.planes[4].normal}resetUpdateProcess(){this._changedSamples=0,this.tilesUpdated=!1}manageRaycast(e,s,i,r,o){let y=KN.cast(e,s,i,r,o);if(y)for(let R of y)R.representationClass=e.getObjectClass(),this._temp.raycastPoints.push(R)}setTileShellBuffer(e){e.usedMemory!==void 0&&e.objectClass===Dc.SHELL&&(e.ids=new Float32Array(e.positionCount/3),e.usedMemory+=e.ids.byteLength)}getTileWhenSamplePut(e,s,i){let r=this._tiles.get(e);if(r===void 0){let o=s.lod||Ut.GEOMETRY;r=this.newTile(s.objectClass,i,o),this._tiles.set(e,r)}return r}getPerspTrueDim(e,s){let i=Math.PI/180;return s*Math.tan(.5*e*i)}getTileHighlight(e,s){let i,r,o=e.highlights;if(!o)return{highlightData:void 0,highlightIds:void 0};let y=o.size((R=>R!==0));if(y>0){r=new Uint16Array(y);let R=P=>P!==0,v=(P,M)=>r[P]=M;i=uN.get(o,s,R,v)}return{highlightData:i,highlightIds:r}}setupTileSampleAttributes(e,s,i,r){let o=3*e.vertexLocation[s];for(let y=0;yi))}memoryOverflow(){return vN._graphicMemoryConsumed>this._virtualView.graphicThreshold}updateMesh(e){let s=this.fetchLodLevel(e),i=this._sampleLodState[e];s=this.hideHighlightedLods(s,e),s!==i?this.updateVisible(i,s,e):this.updateSampleIfSeen(s,e)}tileLoadSample(e,s,i){let r=e.sampleLocation.get(s.sample),o=this.getSampleGeometries(s,i);this.setupTileLocation(e,o,s),this.fetchSampleTransform(e,s),this.setupTileSampleAttributes(e,r,o,s)}updateSampleIfSeen(e,s){e!==Ut.INVISIBLE&&this.updateSample(s,e)}hideHighlightedLods(e,s){return e===Ut.WIRES&&this._samples.getHighlight(s)&&(e=Ut.INVISIBLE),e}updateVisible(e,s,i){e!==Ut.INVISIBLE&&this.makeSampleInvisible(i,e);let r=s!==Ut.INVISIBLE;r&&this.updateSample(i,s),this._samples.setVisible(i,r),this._sampleLodState[i]=s}makeInvisibleFromTile(e,s){let i=this._tiles.get(e);this.updateTileData(i,s,!1,0),this.deleteTileIfNeeded(i,e)}updateSample(e,s){let i=this.itemId(e),r=this._items.visible(i),o=this._items.getHighlight(i);this.hasChanged(e,s,r,o)&&this.setSample(e,r,o,s)}hasHighlightChanged(e,s){return s!==this._samples.getHighlight(e)}hasVisibleChanged(e,s){return s!==this._samples.visible(e)}newTile(e,s,i){let r={notVirtual:!1};return r.materialId=s,r.indexLocation=[],r.box=new di,r.objectClass=e,r.lod=i,r.normalCount=0,r.indexCount=0,r.vertexLocation=[],r.size=0,r.geometriesLocation=[],r.positionCount=0,r.sampleLocation=new Map,r.faceIdBuffer=new Uint32Array(0),r}createLod(e){let s=Nl.boxSize(e),i=this._temp.tileData.positionBuffer;if(!i)throw new Error("Fragments: Malformed tiles!");return i[0]=s.start.x,i[1]=s.start.y,i[2]=s.start.z,i[3]=s.end.x,i[4]=s.end.y,i[5]=s.end.z,this._temp.tileData}sampleTemplate(e){let s=this._temp.sample,i=this._temp.representation;Nl.get(s,this.meshes,this._temp.transform),Nl.getBox(i,this._temp.boundingBox),this._temp.sampleGeometry.sample=e;let r=s.material();this._temp.sampleGeometry.material=this._materials[r],this._temp.sampleGeometry.transform=this._temp.transform,this._temp.sampleGeometry.aabb=this._temp.boundingBox,delete this._temp.sampleGeometry.geometries;let o=this._temp.sample.representation(),y=this.meshes.representationIds(o);return this._temp.sampleGeometry.representationId=y,this._temp.sampleGeometry}makeSampleInvisible(e,s){let i=this.getTileIds(e,s);i&&To.forEach(i,(r=>this.makeInvisibleFromTile(r,e)))}setSample(e,s,i,r){this._samples.setVisible(e,s),this._samples.setHighlight(e,i);let o=this.getTileIds(e,r);o!==void 0&&To.forEach(o,(y=>{this.updateTile(y,e,i,i===0)}))}getTileIds(e,s){return s===Ut.GEOMETRY?this._tileBySample[e]:this._lodBySample[e]}addBasicTileData(e,s,i){e.sampleLocation.set(s,e.size),e.size++,e.geometriesLocation.push(i),e.indexLocation.push(e.indexCount||0),e.vertexLocation.push((e.positionCount||0)/3)}buildNewVirtualTile(e,s){this.constructTile(e),this.loadTile(s,e),e.notVirtual=!0,delete e.indexBuffer,delete e.positionBuffer,delete e.normalBuffer,delete e.faceIdBuffer,delete e.ids}deleteTileIfNeeded(e,s){if(this.getShouldDeleteTile(e))return this.deleteGeometry(s),e.notVirtual=!1,void(vN._graphicMemoryConsumed-=e.usedMemory);this._tilesChanged.add(s)}getShouldDeleteTile(e){if(!e.visibilities||!e.highlights)throw new Error("Fragments: Malformed tile!");let s=e.visibilities.fullOf(!1),i=e.highlights.fullOf(0),r=this.memoryOverflow();return s&&i&&r}checkTileMemoryOverflow(e,s){let i=this._tiles.get(e);return(i?i.positionCount:0)+s.positionCount>vI}updateTileData(e,s,i,r){if(!e.visibilities||!e.highlights)throw new Error("Fragments: Malformed tile!");let o=e.sampleLocation.get(s);e.visibilities.update(o,i),e.highlights.update(o,r)}getKeepUpdating(e,s){let i=this._params.updateTime,r=this._params.updateSamples,o=evI&&console.log("Fragments: Buffer overflow")}fetchLodLevel(e){if(this._lodMode===ON.ALL_VISIBLE)return Ut.GEOMETRY;let s=this._boxes.get(e);if(!Ku.collides(s,this._virtualPlanes))return Ut.INVISIBLE;this.meshes.samples(e,this._temp.sample);let i=this._temp.sample.item();if(!this._items.visible(i))return Ut.INVISIBLE;let r=this._virtualView.graphicQuality,o=this._boxes.dimensionOf(e),y=s.distanceToPoint(this._virtualView.cameraPosition),R=this.screenSize(o,y),v=o{let R=this.newTileId(e,s,o);r=this.getTileIdsWhenSamplePut(r,R);let v=this.getTileWhenSamplePut(R,o,s);this.tileAppend(v,o,e,y)})),r}hasLodChanged(e,s){return s!==this._sampleLodState[e]}getTileIdsWhenSamplePut(e,s){return e===void 0?e=s:typeof e=="number"?e!==s&&(e=[e,s]):e.includes(s)||e.push(s),e}updateTile(e,s,i,r){let o=this._tiles.get(e);this.updateTileData(o,s,r,i),o.notVirtual?this._tilesChanged.add(e):this.buildNewVirtualTile(o,e)}getLodTileWhenPutSample(e,s){let i=this._tiles.get(e);if(!i){let r=this._temp.tile.objectClass;i=this.newTile(r,s,Ut.WIRES),this._tiles.set(e,i)}return i}lodTileAppendSample(e,s){let i=Ut.WIRES,r=this._temp.tile,o=this.generateTileCode(e,s,r,i),y=this.getLodTileWhenPutSample(o,s);return this.tileAppend(y,r,e,0),o}addSampleToTile(e,s,i){let r=this.meshData(e,!1,Ut.GEOMETRY);this._tileBySample[s]=this.putSampleInTiles(s,i,r)}setTileBuffer(e,s,i){if(e.usedMemory===void 0)return;let r=e[`${s}Count`];if(r>0){let o=i?new Uint16Array(r):new Int16Array(r);e[`${s}Buffer`]=o,e.usedMemory+=o.byteLength}}updateTiles(e){let s=this._changedSamplesthis._params.mediumTileSize?2:s>i?1:0}getViewDimension(e){if(this._virtualView.orthogonalDimension)return this._virtualView.orthogonalDimension;let s=this._virtualView.fov;return s!==this._temp.pastFieldOfview&&(this._temp.viewDimension=this.getPerspTrueDim(s,1),this._temp.pastFieldOfview=s),e*this._temp.viewDimension}loadTile(e,s){let i=this.getTileData(s);this.fetchTileMatrixOnLoad(s);let r=this.getFaceIds(s);this._meshConnection.process({tileRequestClass:Sp.CREATE,modelId:this._modelId,objectClass:s.objectClass,tileId:e,itemId:void 0,tileData:i,indices:s.indexBuffer,positions:s.positionBuffer,normals:s.normalBuffer,faceIds:r,itemIds:s.ids,material:s.materialId,matrix:this._temp.matrix.clone(),aabb:s.box.clone(),currentLod:s.lod}),this.updateMemoryOnTileLoad(s)}getFaceIds(e){let s=new _p,i=e.faceIdBuffer,r=new Float32Array(3*i.length);for(let o=0;o(t[t.CREATE_MATERIAL=0]="CREATE_MATERIAL",t[t.CREATE_REPRESENTATION=1]="CREATE_REPRESENTATION",t[t.CREATE_SAMPLE=2]="CREATE_SAMPLE",t[t.CREATE_GLOBAL_TRANSFORM=3]="CREATE_GLOBAL_TRANSFORM",t[t.CREATE_LOCAL_TRANSFORM=4]="CREATE_LOCAL_TRANSFORM",t[t.CREATE_ITEM=5]="CREATE_ITEM",t[t.CREATE_RELATION=6]="CREATE_RELATION",t[t.UPDATE_MATERIAL=7]="UPDATE_MATERIAL",t[t.UPDATE_REPRESENTATION=8]="UPDATE_REPRESENTATION",t[t.UPDATE_SAMPLE=9]="UPDATE_SAMPLE",t[t.UPDATE_GLOBAL_TRANSFORM=10]="UPDATE_GLOBAL_TRANSFORM",t[t.UPDATE_LOCAL_TRANSFORM=11]="UPDATE_LOCAL_TRANSFORM",t[t.UPDATE_ITEM=12]="UPDATE_ITEM",t[t.UPDATE_MAX_LOCAL_ID=13]="UPDATE_MAX_LOCAL_ID",t[t.UPDATE_RELATION=14]="UPDATE_RELATION",t[t.UPDATE_METADATA=15]="UPDATE_METADATA",t[t.UPDATE_SPATIAL_STRUCTURE=16]="UPDATE_SPATIAL_STRUCTURE",t[t.DELETE_MATERIAL=17]="DELETE_MATERIAL",t[t.DELETE_REPRESENTATION=18]="DELETE_REPRESENTATION",t[t.DELETE_SAMPLE=19]="DELETE_SAMPLE",t[t.DELETE_GLOBAL_TRANSFORM=20]="DELETE_GLOBAL_TRANSFORM",t[t.DELETE_LOCAL_TRANSFORM=21]="DELETE_LOCAL_TRANSFORM",t[t.DELETE_ITEM=22]="DELETE_ITEM",t[t.DELETE_RELATION=23]="DELETE_RELATION",t))(We||{});function xT(t,e){let s=t.position,i=t.xDirection,r=t.yDirection;return Sc.createTransform(e,s[0],s[1],s[2],i[0],i[1],i[2],r[0],r[1],r[2])}function hf(t,e){let s=e.position(),i=e.xDirection(),r=e.yDirection();return Sc.createTransform(t,s.x(),s.y(),s.z(),i.x(),i.y(),i.z(),r.x(),r.y(),r.z())}function tC(t,e){return Tn.createFloatVector(t,e.x(),e.y(),e.z())}function lf(t,e){let s=e.type,i=[],r=[],o=[],y=[],R=e.points.length;Br.startPointsVector(t,R);for(let W=0;W{let le=[];for(let ge in $.data){let $e=$.data[ge].filter((es=>!Tt.has(es)));if(!$e.length)continue;let it=Ie.createSharedString(JSON.stringify([ge,...$e]));le.push(it)}let fe=od.createDataVector(Ie,le),Le=od.createRelation(Ie,fe);ci.push(Le)};for(let $=0;$=0;i--){let r=t[i];if(r.type===s)return JSON.parse(JSON.stringify(r.data))}return null})),z(Ge,"applyChangesToIds",(function(t,e,s,i){let r=new Set(e),o=We[`DELETE_${s}`],y=We[`CREATE_${s}`];if(t){for(let R of t)R.type!==o?i&&R.type===y&&r.add(R.localId):r.delete(R.localId);return Array.from(r)}return e})),z(Ge,"getModelFromBuffer",(function(t,e){let s=new bI(e?t:sd.inflate(t));return rt.getRootAsModel(s)})),z(Ge,"getSampleData",UD),z(Ge,"getTransformData",OT),z(Ge,"getRelationData",(function(t){let e={data:{}},s=t.dataLength();for(let i=0;iCA(t,s))),e.typecode?bN[t][e.typecode](e.value):e.value}if(bN[0]={3699917729:t=>new Ne.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Ne.IfcAccelerationMeasure(t),360377573:t=>new Ne.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Ne.IfcAngularVelocityMeasure(t),2650437152:t=>new Ne.IfcAreaMeasure(t),2735952531:t=>new Ne.IfcBoolean(t),1867003952:t=>new Ne.IfcBoxAlignment(t),2991860651:t=>new Ne.IfcComplexNumber(t.map((e=>e.value))),3812528620:t=>new Ne.IfcCompoundPlaneAngleMeasure(t.map((e=>e.value))),3238673880:t=>new Ne.IfcContextDependentMeasure(t),1778710042:t=>new Ne.IfcCountMeasure(t),94842927:t=>new Ne.IfcCurvatureMeasure(t),86635668:t=>new Ne.IfcDayInMonthNumber(t),300323983:t=>new Ne.IfcDaylightSavingHour(t),1514641115:t=>new Ne.IfcDescriptiveMeasure(t),4134073009:t=>new Ne.IfcDimensionCount(t),524656162:t=>new Ne.IfcDoseEquivalentMeasure(t),69416015:t=>new Ne.IfcDynamicViscosityMeasure(t),1827137117:t=>new Ne.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Ne.IfcElectricChargeMeasure(t),2093906313:t=>new Ne.IfcElectricConductanceMeasure(t),3790457270:t=>new Ne.IfcElectricCurrentMeasure(t),2951915441:t=>new Ne.IfcElectricResistanceMeasure(t),2506197118:t=>new Ne.IfcElectricVoltageMeasure(t),2078135608:t=>new Ne.IfcEnergyMeasure(t),1102727119:t=>new Ne.IfcFontStyle(t),2715512545:t=>new Ne.IfcFontVariant(t),2590844177:t=>new Ne.IfcFontWeight(t),1361398929:t=>new Ne.IfcForceMeasure(t),3044325142:t=>new Ne.IfcFrequencyMeasure(t),3064340077:t=>new Ne.IfcGloballyUniqueId(t),3113092358:t=>new Ne.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Ne.IfcHeatingValueMeasure(t),2589826445:t=>new Ne.IfcHourInDay(t),983778844:t=>new Ne.IfcIdentifier(t),3358199106:t=>new Ne.IfcIlluminanceMeasure(t),2679005408:t=>new Ne.IfcInductanceMeasure(t),1939436016:t=>new Ne.IfcInteger(t),3809634241:t=>new Ne.IfcIntegerCountRateMeasure(t),3686016028:t=>new Ne.IfcIonConcentrationMeasure(t),3192672207:t=>new Ne.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Ne.IfcKinematicViscosityMeasure(t),3258342251:t=>new Ne.IfcLabel(t),1243674935:t=>new Ne.IfcLengthMeasure(t),191860431:t=>new Ne.IfcLinearForceMeasure(t),2128979029:t=>new Ne.IfcLinearMomentMeasure(t),1307019551:t=>new Ne.IfcLinearStiffnessMeasure(t),3086160713:t=>new Ne.IfcLinearVelocityMeasure(t),503418787:t=>new Ne.IfcLogical(t),2095003142:t=>new Ne.IfcLuminousFluxMeasure(t),2755797622:t=>new Ne.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Ne.IfcLuminousIntensityMeasure(t),286949696:t=>new Ne.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Ne.IfcMagneticFluxMeasure(t),1477762836:t=>new Ne.IfcMassDensityMeasure(t),4017473158:t=>new Ne.IfcMassFlowRateMeasure(t),3124614049:t=>new Ne.IfcMassMeasure(t),3531705166:t=>new Ne.IfcMassPerLengthMeasure(t),102610177:t=>new Ne.IfcMinuteInHour(t),3341486342:t=>new Ne.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Ne.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Ne.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Ne.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Ne.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Ne.IfcMolecularWeightMeasure(t),3114022597:t=>new Ne.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Ne.IfcMonetaryMeasure(t),765770214:t=>new Ne.IfcMonthInYearNumber(t),2095195183:t=>new Ne.IfcNormalisedRatioMeasure(t),2395907400:t=>new Ne.IfcNumericMeasure(t),929793134:t=>new Ne.IfcPHMeasure(t),2260317790:t=>new Ne.IfcParameterValue(t),2642773653:t=>new Ne.IfcPlanarForceMeasure(t),4042175685:t=>new Ne.IfcPlaneAngleMeasure(t),2815919920:t=>new Ne.IfcPositiveLengthMeasure(t),3054510233:t=>new Ne.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Ne.IfcPositiveRatioMeasure(t),1364037233:t=>new Ne.IfcPowerMeasure(t),2169031380:t=>new Ne.IfcPresentableText(t),3665567075:t=>new Ne.IfcPressureMeasure(t),3972513137:t=>new Ne.IfcRadioActivityMeasure(t),96294661:t=>new Ne.IfcRatioMeasure(t),200335297:t=>new Ne.IfcReal(t),2133746277:t=>new Ne.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Ne.IfcRotationalMassMeasure(t),3211557302:t=>new Ne.IfcRotationalStiffnessMeasure(t),2766185779:t=>new Ne.IfcSecondInMinute(t),3467162246:t=>new Ne.IfcSectionModulusMeasure(t),2190458107:t=>new Ne.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Ne.IfcShearModulusMeasure(t),3471399674:t=>new Ne.IfcSolidAngleMeasure(t),846465480:t=>new Ne.IfcSoundPowerMeasure(t),993287707:t=>new Ne.IfcSoundPressureMeasure(t),3477203348:t=>new Ne.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Ne.IfcSpecularExponent(t),361837227:t=>new Ne.IfcSpecularRoughness(t),58845555:t=>new Ne.IfcTemperatureGradientMeasure(t),2801250643:t=>new Ne.IfcText(t),1460886941:t=>new Ne.IfcTextAlignment(t),3490877962:t=>new Ne.IfcTextDecoration(t),603696268:t=>new Ne.IfcTextFontName(t),296282323:t=>new Ne.IfcTextTransformation(t),232962298:t=>new Ne.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Ne.IfcThermalConductivityMeasure(t),2281867870:t=>new Ne.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Ne.IfcThermalResistanceMeasure(t),2016195849:t=>new Ne.IfcThermalTransmittanceMeasure(t),743184107:t=>new Ne.IfcThermodynamicTemperatureMeasure(t),2726807636:t=>new Ne.IfcTimeMeasure(t),2591213694:t=>new Ne.IfcTimeStamp(t),1278329552:t=>new Ne.IfcTorqueMeasure(t),3345633955:t=>new Ne.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Ne.IfcVolumeMeasure(t),2593997549:t=>new Ne.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Ne.IfcWarpingConstantMeasure(t),1718600412:t=>new Ne.IfcWarpingMomentMeasure(t),4065007721:t=>new Ne.IfcYearNumber(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}},t.IfcAccelerationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}},t.IfcAmountOfSubstanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}},t.IfcAngularVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}},t.IfcAreaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}},t.IfcBoolean=class{constructor(N){this.type=3,this.name="IFCBOOLEAN",this.value=N}},t.IfcBoxAlignment=class{constructor(N){this.value=N,this.type=1,this.name="IFCBOXALIGNMENT"}},t.IfcComplexNumber=class{constructor(N){this.value=N,this.type=4}},t.IfcCompoundPlaneAngleMeasure=class{constructor(N){this.value=N,this.type=10}},t.IfcContextDependentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}},t.IfcCountMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}},t.IfcCurvatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}},t.IfcDayInMonthNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}},t.IfcDaylightSavingHour=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYLIGHTSAVINGHOUR"}},t.IfcDescriptiveMeasure=class{constructor(N){this.value=N,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e,t.IfcDoseEquivalentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}},t.IfcDynamicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}},t.IfcElectricCapacitanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}},t.IfcElectricChargeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}},t.IfcElectricConductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}},t.IfcElectricCurrentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}},t.IfcElectricResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}},t.IfcElectricVoltageMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}},t.IfcEnergyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}},t.IfcFontStyle=class{constructor(N){this.value=N,this.type=1,this.name="IFCFONTSTYLE"}},t.IfcFontVariant=class{constructor(N){this.value=N,this.type=1,this.name="IFCFONTVARIANT"}},t.IfcFontWeight=class{constructor(N){this.value=N,this.type=1,this.name="IFCFONTWEIGHT"}},t.IfcForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}},t.IfcFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}},t.IfcGloballyUniqueId=class{constructor(N){this.value=N,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}},t.IfcHeatFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}},t.IfcHeatingValueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}},t.IfcHourInDay=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCHOURINDAY"}},t.IfcIdentifier=class{constructor(N){this.value=N,this.type=1,this.name="IFCIDENTIFIER"}},t.IfcIlluminanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}},t.IfcInductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}},t.IfcInteger=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}},t.IfcIntegerCountRateMeasure=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}},t.IfcIonConcentrationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}},t.IfcIsothermalMoistureCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}},t.IfcKinematicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}},t.IfcLabel=class{constructor(N){this.value=N,this.type=1,this.name="IFCLABEL"}},t.IfcLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}},t.IfcLinearForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}},t.IfcLinearMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}},t.IfcLinearStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}},t.IfcLinearVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}},t.IfcLogical=class{constructor(N){this.type=3,this.name="IFCLOGICAL",this.value=N}},t.IfcLuminousFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}},t.IfcLuminousIntensityDistributionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}},t.IfcLuminousIntensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}},t.IfcMagneticFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}},t.IfcMagneticFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}},t.IfcMassDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}},t.IfcMassFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}},t.IfcMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}},t.IfcMassPerLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}},t.IfcMinuteInHour=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCMINUTEINHOUR"}},t.IfcModulusOfElasticityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}},t.IfcModulusOfLinearSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}},t.IfcMoistureDiffusivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}},t.IfcMolecularWeightMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}},t.IfcMomentOfInertiaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}},t.IfcMonetaryMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}},t.IfcMonthInYearNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}},t.IfcNormalisedRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}},t.IfcNumericMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}},t.IfcPHMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}},t.IfcParameterValue=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}},t.IfcPlanarForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}},t.IfcPlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}},t.IfcPositiveLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}},t.IfcPositivePlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}},t.IfcPositiveRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}},t.IfcPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}},t.IfcPresentableText=class{constructor(N){this.value=N,this.type=1,this.name="IFCPRESENTABLETEXT"}},t.IfcPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}},t.IfcRadioActivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}},t.IfcRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}},t.IfcReal=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}},t.IfcRotationalFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}},t.IfcRotationalMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}},t.IfcRotationalStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}},t.IfcSecondInMinute=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECONDINMINUTE"}},t.IfcSectionModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}},t.IfcSectionalAreaIntegralMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}},t.IfcShearModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}},t.IfcSolidAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}},t.IfcSoundPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}},t.IfcSoundPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}},t.IfcSpecificHeatCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}},t.IfcSpecularExponent=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}},t.IfcSpecularRoughness=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}},t.IfcTemperatureGradientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}},t.IfcText=class{constructor(N){this.value=N,this.type=1,this.name="IFCTEXT"}},t.IfcTextAlignment=class{constructor(N){this.value=N,this.type=1,this.name="IFCTEXTALIGNMENT"}},t.IfcTextDecoration=class{constructor(N){this.value=N,this.type=1,this.name="IFCTEXTDECORATION"}},t.IfcTextFontName=class{constructor(N){this.value=N,this.type=1,this.name="IFCTEXTFONTNAME"}},t.IfcTextTransformation=class{constructor(N){this.value=N,this.type=1,this.name="IFCTEXTTRANSFORMATION"}},t.IfcThermalAdmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}},t.IfcThermalConductivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}},t.IfcThermalExpansionCoefficientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}},t.IfcThermalResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}},t.IfcThermalTransmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}},t.IfcThermodynamicTemperatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}},t.IfcTimeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}},t.IfcTimeStamp=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}},t.IfcTorqueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}},t.IfcVaporPermeabilityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}},t.IfcVolumeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}},t.IfcVolumetricFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}},t.IfcWarpingConstantMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}},t.IfcWarpingMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}},t.IfcYearNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCYEARNUMBER"}};let s=class{};s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.SNOW_S={type:3,value:"SNOW_S"},s.WIND_W={type:3,value:"WIND_W"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.FIRE={type:3,value:"FIRE"},s.IMPULSE={type:3,value:"IMPULSE"},s.IMPACT={type:3,value:"IMPACT"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.ERECTION={type:3,value:"ERECTION"},s.PROPPING={type:3,value:"PROPPING"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.CREEP={type:3,value:"CREEP"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.ICE={type:3,value:"ICE"},s.CURRENT={type:3,value:"CURRENT"},s.WAVE={type:3,value:"WAVE"},s.RAIN={type:3,value:"RAIN"},s.BRAKES={type:3,value:"BRAKES"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionSourceTypeEnum=i;let r=class{};r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=r;t.IfcActionTypeEnum=o;let y=class{};y.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},y.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},y.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},y.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},y.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=y;t.IfcActuatorTypeEnum=R;let v=class{};v.OFFICE={type:3,value:"OFFICE"},v.SITE={type:3,value:"SITE"},v.HOME={type:3,value:"HOME"},v.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},v.USERDEFINED={type:3,value:"USERDEFINED"};let P=v;t.IfcAddressTypeEnum=P;let M=class{};M.AHEAD={type:3,value:"AHEAD"},M.BEHIND={type:3,value:"BEHIND"};let G=M;t.IfcAheadOrBehind=G;let w=class{};w.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},w.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},w.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=w;t.IfcAirTerminalBoxTypeEnum=H;let W=class{};W.GRILLE={type:3,value:"GRILLE"},W.REGISTER={type:3,value:"REGISTER"},W.DIFFUSER={type:3,value:"DIFFUSER"},W.EYEBALL={type:3,value:"EYEBALL"},W.IRIS={type:3,value:"IRIS"},W.LINEARGRILLE={type:3,value:"LINEARGRILLE"},W.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let k=W;t.IfcAirTerminalTypeEnum=k;let j=class{};j.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},j.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},j.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},j.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},j.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},j.HEATPIPE={type:3,value:"HEATPIPE"},j.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},j.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},j.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=j;t.IfcAirToAirHeatRecoveryTypeEnum=X;let q=class{};q.BELL={type:3,value:"BELL"},q.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},q.LIGHT={type:3,value:"LIGHT"},q.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},q.SIREN={type:3,value:"SIREN"},q.WHISTLE={type:3,value:"WHISTLE"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let K=q;t.IfcAlarmTypeEnum=K;let Q=class{};Q.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Q.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Q.LOADING_3D={type:3,value:"LOADING_3D"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=Q;t.IfcAnalysisModelTypeEnum=ie;let ee=class{};ee.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},ee.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},ee.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},ee.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ee;t.IfcAnalysisTheoryTypeEnum=oe;let re=class{};re.ADD={type:3,value:"ADD"},re.DIVIDE={type:3,value:"DIVIDE"},re.MULTIPLY={type:3,value:"MULTIPLY"},re.SUBTRACT={type:3,value:"SUBTRACT"};let ne=re;t.IfcArithmeticOperatorEnum=ne;let ce=class{};ce.SITE={type:3,value:"SITE"},ce.FACTORY={type:3,value:"FACTORY"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let he=ce;t.IfcAssemblyPlaceEnum=he;let Ee=class{};Ee.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Ee.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Ee.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Ee.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Ee.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Ee.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let De=Ee;t.IfcBSplineCurveForm=De;let Se=class{};Se.BEAM={type:3,value:"BEAM"},Se.JOIST={type:3,value:"JOIST"},Se.LINTEL={type:3,value:"LINTEL"},Se.T_BEAM={type:3,value:"T_BEAM"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ue=Se;t.IfcBeamTypeEnum=Ue;let Oe=class{};Oe.GREATERTHAN={type:3,value:"GREATERTHAN"},Oe.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Oe.LESSTHAN={type:3,value:"LESSTHAN"},Oe.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Oe.EQUALTO={type:3,value:"EQUALTO"},Oe.NOTEQUALTO={type:3,value:"NOTEQUALTO"};let Fe=Oe;t.IfcBenchmarkEnum=Fe;let je=class{};je.WATER={type:3,value:"WATER"},je.STEAM={type:3,value:"STEAM"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=je;t.IfcBoilerTypeEnum=Xe;let tt=class{};tt.UNION={type:3,value:"UNION"},tt.INTERSECTION={type:3,value:"INTERSECTION"},tt.DIFFERENCE={type:3,value:"DIFFERENCE"};let Gs=tt;t.IfcBooleanOperator=Gs;let nt=class{};nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ri=nt;t.IfcBuildingElementProxyTypeEnum=ri;let wt=class{};wt.BEND={type:3,value:"BEND"},wt.CROSS={type:3,value:"CROSS"},wt.REDUCER={type:3,value:"REDUCER"},wt.TEE={type:3,value:"TEE"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ni=wt;t.IfcCableCarrierFittingTypeEnum=ni;let st=class{};st.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},st.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},st.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},st.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let fs=st;t.IfcCableCarrierSegmentTypeEnum=fs;let ze=class{};ze.CABLESEGMENT={type:3,value:"CABLESEGMENT"},ze.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=ze;t.IfcCableSegmentTypeEnum=ot;let Qe=class{};Qe.NOCHANGE={type:3,value:"NOCHANGE"},Qe.MODIFIED={type:3,value:"MODIFIED"},Qe.ADDED={type:3,value:"ADDED"},Qe.DELETED={type:3,value:"DELETED"},Qe.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},Qe.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"};let Ls=Qe;t.IfcChangeActionEnum=Ls;let Tt=class{};Tt.AIRCOOLED={type:3,value:"AIRCOOLED"},Tt.WATERCOOLED={type:3,value:"WATERCOOLED"},Tt.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zn=Tt;t.IfcChillerTypeEnum=zn;let bt=class{};bt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},bt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},bt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},bt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},bt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},bt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ha=bt;t.IfcCoilTypeEnum=Ha;let Ni=class{};Ni.COLUMN={type:3,value:"COLUMN"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qo=Ni;t.IfcColumnTypeEnum=Qo;let dt=class{};dt.DYNAMIC={type:3,value:"DYNAMIC"},dt.RECIPROCATING={type:3,value:"RECIPROCATING"},dt.ROTARY={type:3,value:"ROTARY"},dt.SCROLL={type:3,value:"SCROLL"},dt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},dt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},dt.BOOSTER={type:3,value:"BOOSTER"},dt.OPENTYPE={type:3,value:"OPENTYPE"},dt.HERMETIC={type:3,value:"HERMETIC"},dt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},dt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},dt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},dt.ROTARYVANE={type:3,value:"ROTARYVANE"},dt.SINGLESCREW={type:3,value:"SINGLESCREW"},dt.TWINSCREW={type:3,value:"TWINSCREW"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ol=dt;t.IfcCompressorTypeEnum=Ol;let Os=class{};Os.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},Os.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},Os.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},Os.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},Os.AIRCOOLED={type:3,value:"AIRCOOLED"},Os.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},Os.USERDEFINED={type:3,value:"USERDEFINED"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oh=Os;t.IfcCondenserTypeEnum=Oh;let cr=class{};cr.ATPATH={type:3,value:"ATPATH"},cr.ATSTART={type:3,value:"ATSTART"},cr.ATEND={type:3,value:"ATEND"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hp=cr;t.IfcConnectionTypeEnum=Hp;let Mi=class{};Mi.HARD={type:3,value:"HARD"},Mi.SOFT={type:3,value:"SOFT"},Mi.ADVISORY={type:3,value:"ADVISORY"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let mh=Mi;t.IfcConstraintEnum=mh;let Fi=class{};Fi.FLOATING={type:3,value:"FLOATING"},Fi.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Fi.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},Fi.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},Fi.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},Fi.TWOPOSITION={type:3,value:"TWOPOSITION"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bp=Fi;t.IfcControllerTypeEnum=Bp;let zt=class{};zt.ACTIVE={type:3,value:"ACTIVE"},zt.PASSIVE={type:3,value:"PASSIVE"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ml=zt;t.IfcCooledBeamTypeEnum=ml;let Fn=class{};Fn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Fn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Fn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vp=Fn;t.IfcCoolingTowerTypeEnum=Vp;let Lt=class{};Lt.BUDGET={type:3,value:"BUDGET"},Lt.COSTPLAN={type:3,value:"COSTPLAN"},Lt.ESTIMATE={type:3,value:"ESTIMATE"},Lt.TENDER={type:3,value:"TENDER"},Lt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Lt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Lt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dl=Lt;t.IfcCostScheduleTypeEnum=Dl;let $s=class{};$s.CEILING={type:3,value:"CEILING"},$s.FLOORING={type:3,value:"FLOORING"},$s.CLADDING={type:3,value:"CLADDING"},$s.ROOFING={type:3,value:"ROOFING"},$s.INSULATION={type:3,value:"INSULATION"},$s.MEMBRANE={type:3,value:"MEMBRANE"},$s.SLEEVING={type:3,value:"SLEEVING"},$s.WRAPPING={type:3,value:"WRAPPING"},$s.USERDEFINED={type:3,value:"USERDEFINED"},$s.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wp=$s;t.IfcCoveringTypeEnum=Wp;let Re=class{};Re.AED={type:3,value:"AED"},Re.AES={type:3,value:"AES"},Re.ATS={type:3,value:"ATS"},Re.AUD={type:3,value:"AUD"},Re.BBD={type:3,value:"BBD"},Re.BEG={type:3,value:"BEG"},Re.BGL={type:3,value:"BGL"},Re.BHD={type:3,value:"BHD"},Re.BMD={type:3,value:"BMD"},Re.BND={type:3,value:"BND"},Re.BRL={type:3,value:"BRL"},Re.BSD={type:3,value:"BSD"},Re.BWP={type:3,value:"BWP"},Re.BZD={type:3,value:"BZD"},Re.CAD={type:3,value:"CAD"},Re.CBD={type:3,value:"CBD"},Re.CHF={type:3,value:"CHF"},Re.CLP={type:3,value:"CLP"},Re.CNY={type:3,value:"CNY"},Re.CYS={type:3,value:"CYS"},Re.CZK={type:3,value:"CZK"},Re.DDP={type:3,value:"DDP"},Re.DEM={type:3,value:"DEM"},Re.DKK={type:3,value:"DKK"},Re.EGL={type:3,value:"EGL"},Re.EST={type:3,value:"EST"},Re.EUR={type:3,value:"EUR"},Re.FAK={type:3,value:"FAK"},Re.FIM={type:3,value:"FIM"},Re.FJD={type:3,value:"FJD"},Re.FKP={type:3,value:"FKP"},Re.FRF={type:3,value:"FRF"},Re.GBP={type:3,value:"GBP"},Re.GIP={type:3,value:"GIP"},Re.GMD={type:3,value:"GMD"},Re.GRX={type:3,value:"GRX"},Re.HKD={type:3,value:"HKD"},Re.HUF={type:3,value:"HUF"},Re.ICK={type:3,value:"ICK"},Re.IDR={type:3,value:"IDR"},Re.ILS={type:3,value:"ILS"},Re.INR={type:3,value:"INR"},Re.IRP={type:3,value:"IRP"},Re.ITL={type:3,value:"ITL"},Re.JMD={type:3,value:"JMD"},Re.JOD={type:3,value:"JOD"},Re.JPY={type:3,value:"JPY"},Re.KES={type:3,value:"KES"},Re.KRW={type:3,value:"KRW"},Re.KWD={type:3,value:"KWD"},Re.KYD={type:3,value:"KYD"},Re.LKR={type:3,value:"LKR"},Re.LUF={type:3,value:"LUF"},Re.MTL={type:3,value:"MTL"},Re.MUR={type:3,value:"MUR"},Re.MXN={type:3,value:"MXN"},Re.MYR={type:3,value:"MYR"},Re.NLG={type:3,value:"NLG"},Re.NZD={type:3,value:"NZD"},Re.OMR={type:3,value:"OMR"},Re.PGK={type:3,value:"PGK"},Re.PHP={type:3,value:"PHP"},Re.PKR={type:3,value:"PKR"},Re.PLN={type:3,value:"PLN"},Re.PTN={type:3,value:"PTN"},Re.QAR={type:3,value:"QAR"},Re.RUR={type:3,value:"RUR"},Re.SAR={type:3,value:"SAR"},Re.SCR={type:3,value:"SCR"},Re.SEK={type:3,value:"SEK"},Re.SGD={type:3,value:"SGD"},Re.SKP={type:3,value:"SKP"},Re.THB={type:3,value:"THB"},Re.TRL={type:3,value:"TRL"},Re.TTD={type:3,value:"TTD"},Re.TWD={type:3,value:"TWD"},Re.USD={type:3,value:"USD"},Re.VEB={type:3,value:"VEB"},Re.VND={type:3,value:"VND"},Re.XEU={type:3,value:"XEU"},Re.ZAR={type:3,value:"ZAR"},Re.ZWD={type:3,value:"ZWD"},Re.NOK={type:3,value:"NOK"};let Dh=Re;t.IfcCurrencyEnum=Dh;let Hs=class{};Hs.USERDEFINED={type:3,value:"USERDEFINED"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let jp=Hs;t.IfcCurtainWallTypeEnum=jp;let Ws=class{};Ws.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Ws.FIREDAMPER={type:3,value:"FIREDAMPER"},Ws.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Ws.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Ws.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Ws.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Ws.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Ws.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Ws.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Ws.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Ws.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ah=Ws;t.IfcDamperTypeEnum=Ah;let Sr=class{};Sr.MEASURED={type:3,value:"MEASURED"},Sr.PREDICTED={type:3,value:"PREDICTED"},Sr.SIMULATED={type:3,value:"SIMULATED"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yp=Sr;t.IfcDataOriginEnum=Yp;let xe=class{};xe.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},xe.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},xe.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},xe.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},xe.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},xe.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},xe.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},xe.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},xe.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},xe.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},xe.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},xe.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},xe.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},xe.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},xe.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},xe.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},xe.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},xe.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},xe.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},xe.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},xe.TORQUEUNIT={type:3,value:"TORQUEUNIT"},xe.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},xe.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},xe.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},xe.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},xe.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},xe.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},xe.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},xe.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},xe.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},xe.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},xe.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},xe.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},xe.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},xe.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},xe.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},xe.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},xe.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},xe.PHUNIT={type:3,value:"PHUNIT"},xe.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},xe.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},xe.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},xe.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},xe.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},xe.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},xe.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},xe.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},xe.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},xe.USERDEFINED={type:3,value:"USERDEFINED"};let Sh=xe;t.IfcDerivedUnitEnum=Sh;let Cr=class{};Cr.ORIGIN={type:3,value:"ORIGIN"},Cr.TARGET={type:3,value:"TARGET"};let zp=Cr;t.IfcDimensionExtentUsage=zp;let hr=class{};hr.POSITIVE={type:3,value:"POSITIVE"},hr.NEGATIVE={type:3,value:"NEGATIVE"};let $t=hr;t.IfcDirectionSenseEnum=$t;let os=class{};os.FORMEDDUCT={type:3,value:"FORMEDDUCT"},os.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},os.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},os.MANHOLE={type:3,value:"MANHOLE"},os.METERCHAMBER={type:3,value:"METERCHAMBER"},os.SUMP={type:3,value:"SUMP"},os.TRENCH={type:3,value:"TRENCH"},os.VALVECHAMBER={type:3,value:"VALVECHAMBER"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ch=os;t.IfcDistributionChamberElementTypeEnum=Ch;let Et=class{};Et.PUBLIC={type:3,value:"PUBLIC"},Et.RESTRICTED={type:3,value:"RESTRICTED"},Et.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Et.PERSONAL={type:3,value:"PERSONAL"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"};let vh=Et;t.IfcDocumentConfidentialityEnum=vh;let vr=class{};vr.DRAFT={type:3,value:"DRAFT"},vr.FINALDRAFT={type:3,value:"FINALDRAFT"},vr.FINAL={type:3,value:"FINAL"},vr.REVISION={type:3,value:"REVISION"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"};let bh=vr;t.IfcDocumentStatusEnum=bh;let Bt=class{};Bt.SWINGING={type:3,value:"SWINGING"},Bt.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Bt.SLIDING={type:3,value:"SLIDING"},Bt.FOLDING={type:3,value:"FOLDING"},Bt.REVOLVING={type:3,value:"REVOLVING"},Bt.ROLLINGUP={type:3,value:"ROLLINGUP"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Al=Bt;t.IfcDoorPanelOperationEnum=Al;let Bs=class{};Bs.LEFT={type:3,value:"LEFT"},Bs.MIDDLE={type:3,value:"MIDDLE"},Bs.RIGHT={type:3,value:"RIGHT"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sl=Bs;t.IfcDoorPanelPositionEnum=Sl;let cs=class{};cs.ALUMINIUM={type:3,value:"ALUMINIUM"},cs.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},cs.STEEL={type:3,value:"STEEL"},cs.WOOD={type:3,value:"WOOD"},cs.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},cs.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},cs.PLASTIC={type:3,value:"PLASTIC"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cl=cs;t.IfcDoorStyleConstructionEnum=Cl;let Ie=class{};Ie.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ie.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ie.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ie.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ie.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ie.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ie.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ie.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ie.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ie.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ie.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ie.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ie.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ie.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ie.REVOLVING={type:3,value:"REVOLVING"},Ie.ROLLINGUP={type:3,value:"ROLLINGUP"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let bc=Ie;t.IfcDoorStyleOperationEnum=bc;let ei=class{};ei.BEND={type:3,value:"BEND"},ei.CONNECTOR={type:3,value:"CONNECTOR"},ei.ENTRY={type:3,value:"ENTRY"},ei.EXIT={type:3,value:"EXIT"},ei.JUNCTION={type:3,value:"JUNCTION"},ei.OBSTRUCTION={type:3,value:"OBSTRUCTION"},ei.TRANSITION={type:3,value:"TRANSITION"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lc=ei;t.IfcDuctFittingTypeEnum=Lc;let Ri=class{};Ri.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ri.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let gc=Ri;t.IfcDuctSegmentTypeEnum=gc;let js=class{};js.FLATOVAL={type:3,value:"FLATOVAL"},js.RECTANGULAR={type:3,value:"RECTANGULAR"},js.ROUND={type:3,value:"ROUND"},js.USERDEFINED={type:3,value:"USERDEFINED"},js.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pc=js;t.IfcDuctSilencerTypeEnum=Pc;let lt=class{};lt.COMPUTER={type:3,value:"COMPUTER"},lt.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},lt.DISHWASHER={type:3,value:"DISHWASHER"},lt.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},lt.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},lt.FACSIMILE={type:3,value:"FACSIMILE"},lt.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},lt.FREEZER={type:3,value:"FREEZER"},lt.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},lt.HANDDRYER={type:3,value:"HANDDRYER"},lt.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},lt.MICROWAVE={type:3,value:"MICROWAVE"},lt.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},lt.PRINTER={type:3,value:"PRINTER"},lt.REFRIGERATOR={type:3,value:"REFRIGERATOR"},lt.RADIANTHEATER={type:3,value:"RADIANTHEATER"},lt.SCANNER={type:3,value:"SCANNER"},lt.TELEPHONE={type:3,value:"TELEPHONE"},lt.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},lt.TV={type:3,value:"TV"},lt.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},lt.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},lt.WATERHEATER={type:3,value:"WATERHEATER"},lt.WATERCOOLER={type:3,value:"WATERCOOLER"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lh=lt;t.IfcElectricApplianceTypeEnum=Lh;let He=class{};He.ALTERNATING={type:3,value:"ALTERNATING"},He.DIRECT={type:3,value:"DIRECT"},He.NOTDEFINED={type:3,value:"NOTDEFINED"};let xc=He;t.IfcElectricCurrentEnum=xc;let Ki=class{};Ki.ALARMPANEL={type:3,value:"ALARMPANEL"},Ki.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Ki.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ki.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Ki.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},Ki.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ki.MIMICPANEL={type:3,value:"MIMICPANEL"},Ki.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Ki.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let _c=Ki;t.IfcElectricDistributionPointFunctionEnum=_c;let Zi=class{};Zi.BATTERY={type:3,value:"BATTERY"},Zi.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Zi.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Zi.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Zi.UPS={type:3,value:"UPS"},Zi.USERDEFINED={type:3,value:"USERDEFINED"},Zi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mc=Zi;t.IfcElectricFlowStorageDeviceTypeEnum=Mc;let Vr=class{};Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"};let kp=Vr;t.IfcElectricGeneratorTypeEnum=kp;let ai=class{};ai.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},ai.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},ai.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xp=ai;t.IfcElectricHeaterTypeEnum=Xp;let Ye=class{};Ye.DC={type:3,value:"DC"},Ye.INDUCTION={type:3,value:"INDUCTION"},Ye.POLYPHASE={type:3,value:"POLYPHASE"},Ye.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Ye.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kp=Ye;t.IfcElectricMotorTypeEnum=Kp;let ms=class{};ms.TIMECLOCK={type:3,value:"TIMECLOCK"},ms.TIMEDELAY={type:3,value:"TIMEDELAY"},ms.RELAY={type:3,value:"RELAY"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zp=ms;t.IfcElectricTimeControlTypeEnum=Zp;let oi=class{};oi.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},oi.ARCH={type:3,value:"ARCH"},oi.BEAM_GRID={type:3,value:"BEAM_GRID"},oi.BRACED_FRAME={type:3,value:"BRACED_FRAME"},oi.GIRDER={type:3,value:"GIRDER"},oi.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},oi.RIGID_FRAME={type:3,value:"RIGID_FRAME"},oi.SLAB_FIELD={type:3,value:"SLAB_FIELD"},oi.TRUSS={type:3,value:"TRUSS"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let qp=oi;t.IfcElementAssemblyTypeEnum=qp;let lr=class{};lr.COMPLEX={type:3,value:"COMPLEX"},lr.ELEMENT={type:3,value:"ELEMENT"},lr.PARTIAL={type:3,value:"PARTIAL"};let Qp=lr;t.IfcElementCompositionEnum=Qp;let pr=class{};pr.PRIMARY={type:3,value:"PRIMARY"},pr.SECONDARY={type:3,value:"SECONDARY"},pr.TERTIARY={type:3,value:"TERTIARY"},pr.AUXILIARY={type:3,value:"AUXILIARY"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fc=pr;t.IfcEnergySequenceEnum=Fc;let gt=class{};gt.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},gt.DISPOSAL={type:3,value:"DISPOSAL"},gt.EXTRACTION={type:3,value:"EXTRACTION"},gt.INSTALLATION={type:3,value:"INSTALLATION"},gt.MANUFACTURE={type:3,value:"MANUFACTURE"},gt.TRANSPORTATION={type:3,value:"TRANSPORTATION"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uc=gt;t.IfcEnvironmentalImpactCategoryEnum=Uc;let Nt=class{};Nt.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Nt.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Nt.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Nt.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Nt.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Nt.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Nt.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Nt.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Nt.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let vl=Nt;t.IfcEvaporativeCoolerTypeEnum=vl;let _e=class{};_e.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},_e.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},_e.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},_e.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},_e.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"};let bl=_e;t.IfcEvaporatorTypeEnum=bl;let Gt=class{};Gt.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Gt.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Gt.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Gt.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Gt.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Gt.VANEAXIAL={type:3,value:"VANEAXIAL"},Gt.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Jp=Gt;t.IfcFanTypeEnum=Jp;let pt=class{};pt.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},pt.ODORFILTER={type:3,value:"ODORFILTER"},pt.OILFILTER={type:3,value:"OILFILTER"},pt.STRAINER={type:3,value:"STRAINER"},pt.WATERFILTER={type:3,value:"WATERFILTER"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $p=pt;t.IfcFilterTypeEnum=$p;let fi=class{};fi.BREECHINGINLET={type:3,value:"BREECHINGINLET"},fi.FIREHYDRANT={type:3,value:"FIREHYDRANT"},fi.HOSEREEL={type:3,value:"HOSEREEL"},fi.SPRINKLER={type:3,value:"SPRINKLER"},fi.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let eu=fi;t.IfcFireSuppressionTerminalTypeEnum=eu;let ci=class{};ci.SOURCE={type:3,value:"SOURCE"},ci.SINK={type:3,value:"SINK"},ci.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let gh=ci;t.IfcFlowDirectionEnum=gh;let Rt=class{};Rt.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Rt.THERMOMETER={type:3,value:"THERMOMETER"},Rt.AMMETER={type:3,value:"AMMETER"},Rt.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Rt.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Rt.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Rt.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Rt.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let tu=Rt;t.IfcFlowInstrumentTypeEnum=tu;let Pe=class{};Pe.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Pe.ENERGYMETER={type:3,value:"ENERGYMETER"},Pe.FLOWMETER={type:3,value:"FLOWMETER"},Pe.GASMETER={type:3,value:"GASMETER"},Pe.OILMETER={type:3,value:"OILMETER"},Pe.WATERMETER={type:3,value:"WATERMETER"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let su=Pe;t.IfcFlowMeterTypeEnum=su;let Oi=class{};Oi.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Oi.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Oi.PILE_CAP={type:3,value:"PILE_CAP"},Oi.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let iu=Oi;t.IfcFootingTypeEnum=iu;let br=class{};br.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},br.GASBOOSTER={type:3,value:"GASBOOSTER"},br.GASBURNER={type:3,value:"GASBURNER"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"};let wc=br;t.IfcGasTerminalTypeEnum=wc;let Ds=class{};Ds.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ds.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ds.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ds.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ds.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ds.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ds.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ru=Ds;t.IfcGeometricProjectionEnum=ru;let Un=class{};Un.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Un.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let Ll=Un;t.IfcGlobalOrLocalEnum=Ll;let Ys=class{};Ys.PLATE={type:3,value:"PLATE"},Ys.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let gl=Ys;t.IfcHeatExchangerTypeEnum=gl;let $=class{};$.STEAMINJECTION={type:3,value:"STEAMINJECTION"},$.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},$.ADIABATICPAN={type:3,value:"ADIABATICPAN"},$.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},$.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},$.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},$.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},$.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},$.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},$.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},$.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},$.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},$.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"};let le=$;t.IfcHumidifierTypeEnum=le;let fe=class{};fe.INTERNAL={type:3,value:"INTERNAL"},fe.EXTERNAL={type:3,value:"EXTERNAL"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Le=fe;t.IfcInternalOrExternalEnum=Le;let ge=class{};ge.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},ge.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},ge.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=ge;t.IfcInventoryTypeEnum=$e;let it=class{};it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=it;t.IfcJunctionBoxTypeEnum=es;let et=class{};et.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},et.FLUORESCENT={type:3,value:"FLUORESCENT"},et.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},et.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},et.METALHALIDE={type:3,value:"METALHALIDE"},et.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lr=et;t.IfcLampTypeEnum=Lr;let Kt=class{};Kt.AXIS1={type:3,value:"AXIS1"},Kt.AXIS2={type:3,value:"AXIS2"},Kt.AXIS3={type:3,value:"AXIS3"};let oa=Kt;t.IfcLayerSetDirectionEnum=oa;let Ht=class{};Ht.TYPE_A={type:3,value:"TYPE_A"},Ht.TYPE_B={type:3,value:"TYPE_B"},Ht.TYPE_C={type:3,value:"TYPE_C"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pl=Ht;t.IfcLightDistributionCurveEnum=Pl;let ts=class{};ts.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},ts.FLUORESCENT={type:3,value:"FLUORESCENT"},ts.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},ts.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},ts.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},ts.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},ts.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},ts.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},ts.METALHALIDE={type:3,value:"METALHALIDE"},ts.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let xl=ts;t.IfcLightEmissionSourceEnum=xl;let ti=class{};ti.POINTSOURCE={type:3,value:"POINTSOURCE"},ti.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ph=ti;t.IfcLightFixtureTypeEnum=Ph;let mi=class{};mi.LOAD_GROUP={type:3,value:"LOAD_GROUP"},mi.LOAD_CASE={type:3,value:"LOAD_CASE"},mi.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},mi.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _l=mi;t.IfcLoadGroupTypeEnum=_l;let ur=class{};ur.LOGICALAND={type:3,value:"LOGICALAND"},ur.LOGICALOR={type:3,value:"LOGICALOR"};let Jo=ur;t.IfcLogicalOperatorEnum=Jo;let kt=class{};kt.BRACE={type:3,value:"BRACE"},kt.CHORD={type:3,value:"CHORD"},kt.COLLAR={type:3,value:"COLLAR"},kt.MEMBER={type:3,value:"MEMBER"},kt.MULLION={type:3,value:"MULLION"},kt.PLATE={type:3,value:"PLATE"},kt.POST={type:3,value:"POST"},kt.PURLIN={type:3,value:"PURLIN"},kt.RAFTER={type:3,value:"RAFTER"},kt.STRINGER={type:3,value:"STRINGER"},kt.STRUT={type:3,value:"STRUT"},kt.STUD={type:3,value:"STUD"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $o=kt;t.IfcMemberTypeEnum=$o;let zs=class{};zs.BELTDRIVE={type:3,value:"BELTDRIVE"},zs.COUPLING={type:3,value:"COUPLING"},zs.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let xh=zs;t.IfcMotorConnectionTypeEnum=xh;let Ke=class{};Ke.NULL={type:3,value:"NULL"};let ec=Ke;t.IfcNullStyle=ec;let ks=class{};ks.PRODUCT={type:3,value:"PRODUCT"},ks.PROCESS={type:3,value:"PROCESS"},ks.CONTROL={type:3,value:"CONTROL"},ks.RESOURCE={type:3,value:"RESOURCE"},ks.ACTOR={type:3,value:"ACTOR"},ks.GROUP={type:3,value:"GROUP"},ks.PROJECT={type:3,value:"PROJECT"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let tc=ks;t.IfcObjectTypeEnum=tc;let As=class{};As.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},As.DESIGNINTENT={type:3,value:"DESIGNINTENT"},As.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},As.REQUIREMENT={type:3,value:"REQUIREMENT"},As.SPECIFICATION={type:3,value:"SPECIFICATION"},As.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let sc=As;t.IfcObjectiveEnum=sc;let gs=class{};gs.ASSIGNEE={type:3,value:"ASSIGNEE"},gs.ASSIGNOR={type:3,value:"ASSIGNOR"},gs.LESSEE={type:3,value:"LESSEE"},gs.LESSOR={type:3,value:"LESSOR"},gs.LETTINGAGENT={type:3,value:"LETTINGAGENT"},gs.OWNER={type:3,value:"OWNER"},gs.TENANT={type:3,value:"TENANT"},gs.USERDEFINED={type:3,value:"USERDEFINED"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ml=gs;t.IfcOccupantTypeEnum=Ml;let Ps=class{};Ps.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ps.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ps.POWEROUTLET={type:3,value:"POWEROUTLET"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let nu=Ps;t.IfcOutletTypeEnum=nu;let Wr=class{};Wr.GRILL={type:3,value:"GRILL"},Wr.LOUVER={type:3,value:"LOUVER"},Wr.SCREEN={type:3,value:"SCREEN"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ae=Wr;t.IfcPermeableCoveringOperationEnum=Ae;let hi=class{};hi.PHYSICAL={type:3,value:"PHYSICAL"},hi.VIRTUAL={type:3,value:"VIRTUAL"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let io=hi;t.IfcPhysicalOrVirtualEnum=io;let Di=class{};Di.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Di.COMPOSITE={type:3,value:"COMPOSITE"},Di.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Di.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let _h=Di;t.IfcPileConstructionEnum=_h;let Mt=class{};Mt.COHESION={type:3,value:"COHESION"},Mt.FRICTION={type:3,value:"FRICTION"},Mt.SUPPORT={type:3,value:"SUPPORT"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mh=Mt;t.IfcPileTypeEnum=Mh;let Ss=class{};Ss.BEND={type:3,value:"BEND"},Ss.CONNECTOR={type:3,value:"CONNECTOR"},Ss.ENTRY={type:3,value:"ENTRY"},Ss.EXIT={type:3,value:"EXIT"},Ss.JUNCTION={type:3,value:"JUNCTION"},Ss.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ss.TRANSITION={type:3,value:"TRANSITION"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let ic=Ss;t.IfcPipeFittingTypeEnum=ic;let Cs=class{};Cs.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Cs.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Cs.GUTTER={type:3,value:"GUTTER"},Cs.SPOOL={type:3,value:"SPOOL"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let rc=Cs;t.IfcPipeSegmentTypeEnum=rc;let Ui=class{};Ui.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ui.SHEET={type:3,value:"SHEET"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fh=Ui;t.IfcPlateTypeEnum=Fh;let Ai=class{};Ai.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ai.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ai.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ai.CALIBRATION={type:3,value:"CALIBRATION"},Ai.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ai.SHUTDOWN={type:3,value:"SHUTDOWN"},Ai.STARTUP={type:3,value:"STARTUP"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let MI=Ai;t.IfcProcedureTypeEnum=MI;let dn=class{};dn.CURVE={type:3,value:"CURVE"},dn.AREA={type:3,value:"AREA"};let FI=dn;t.IfcProfileTypeEnum=FI;let Vt=class{};Vt.CHANGE={type:3,value:"CHANGE"},Vt.MAINTENANCE={type:3,value:"MAINTENANCE"},Vt.MOVE={type:3,value:"MOVE"},Vt.PURCHASE={type:3,value:"PURCHASE"},Vt.WORK={type:3,value:"WORK"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"};let UI=Vt;t.IfcProjectOrderRecordTypeEnum=UI;let Zt=class{};Zt.CHANGEORDER={type:3,value:"CHANGEORDER"},Zt.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Zt.MOVEORDER={type:3,value:"MOVEORDER"},Zt.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Zt.WORKORDER={type:3,value:"WORKORDER"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let wI=Zt;t.IfcProjectOrderTypeEnum=wI;let ca=class{};ca.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ca.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let GI=ca;t.IfcProjectedOrTrueLengthEnum=GI;let wi=class{};wi.DESIGN={type:3,value:"DESIGN"},wi.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},wi.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},wi.SIMULATED={type:3,value:"SIMULATED"},wi.ASBUILT={type:3,value:"ASBUILT"},wi.COMMISSIONING={type:3,value:"COMMISSIONING"},wi.MEASURED={type:3,value:"MEASURED"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTKNOWN={type:3,value:"NOTKNOWN"};let HI=wi;t.IfcPropertySourceEnum=HI;let ss=class{};ss.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ss.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ss.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},ss.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ss.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ss.VARISTOR={type:3,value:"VARISTOR"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let BI=ss;t.IfcProtectiveDeviceTypeEnum=BI;let gr=class{};gr.CIRCULATOR={type:3,value:"CIRCULATOR"},gr.ENDSUCTION={type:3,value:"ENDSUCTION"},gr.SPLITCASE={type:3,value:"SPLITCASE"},gr.VERTICALINLINE={type:3,value:"VERTICALINLINE"},gr.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"};let VI=gr;t.IfcPumpTypeEnum=VI;let qi=class{};qi.HANDRAIL={type:3,value:"HANDRAIL"},qi.GUARDRAIL={type:3,value:"GUARDRAIL"},qi.BALUSTRADE={type:3,value:"BALUSTRADE"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let WI=qi;t.IfcRailingTypeEnum=WI;let Nn=class{};Nn.STRAIGHT={type:3,value:"STRAIGHT"},Nn.SPIRAL={type:3,value:"SPIRAL"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let jI=Nn;t.IfcRampFlightTypeEnum=jI;let li=class{};li.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},li.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},li.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},li.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},li.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},li.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let YI=li;t.IfcRampTypeEnum=YI;let si=class{};si.BLINN={type:3,value:"BLINN"},si.FLAT={type:3,value:"FLAT"},si.GLASS={type:3,value:"GLASS"},si.MATT={type:3,value:"MATT"},si.METAL={type:3,value:"METAL"},si.MIRROR={type:3,value:"MIRROR"},si.PHONG={type:3,value:"PHONG"},si.PLASTIC={type:3,value:"PLASTIC"},si.STRAUSS={type:3,value:"STRAUSS"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let zI=si;t.IfcReflectanceMethodEnum=zI;let hs=class{};hs.MAIN={type:3,value:"MAIN"},hs.SHEAR={type:3,value:"SHEAR"},hs.LIGATURE={type:3,value:"LIGATURE"},hs.STUD={type:3,value:"STUD"},hs.PUNCHING={type:3,value:"PUNCHING"},hs.EDGE={type:3,value:"EDGE"},hs.RING={type:3,value:"RING"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let kI=hs;t.IfcReinforcingBarRoleEnum=kI;let pi=class{};pi.PLAIN={type:3,value:"PLAIN"},pi.TEXTURED={type:3,value:"TEXTURED"};let XI=pi;t.IfcReinforcingBarSurfaceEnum=XI;let nn=class{};nn.CONSUMED={type:3,value:"CONSUMED"},nn.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},nn.NOTCONSUMED={type:3,value:"NOTCONSUMED"},nn.OCCUPIED={type:3,value:"OCCUPIED"},nn.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},nn.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let KI=nn;t.IfcResourceConsumptionEnum=KI;let jr=class{};jr.DIRECTION_X={type:3,value:"DIRECTION_X"},jr.DIRECTION_Y={type:3,value:"DIRECTION_Y"};let ZI=jr;t.IfcRibPlateDirectionEnum=ZI;let ut=class{};ut.SUPPLIER={type:3,value:"SUPPLIER"},ut.MANUFACTURER={type:3,value:"MANUFACTURER"},ut.CONTRACTOR={type:3,value:"CONTRACTOR"},ut.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},ut.ARCHITECT={type:3,value:"ARCHITECT"},ut.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},ut.COSTENGINEER={type:3,value:"COSTENGINEER"},ut.CLIENT={type:3,value:"CLIENT"},ut.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},ut.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},ut.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},ut.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},ut.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},ut.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},ut.CIVILENGINEER={type:3,value:"CIVILENGINEER"},ut.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},ut.ENGINEER={type:3,value:"ENGINEER"},ut.OWNER={type:3,value:"OWNER"},ut.CONSULTANT={type:3,value:"CONSULTANT"},ut.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},ut.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},ut.RESELLER={type:3,value:"RESELLER"},ut.USERDEFINED={type:3,value:"USERDEFINED"};let qI=ut;t.IfcRoleEnum=qI;let ls=class{};ls.FLAT_ROOF={type:3,value:"FLAT_ROOF"},ls.SHED_ROOF={type:3,value:"SHED_ROOF"},ls.GABLE_ROOF={type:3,value:"GABLE_ROOF"},ls.HIP_ROOF={type:3,value:"HIP_ROOF"},ls.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},ls.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},ls.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},ls.BARREL_ROOF={type:3,value:"BARREL_ROOF"},ls.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},ls.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},ls.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},ls.DOME_ROOF={type:3,value:"DOME_ROOF"},ls.FREEFORM={type:3,value:"FREEFORM"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let QI=ls;t.IfcRoofTypeEnum=QI;let Xs=class{};Xs.EXA={type:3,value:"EXA"},Xs.PETA={type:3,value:"PETA"},Xs.TERA={type:3,value:"TERA"},Xs.GIGA={type:3,value:"GIGA"},Xs.MEGA={type:3,value:"MEGA"},Xs.KILO={type:3,value:"KILO"},Xs.HECTO={type:3,value:"HECTO"},Xs.DECA={type:3,value:"DECA"},Xs.DECI={type:3,value:"DECI"},Xs.CENTI={type:3,value:"CENTI"},Xs.MILLI={type:3,value:"MILLI"},Xs.MICRO={type:3,value:"MICRO"},Xs.NANO={type:3,value:"NANO"},Xs.PICO={type:3,value:"PICO"},Xs.FEMTO={type:3,value:"FEMTO"},Xs.ATTO={type:3,value:"ATTO"};let JI=Xs;t.IfcSIPrefix=JI;let ft=class{};ft.AMPERE={type:3,value:"AMPERE"},ft.BECQUEREL={type:3,value:"BECQUEREL"},ft.CANDELA={type:3,value:"CANDELA"},ft.COULOMB={type:3,value:"COULOMB"},ft.CUBIC_METRE={type:3,value:"CUBIC_METRE"},ft.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},ft.FARAD={type:3,value:"FARAD"},ft.GRAM={type:3,value:"GRAM"},ft.GRAY={type:3,value:"GRAY"},ft.HENRY={type:3,value:"HENRY"},ft.HERTZ={type:3,value:"HERTZ"},ft.JOULE={type:3,value:"JOULE"},ft.KELVIN={type:3,value:"KELVIN"},ft.LUMEN={type:3,value:"LUMEN"},ft.LUX={type:3,value:"LUX"},ft.METRE={type:3,value:"METRE"},ft.MOLE={type:3,value:"MOLE"},ft.NEWTON={type:3,value:"NEWTON"},ft.OHM={type:3,value:"OHM"},ft.PASCAL={type:3,value:"PASCAL"},ft.RADIAN={type:3,value:"RADIAN"},ft.SECOND={type:3,value:"SECOND"},ft.SIEMENS={type:3,value:"SIEMENS"},ft.SIEVERT={type:3,value:"SIEVERT"},ft.SQUARE_METRE={type:3,value:"SQUARE_METRE"},ft.STERADIAN={type:3,value:"STERADIAN"},ft.TESLA={type:3,value:"TESLA"},ft.VOLT={type:3,value:"VOLT"},ft.WATT={type:3,value:"WATT"},ft.WEBER={type:3,value:"WEBER"};let $I=ft;t.IfcSIUnitName=$I;let Er=class{};Er.BATH={type:3,value:"BATH"},Er.BIDET={type:3,value:"BIDET"},Er.CISTERN={type:3,value:"CISTERN"},Er.SHOWER={type:3,value:"SHOWER"},Er.SINK={type:3,value:"SINK"},Er.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Er.TOILETPAN={type:3,value:"TOILETPAN"},Er.URINAL={type:3,value:"URINAL"},Er.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Er.WCSEAT={type:3,value:"WCSEAT"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"};let ey=Er;t.IfcSanitaryTerminalTypeEnum=ey;let ps=class{};ps.UNIFORM={type:3,value:"UNIFORM"},ps.TAPERED={type:3,value:"TAPERED"};let ty=ps;t.IfcSectionTypeEnum=ty;let Xt=class{};Xt.CO2SENSOR={type:3,value:"CO2SENSOR"},Xt.FIRESENSOR={type:3,value:"FIRESENSOR"},Xt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Xt.GASSENSOR={type:3,value:"GASSENSOR"},Xt.HEATSENSOR={type:3,value:"HEATSENSOR"},Xt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Xt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Xt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Xt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Xt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Xt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Xt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Xt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let sy=Xt;t.IfcSensorTypeEnum=sy;let ha=class{};ha.START_START={type:3,value:"START_START"},ha.START_FINISH={type:3,value:"START_FINISH"},ha.FINISH_START={type:3,value:"FINISH_START"},ha.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"};let iy=ha;t.IfcSequenceEnum=iy;let Qi=class{};Qi.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Qi.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Qi.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Qi.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Qi.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Qi.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Qi.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ry=Qi;t.IfcServiceLifeFactorTypeEnum=ry;let Ks=class{};Ks.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Ks.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Ks.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Ks.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Ks.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"};let ny=Ks;t.IfcServiceLifeTypeEnum=ny;let Gi=class{};Gi.FLOOR={type:3,value:"FLOOR"},Gi.ROOF={type:3,value:"ROOF"},Gi.LANDING={type:3,value:"LANDING"},Gi.BASESLAB={type:3,value:"BASESLAB"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ay=Gi;t.IfcSlabTypeEnum=ay;let Ir=class{};Ir.DBA={type:3,value:"DBA"},Ir.DBB={type:3,value:"DBB"},Ir.DBC={type:3,value:"DBC"},Ir.NC={type:3,value:"NC"},Ir.NR={type:3,value:"NR"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let oy=Ir;t.IfcSoundScaleEnum=oy;let yr=class{};yr.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},yr.PANELRADIATOR={type:3,value:"PANELRADIATOR"},yr.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},yr.CONVECTOR={type:3,value:"CONVECTOR"},yr.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},yr.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},yr.UNITHEATER={type:3,value:"UNITHEATER"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cy=yr;t.IfcSpaceHeaterTypeEnum=cy;let Sa=class{};Sa.USERDEFINED={type:3,value:"USERDEFINED"},Sa.NOTDEFINED={type:3,value:"NOTDEFINED"};let hy=Sa;t.IfcSpaceTypeEnum=hy;let Pt=class{};Pt.BIRDCAGE={type:3,value:"BIRDCAGE"},Pt.COWL={type:3,value:"COWL"},Pt.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ly=Pt;t.IfcStackTerminalTypeEnum=ly;let xt=class{};xt.STRAIGHT={type:3,value:"STRAIGHT"},xt.WINDER={type:3,value:"WINDER"},xt.SPIRAL={type:3,value:"SPIRAL"},xt.CURVED={type:3,value:"CURVED"},xt.FREEFORM={type:3,value:"FREEFORM"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let py=xt;t.IfcStairFlightTypeEnum=py;let It=class{};It.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},It.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},It.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},It.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},It.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},It.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},It.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},It.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},It.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},It.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},It.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},It.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},It.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},It.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let uy=It;t.IfcStairTypeEnum=uy;let Rn=class{};Rn.READWRITE={type:3,value:"READWRITE"},Rn.READONLY={type:3,value:"READONLY"},Rn.LOCKED={type:3,value:"LOCKED"},Rn.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Rn.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let Ey=Rn;t.IfcStateEnum=Ey;let qt=class{};qt.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},qt.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},qt.CABLE={type:3,value:"CABLE"},qt.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},qt.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Iy=qt;t.IfcStructuralCurveTypeEnum=Iy;let us=class{};us.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},us.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},us.SHELL={type:3,value:"SHELL"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let yy=us;t.IfcStructuralSurfaceTypeEnum=yy;let Yr=class{};Yr.POSITIVE={type:3,value:"POSITIVE"},Yr.NEGATIVE={type:3,value:"NEGATIVE"},Yr.BOTH={type:3,value:"BOTH"};let Ty=Yr;t.IfcSurfaceSide=Ty;let ii=class{};ii.BUMP={type:3,value:"BUMP"},ii.OPACITY={type:3,value:"OPACITY"},ii.REFLECTION={type:3,value:"REFLECTION"},ii.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},ii.SHININESS={type:3,value:"SHININESS"},ii.SPECULAR={type:3,value:"SPECULAR"},ii.TEXTURE={type:3,value:"TEXTURE"},ii.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let dy=ii;t.IfcSurfaceTextureEnum=dy;let Hi=class{};Hi.CONTACTOR={type:3,value:"CONTACTOR"},Hi.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Hi.STARTER={type:3,value:"STARTER"},Hi.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Hi.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ny=Hi;t.IfcSwitchingDeviceTypeEnum=Ny;let Zs=class{};Zs.PREFORMED={type:3,value:"PREFORMED"},Zs.SECTIONAL={type:3,value:"SECTIONAL"},Zs.EXPANSION={type:3,value:"EXPANSION"},Zs.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Zs.USERDEFINED={type:3,value:"USERDEFINED"},Zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ry=Zs;t.IfcTankTypeEnum=Ry;let Ji=class{};Ji.STRAND={type:3,value:"STRAND"},Ji.WIRE={type:3,value:"WIRE"},Ji.BAR={type:3,value:"BAR"},Ji.COATED={type:3,value:"COATED"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let fy=Ji;t.IfcTendonTypeEnum=fy;let zr=class{};zr.LEFT={type:3,value:"LEFT"},zr.RIGHT={type:3,value:"RIGHT"},zr.UP={type:3,value:"UP"},zr.DOWN={type:3,value:"DOWN"};let Oy=zr;t.IfcTextPath=Oy;let Es=class{};Es.PEOPLE={type:3,value:"PEOPLE"},Es.LIGHTING={type:3,value:"LIGHTING"},Es.EQUIPMENT={type:3,value:"EQUIPMENT"},Es.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Es.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Es.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Es.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Es.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Es.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Es.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Es.INFILTRATION={type:3,value:"INFILTRATION"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"};let my=Es;t.IfcThermalLoadSourceEnum=my;let Tr=class{};Tr.SENSIBLE={type:3,value:"SENSIBLE"},Tr.LATENT={type:3,value:"LATENT"},Tr.RADIANT={type:3,value:"RADIANT"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dy=Tr;t.IfcThermalLoadTypeEnum=Dy;let $i=class{};$i.CONTINUOUS={type:3,value:"CONTINUOUS"},$i.DISCRETE={type:3,value:"DISCRETE"},$i.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},$i.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},$i.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},$i.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ay=$i;t.IfcTimeSeriesDataTypeEnum=Ay;let wn=class{};wn.ANNUAL={type:3,value:"ANNUAL"},wn.MONTHLY={type:3,value:"MONTHLY"},wn.WEEKLY={type:3,value:"WEEKLY"},wn.DAILY={type:3,value:"DAILY"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sy=wn;t.IfcTimeSeriesScheduleTypeEnum=Sy;let Bi=class{};Bi.CURRENT={type:3,value:"CURRENT"},Bi.FREQUENCY={type:3,value:"FREQUENCY"},Bi.VOLTAGE={type:3,value:"VOLTAGE"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cy=Bi;t.IfcTransformerTypeEnum=Cy;let Ba=class{};Ba.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Ba.CONTINUOUS={type:3,value:"CONTINUOUS"},Ba.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Ba.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let vy=Ba;t.IfcTransitionCode=vy;let Ft=class{};Ft.ELEVATOR={type:3,value:"ELEVATOR"},Ft.ESCALATOR={type:3,value:"ESCALATOR"},Ft.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let by=Ft;t.IfcTransportElementTypeEnum=by;let xs=class{};xs.CARTESIAN={type:3,value:"CARTESIAN"},xs.PARAMETER={type:3,value:"PARAMETER"},xs.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Ly=xs;t.IfcTrimmingPreference=Ly;let Is=class{};Is.FINNED={type:3,value:"FINNED"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let gy=Is;t.IfcTubeBundleTypeEnum=gy;let Me=class{};Me.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Me.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Me.AREAUNIT={type:3,value:"AREAUNIT"},Me.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Me.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Me.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Me.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Me.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Me.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Me.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Me.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Me.FORCEUNIT={type:3,value:"FORCEUNIT"},Me.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Me.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Me.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Me.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Me.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Me.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Me.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Me.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Me.MASSUNIT={type:3,value:"MASSUNIT"},Me.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Me.POWERUNIT={type:3,value:"POWERUNIT"},Me.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Me.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Me.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Me.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Me.TIMEUNIT={type:3,value:"TIMEUNIT"},Me.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Me.USERDEFINED={type:3,value:"USERDEFINED"};let Py=Me;t.IfcUnitEnum=Py;let is=class{};is.AIRHANDLER={type:3,value:"AIRHANDLER"},is.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},is.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},is.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"};let xy=is;t.IfcUnitaryEquipmentTypeEnum=xy;let ys=class{};ys.AIRRELEASE={type:3,value:"AIRRELEASE"},ys.ANTIVACUUM={type:3,value:"ANTIVACUUM"},ys.CHANGEOVER={type:3,value:"CHANGEOVER"},ys.CHECK={type:3,value:"CHECK"},ys.COMMISSIONING={type:3,value:"COMMISSIONING"},ys.DIVERTING={type:3,value:"DIVERTING"},ys.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},ys.DOUBLECHECK={type:3,value:"DOUBLECHECK"},ys.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},ys.FAUCET={type:3,value:"FAUCET"},ys.FLUSHING={type:3,value:"FLUSHING"},ys.GASCOCK={type:3,value:"GASCOCK"},ys.GASTAP={type:3,value:"GASTAP"},ys.ISOLATING={type:3,value:"ISOLATING"},ys.MIXING={type:3,value:"MIXING"},ys.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},ys.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},ys.REGULATING={type:3,value:"REGULATING"},ys.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},ys.STEAMTRAP={type:3,value:"STEAMTRAP"},ys.STOPCOCK={type:3,value:"STOPCOCK"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let _y=ys;t.IfcValveTypeEnum=_y;let Ot=class{};Ot.COMPRESSION={type:3,value:"COMPRESSION"},Ot.SPRING={type:3,value:"SPRING"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"};let My=Ot;t.IfcVibrationIsolatorTypeEnum=My;let an=class{};an.STANDARD={type:3,value:"STANDARD"},an.POLYGONAL={type:3,value:"POLYGONAL"},an.SHEAR={type:3,value:"SHEAR"},an.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},an.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fy=an;t.IfcWallTypeEnum=Fy;let qs=class{};qs.FLOORTRAP={type:3,value:"FLOORTRAP"},qs.FLOORWASTE={type:3,value:"FLOORWASTE"},qs.GULLYSUMP={type:3,value:"GULLYSUMP"},qs.GULLYTRAP={type:3,value:"GULLYTRAP"},qs.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},qs.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},qs.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},qs.ROOFDRAIN={type:3,value:"ROOFDRAIN"},qs.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},qs.WASTETRAP={type:3,value:"WASTETRAP"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uy=qs;t.IfcWasteTerminalTypeEnum=Uy;let Ts=class{};Ts.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Ts.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Ts.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Ts.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Ts.TOPHUNG={type:3,value:"TOPHUNG"},Ts.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Ts.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Ts.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Ts.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Ts.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Ts.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Ts.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Ts.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let wy=Ts;t.IfcWindowPanelOperationEnum=wy;let kr=class{};kr.LEFT={type:3,value:"LEFT"},kr.MIDDLE={type:3,value:"MIDDLE"},kr.RIGHT={type:3,value:"RIGHT"},kr.BOTTOM={type:3,value:"BOTTOM"},kr.TOP={type:3,value:"TOP"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gy=kr;t.IfcWindowPanelPositionEnum=Gy;let ui=class{};ui.ALUMINIUM={type:3,value:"ALUMINIUM"},ui.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ui.STEEL={type:3,value:"STEEL"},ui.WOOD={type:3,value:"WOOD"},ui.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ui.PLASTIC={type:3,value:"PLASTIC"},ui.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hy=ui;t.IfcWindowStyleConstructionEnum=Hy;let Si=class{};Si.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Si.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Si.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Si.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Si.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Si.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Si.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Si.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Si.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"};let By=Si;t.IfcWindowStyleOperationEnum=By;let Qs=class{};Qs.ACTUAL={type:3,value:"ACTUAL"},Qs.BASELINE={type:3,value:"BASELINE"},Qs.PLANNED={type:3,value:"PLANNED"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vy=Qs;t.IfcWorkControlTypeEnum=Vy,t.IfcActorRole=class extends ae{constructor(N,T,O){super(),this.Role=N,this.UserDefinedRole=T,this.Description=O,this.type=3630933823}};class Ci extends ae{constructor(T,O,S){super(),this.Purpose=T,this.Description=O,this.UserDefinedPurpose=S,this.type=618182010}}t.IfcAddress=Ci,t.IfcApplication=class extends ae{constructor(N,T,O,S){super(),this.ApplicationDeveloper=N,this.Version=T,this.ApplicationFullName=O,this.ApplicationIdentifier=S,this.type=639542469}};class au extends ae{constructor(T,O,S,L,x,F){super(),this.Name=T,this.Description=O,this.AppliedValue=S,this.UnitBasis=L,this.ApplicableDate=x,this.FixedUntilDate=F,this.type=411424972}}t.IfcAppliedValue=au,t.IfcAppliedValueRelationship=class extends ae{constructor(N,T,O,S,L){super(),this.ComponentOfTotal=N,this.Components=T,this.ArithmeticOperator=O,this.Name=S,this.Description=L,this.type=1110488051}},t.IfcApproval=class extends ae{constructor(N,T,O,S,L,x,F){super(),this.Description=N,this.ApprovalDateTime=T,this.ApprovalStatus=O,this.ApprovalLevel=S,this.ApprovalQualifier=L,this.Name=x,this.Identifier=F,this.type=130549933}},t.IfcApprovalActorRelationship=class extends ae{constructor(N,T,O){super(),this.Actor=N,this.Approval=T,this.Role=O,this.type=2080292479}},t.IfcApprovalPropertyRelationship=class extends ae{constructor(N,T){super(),this.ApprovedProperties=N,this.Approval=T,this.type=390851274}},t.IfcApprovalRelationship=class extends ae{constructor(N,T,O,S){super(),this.RelatedApproval=N,this.RelatingApproval=T,this.Description=O,this.Name=S,this.type=3869604511}};class Xr extends ae{constructor(T){super(),this.Name=T,this.type=4037036970}}t.IfcBoundaryCondition=Xr,t.IfcBoundaryEdgeCondition=class extends Xr{constructor(N,T,O,S,L,x,F){super(N),this.Name=N,this.LinearStiffnessByLengthX=T,this.LinearStiffnessByLengthY=O,this.LinearStiffnessByLengthZ=S,this.RotationalStiffnessByLengthX=L,this.RotationalStiffnessByLengthY=x,this.RotationalStiffnessByLengthZ=F,this.type=1560379544}},t.IfcBoundaryFaceCondition=class extends Xr{constructor(N,T,O,S){super(N),this.Name=N,this.LinearStiffnessByAreaX=T,this.LinearStiffnessByAreaY=O,this.LinearStiffnessByAreaZ=S,this.type=3367102660}};class $u extends Xr{constructor(T,O,S,L,x,F,U){super(T),this.Name=T,this.LinearStiffnessX=O,this.LinearStiffnessY=S,this.LinearStiffnessZ=L,this.RotationalStiffnessX=x,this.RotationalStiffnessY=F,this.RotationalStiffnessZ=U,this.type=1387855156}}t.IfcBoundaryNodeCondition=$u,t.IfcBoundaryNodeConditionWarping=class extends $u{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F),this.Name=N,this.LinearStiffnessX=T,this.LinearStiffnessY=O,this.LinearStiffnessZ=S,this.RotationalStiffnessX=L,this.RotationalStiffnessY=x,this.RotationalStiffnessZ=F,this.WarpingStiffness=U,this.type=2069777674}},t.IfcCalendarDate=class extends ae{constructor(N,T,O){super(),this.DayComponent=N,this.MonthComponent=T,this.YearComponent=O,this.type=622194075}},t.IfcClassification=class extends ae{constructor(N,T,O,S){super(),this.Source=N,this.Edition=T,this.EditionDate=O,this.Name=S,this.type=747523909}},t.IfcClassificationItem=class extends ae{constructor(N,T,O){super(),this.Notation=N,this.ItemOf=T,this.Title=O,this.type=1767535486}},t.IfcClassificationItemRelationship=class extends ae{constructor(N,T){super(),this.RelatingItem=N,this.RelatedItems=T,this.type=1098599126}},t.IfcClassificationNotation=class extends ae{constructor(N){super(),this.NotationFacets=N,this.type=938368621}},t.IfcClassificationNotationFacet=class extends ae{constructor(N){super(),this.NotationValue=N,this.type=3639012971}};class fn extends ae{constructor(T){super(),this.Name=T,this.type=3264961684}}t.IfcColourSpecification=fn;class Uh extends ae{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=Uh;class ds extends Uh{constructor(T,O){super(),this.PointOnRelatingElement=T,this.PointOnRelatedElement=O,this.type=2614616156}}t.IfcConnectionPointGeometry=ds,t.IfcConnectionPortGeometry=class extends Uh{constructor(N,T,O){super(),this.LocationAtRelatingElement=N,this.LocationAtRelatedElement=T,this.ProfileOfPort=O,this.type=4257277454}},t.IfcConnectionSurfaceGeometry=class extends Uh{constructor(N,T){super(),this.SurfaceOnRelatingElement=N,this.SurfaceOnRelatedElement=T,this.type=2732653382}};class ou extends ae{constructor(T,O,S,L,x,F,U){super(),this.Name=T,this.Description=O,this.ConstraintGrade=S,this.ConstraintSource=L,this.CreatingActor=x,this.CreationTime=F,this.UserDefinedGrade=U,this.type=1959218052}}t.IfcConstraint=ou,t.IfcConstraintAggregationRelationship=class extends ae{constructor(N,T,O,S,L){super(),this.Name=N,this.Description=T,this.RelatingConstraint=O,this.RelatedConstraints=S,this.LogicalAggregator=L,this.type=1658513725}},t.IfcConstraintClassificationRelationship=class extends ae{constructor(N,T){super(),this.ClassifiedConstraint=N,this.RelatedClassifications=T,this.type=613356794}},t.IfcConstraintRelationship=class extends ae{constructor(N,T,O,S){super(),this.Name=N,this.Description=T,this.RelatingConstraint=O,this.RelatedConstraints=S,this.type=347226245}},t.IfcCoordinatedUniversalTimeOffset=class extends ae{constructor(N,T,O){super(),this.HourOffset=N,this.MinuteOffset=T,this.Sense=O,this.type=1065062679}},t.IfcCostValue=class extends au{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x),this.Name=N,this.Description=T,this.AppliedValue=O,this.UnitBasis=S,this.ApplicableDate=L,this.FixedUntilDate=x,this.CostType=F,this.Condition=U,this.type=602808272}},t.IfcCurrencyRelationship=class extends ae{constructor(N,T,O,S,L){super(),this.RelatingMonetaryUnit=N,this.RelatedMonetaryUnit=T,this.ExchangeRate=O,this.RateDateTime=S,this.RateSource=L,this.type=539742890}},t.IfcCurveStyleFont=class extends ae{constructor(N,T){super(),this.Name=N,this.PatternList=T,this.type=1105321065}},t.IfcCurveStyleFontAndScaling=class extends ae{constructor(N,T,O){super(),this.Name=N,this.CurveFont=T,this.CurveFontScaling=O,this.type=2367409068}},t.IfcCurveStyleFontPattern=class extends ae{constructor(N,T){super(),this.VisibleSegmentLength=N,this.InvisibleSegmentLength=T,this.type=3510044353}},t.IfcDateAndTime=class extends ae{constructor(N,T){super(),this.DateComponent=N,this.TimeComponent=T,this.type=1072939445}},t.IfcDerivedUnit=class extends ae{constructor(N,T,O){super(),this.Elements=N,this.UnitType=T,this.UserDefinedType=O,this.type=1765591967}},t.IfcDerivedUnitElement=class extends ae{constructor(N,T){super(),this.Unit=N,this.Exponent=T,this.type=1045800335}},t.IfcDimensionalExponents=class extends ae{constructor(N,T,O,S,L,x,F){super(),this.LengthExponent=N,this.MassExponent=T,this.TimeExponent=O,this.ElectricCurrentExponent=S,this.ThermodynamicTemperatureExponent=L,this.AmountOfSubstanceExponent=x,this.LuminousIntensityExponent=F,this.type=2949456006}},t.IfcDocumentElectronicFormat=class extends ae{constructor(N,T,O){super(),this.FileExtension=N,this.MimeContentType=T,this.MimeSubtype=O,this.type=1376555844}},t.IfcDocumentInformation=class extends ae{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr){super(),this.DocumentId=N,this.Name=T,this.Description=O,this.DocumentReferences=S,this.Purpose=L,this.IntendedUse=x,this.Scope=F,this.Revision=U,this.DocumentOwner=B,this.Editors=Z,this.CreationTime=de,this.LastRevisionTime=ve,this.ElectronicFormat=Ve,this.ValidFrom=Ze,this.ValidUntil=Jt,this.Confidentiality=Pi,this.Status=wr,this.type=1154170062}},t.IfcDocumentInformationRelationship=class extends ae{constructor(N,T,O){super(),this.RelatingDocument=N,this.RelatedDocuments=T,this.RelationshipType=O,this.type=770865208}};class Va extends ae{constructor(T,O,S,L){super(),this.Name=T,this.Description=O,this.RelatingDraughtingCallout=S,this.RelatedDraughtingCallout=L,this.type=3796139169}}t.IfcDraughtingCalloutRelationship=Va,t.IfcEnvironmentalImpactValue=class extends au{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x),this.Name=N,this.Description=T,this.AppliedValue=O,this.UnitBasis=S,this.ApplicableDate=L,this.FixedUntilDate=x,this.ImpactType=F,this.Category=U,this.UserDefinedCategory=B,this.type=1648886627}};class mo extends ae{constructor(T,O,S){super(),this.Location=T,this.ItemReference=O,this.Name=S,this.type=3200245327}}t.IfcExternalReference=mo,t.IfcExternallyDefinedHatchStyle=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=2242383968}},t.IfcExternallyDefinedSurfaceStyle=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=1040185647}},t.IfcExternallyDefinedSymbol=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=3207319532}},t.IfcExternallyDefinedTextFont=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=3548104201}},t.IfcGridAxis=class extends ae{constructor(N,T,O){super(),this.AxisTag=N,this.AxisCurve=T,this.SameSense=O,this.type=852622518}},t.IfcIrregularTimeSeriesValue=class extends ae{constructor(N,T){super(),this.TimeStamp=N,this.ListValues=T,this.type=3020489413}},t.IfcLibraryInformation=class extends ae{constructor(N,T,O,S,L){super(),this.Name=N,this.Version=T,this.Publisher=O,this.VersionDate=S,this.LibraryReference=L,this.type=2655187982}},t.IfcLibraryReference=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=3452421091}},t.IfcLightDistributionData=class extends ae{constructor(N,T,O){super(),this.MainPlaneAngle=N,this.SecondaryPlaneAngle=T,this.LuminousIntensity=O,this.type=4162380809}},t.IfcLightIntensityDistribution=class extends ae{constructor(N,T){super(),this.LightDistributionCurve=N,this.DistributionData=T,this.type=1566485204}},t.IfcLocalTime=class extends ae{constructor(N,T,O,S,L){super(),this.HourComponent=N,this.MinuteComponent=T,this.SecondComponent=O,this.Zone=S,this.DaylightSavingOffset=L,this.type=30780891}},t.IfcMaterial=class extends ae{constructor(N){super(),this.Name=N,this.type=1838606355}},t.IfcMaterialClassificationRelationship=class extends ae{constructor(N,T){super(),this.MaterialClassifications=N,this.ClassifiedMaterial=T,this.type=1847130766}},t.IfcMaterialLayer=class extends ae{constructor(N,T,O){super(),this.Material=N,this.LayerThickness=T,this.IsVentilated=O,this.type=248100487}},t.IfcMaterialLayerSet=class extends ae{constructor(N,T){super(),this.MaterialLayers=N,this.LayerSetName=T,this.type=3303938423}},t.IfcMaterialLayerSetUsage=class extends ae{constructor(N,T,O,S){super(),this.ForLayerSet=N,this.LayerSetDirection=T,this.DirectionSense=O,this.OffsetFromReferenceLine=S,this.type=1303795690}},t.IfcMaterialList=class extends ae{constructor(N){super(),this.Materials=N,this.type=2199411900}};class Ei extends ae{constructor(T){super(),this.Material=T,this.type=3265635763}}t.IfcMaterialProperties=Ei,t.IfcMeasureWithUnit=class extends ae{constructor(N,T){super(),this.ValueComponent=N,this.UnitComponent=T,this.type=2597039031}};class cu extends Ei{constructor(T,O,S,L,x,F){super(T),this.Material=T,this.DynamicViscosity=O,this.YoungModulus=S,this.ShearModulus=L,this.PoissonRatio=x,this.ThermalExpansionCoefficient=F,this.type=4256014907}}t.IfcMechanicalMaterialProperties=cu,t.IfcMechanicalSteelMaterialProperties=class extends cu{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O,S,L,x),this.Material=N,this.DynamicViscosity=T,this.YoungModulus=O,this.ShearModulus=S,this.PoissonRatio=L,this.ThermalExpansionCoefficient=x,this.YieldStress=F,this.UltimateStress=U,this.UltimateStrain=B,this.HardeningModule=Z,this.ProportionalStress=de,this.PlasticStrain=ve,this.Relaxations=Ve,this.type=677618848}},t.IfcMetric=class extends ou{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F),this.Name=N,this.Description=T,this.ConstraintGrade=O,this.ConstraintSource=S,this.CreatingActor=L,this.CreationTime=x,this.UserDefinedGrade=F,this.Benchmark=U,this.ValueSource=B,this.DataValue=Z,this.type=3368373690}},t.IfcMonetaryUnit=class extends ae{constructor(N){super(),this.Currency=N,this.type=2706619895}};class dr extends ae{constructor(T,O){super(),this.Dimensions=T,this.UnitType=O,this.type=1918398963}}t.IfcNamedUnit=dr;class hu extends ae{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=hu,t.IfcObjective=class extends ou{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F),this.Name=N,this.Description=T,this.ConstraintGrade=O,this.ConstraintSource=S,this.CreatingActor=L,this.CreationTime=x,this.UserDefinedGrade=F,this.BenchmarkValues=U,this.ResultValues=B,this.ObjectiveQualifier=Z,this.UserDefinedQualifier=de,this.type=2251480897}},t.IfcOpticalMaterialProperties=class extends Ei{constructor(N,T,O,S,L,x,F,U,B,Z){super(N),this.Material=N,this.VisibleTransmittance=T,this.SolarTransmittance=O,this.ThermalIrTransmittance=S,this.ThermalIrEmissivityBack=L,this.ThermalIrEmissivityFront=x,this.VisibleReflectanceBack=F,this.VisibleReflectanceFront=U,this.SolarReflectanceFront=B,this.SolarReflectanceBack=Z,this.type=1227763645}},t.IfcOrganization=class extends ae{constructor(N,T,O,S,L){super(),this.Id=N,this.Name=T,this.Description=O,this.Roles=S,this.Addresses=L,this.type=4251960020}},t.IfcOrganizationRelationship=class extends ae{constructor(N,T,O,S){super(),this.Name=N,this.Description=T,this.RelatingOrganization=O,this.RelatedOrganizations=S,this.type=1411181986}},t.IfcOwnerHistory=class extends ae{constructor(N,T,O,S,L,x,F,U){super(),this.OwningUser=N,this.OwningApplication=T,this.State=O,this.ChangeAction=S,this.LastModifiedDate=L,this.LastModifyingUser=x,this.LastModifyingApplication=F,this.CreationDate=U,this.type=1207048766}},t.IfcPerson=class extends ae{constructor(N,T,O,S,L,x,F,U){super(),this.Id=N,this.FamilyName=T,this.GivenName=O,this.MiddleNames=S,this.PrefixTitles=L,this.SuffixTitles=x,this.Roles=F,this.Addresses=U,this.type=2077209135}},t.IfcPersonAndOrganization=class extends ae{constructor(N,T,O){super(),this.ThePerson=N,this.TheOrganization=T,this.Roles=O,this.type=101040310}};class Kr extends ae{constructor(T,O){super(),this.Name=T,this.Description=O,this.type=2483315170}}t.IfcPhysicalQuantity=Kr;class nc extends Kr{constructor(T,O,S){super(T,O),this.Name=T,this.Description=O,this.Unit=S,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=nc,t.IfcPostalAddress=class extends Ci{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O),this.Purpose=N,this.Description=T,this.UserDefinedPurpose=O,this.InternalLocation=S,this.AddressLines=L,this.PostalBox=x,this.Town=F,this.Region=U,this.PostalCode=B,this.Country=Z,this.type=3355820592}};class vi extends ae{constructor(T){super(),this.Name=T,this.type=3727388367}}t.IfcPreDefinedItem=vi;class Fl extends vi{constructor(T){super(T),this.Name=T,this.type=990879717}}t.IfcPreDefinedSymbol=Fl,t.IfcPreDefinedTerminatorSymbol=class extends Fl{constructor(N){super(N),this.Name=N,this.type=3213052703}};class Pr extends vi{constructor(T){super(T),this.Name=T,this.type=1775413392}}t.IfcPreDefinedTextFont=Pr;class eE extends ae{constructor(T,O,S,L){super(),this.Name=T,this.Description=O,this.AssignedItems=S,this.Identifier=L,this.type=2022622350}}t.IfcPresentationLayerAssignment=eE,t.IfcPresentationLayerWithStyle=class extends eE{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S),this.Name=N,this.Description=T,this.AssignedItems=O,this.Identifier=S,this.LayerOn=L,this.LayerFrozen=x,this.LayerBlocked=F,this.LayerStyles=U,this.type=1304840413}};class Nr extends ae{constructor(T){super(),this.Name=T,this.type=3119450353}}t.IfcPresentationStyle=Nr,t.IfcPresentationStyleAssignment=class extends ae{constructor(N){super(),this.Styles=N,this.type=2417041796}};class lu extends ae{constructor(T,O,S){super(),this.Name=T,this.Description=O,this.Representations=S,this.type=2095639259}}t.IfcProductRepresentation=lu,t.IfcProductsOfCombustionProperties=class extends Ei{constructor(N,T,O,S,L){super(N),this.Material=N,this.SpecificHeatCapacity=T,this.N20Content=O,this.COContent=S,this.CO2Content=L,this.type=2267347899}};class Rr extends ae{constructor(T,O){super(),this.ProfileType=T,this.ProfileName=O,this.type=3958567839}}t.IfcProfileDef=Rr;class pu extends ae{constructor(T,O){super(),this.ProfileName=T,this.ProfileDefinition=O,this.type=2802850158}}t.IfcProfileProperties=pu;class on extends ae{constructor(T,O){super(),this.Name=T,this.Description=O,this.type=2598011224}}t.IfcProperty=on,t.IfcPropertyConstraintRelationship=class extends ae{constructor(N,T,O,S){super(),this.RelatingConstraint=N,this.RelatedProperties=T,this.Name=O,this.Description=S,this.type=3896028662}},t.IfcPropertyDependencyRelationship=class extends ae{constructor(N,T,O,S,L){super(),this.DependingProperty=N,this.DependantProperty=T,this.Name=O,this.Description=S,this.Expression=L,this.type=148025276}},t.IfcPropertyEnumeration=class extends ae{constructor(N,T,O){super(),this.Name=N,this.EnumerationValues=T,this.Unit=O,this.type=3710013099}},t.IfcQuantityArea=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.AreaValue=S,this.type=2044713172}},t.IfcQuantityCount=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.CountValue=S,this.type=2093928680}},t.IfcQuantityLength=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.LengthValue=S,this.type=931644368}},t.IfcQuantityTime=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.TimeValue=S,this.type=3252649465}},t.IfcQuantityVolume=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.VolumeValue=S,this.type=2405470396}},t.IfcQuantityWeight=class extends nc{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Unit=O,this.WeightValue=S,this.type=825690147}},t.IfcReferencesValueDocument=class extends ae{constructor(N,T,O,S){super(),this.ReferencedDocument=N,this.ReferencingValues=T,this.Name=O,this.Description=S,this.type=2692823254}},t.IfcReinforcementBarProperties=class extends ae{constructor(N,T,O,S,L,x){super(),this.TotalCrossSectionArea=N,this.SteelGrade=T,this.BarSurface=O,this.EffectiveDepth=S,this.NominalBarDiameter=L,this.BarCount=x,this.type=1580146022}},t.IfcRelaxation=class extends ae{constructor(N,T){super(),this.RelaxationValue=N,this.InitialStress=T,this.type=1222501353}};class uu extends ae{constructor(T,O,S,L){super(),this.ContextOfItems=T,this.RepresentationIdentifier=O,this.RepresentationType=S,this.Items=L,this.type=1076942058}}t.IfcRepresentation=uu;class Zr extends ae{constructor(T,O){super(),this.ContextIdentifier=T,this.ContextType=O,this.type=3377609919}}t.IfcRepresentationContext=Zr;class wh extends ae{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=wh,t.IfcRepresentationMap=class extends ae{constructor(N,T){super(),this.MappingOrigin=N,this.MappedRepresentation=T,this.type=1660063152}},t.IfcRibPlateProfileProperties=class extends pu{constructor(N,T,O,S,L,x,F){super(N,T),this.ProfileName=N,this.ProfileDefinition=T,this.Thickness=O,this.RibHeight=S,this.RibWidth=L,this.RibSpacing=x,this.Direction=F,this.type=3679540991}};class On extends ae{constructor(T,O,S,L){super(),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=2341007311}}t.IfcRoot=On,t.IfcSIUnit=class extends dr{constructor(N,T,O){super(new Za(0),N),this.UnitType=N,this.Prefix=T,this.Name=O,this.type=448429030}},t.IfcSectionProperties=class extends ae{constructor(N,T,O){super(),this.SectionType=N,this.StartProfile=T,this.EndProfile=O,this.type=2042790032}},t.IfcSectionReinforcementProperties=class extends ae{constructor(N,T,O,S,L,x){super(),this.LongitudinalStartPosition=N,this.LongitudinalEndPosition=T,this.TransversePosition=O,this.ReinforcementRole=S,this.SectionDefinition=L,this.CrossSectionReinforcementDefinitions=x,this.type=4165799628}},t.IfcShapeAspect=class extends ae{constructor(N,T,O,S,L){super(),this.ShapeRepresentations=N,this.Name=T,this.Description=O,this.ProductDefinitional=S,this.PartOfProductDefinitionShape=L,this.type=867548509}};class Eu extends uu{constructor(T,O,S,L){super(T,O,S,L),this.ContextOfItems=T,this.RepresentationIdentifier=O,this.RepresentationType=S,this.Items=L,this.type=3982875396}}t.IfcShapeModel=Eu,t.IfcShapeRepresentation=class extends Eu{constructor(N,T,O,S){super(N,T,O,S),this.ContextOfItems=N,this.RepresentationIdentifier=T,this.RepresentationType=O,this.Items=S,this.type=4240577450}};class _t extends on{constructor(T,O){super(T,O),this.Name=T,this.Description=O,this.type=3692461612}}t.IfcSimpleProperty=_t;class Iu extends ae{constructor(T){super(),this.Name=T,this.type=2273995522}}t.IfcStructuralConnectionCondition=Iu;class xr extends ae{constructor(T){super(),this.Name=T,this.type=2162789131}}t.IfcStructuralLoad=xr;class Gc extends xr{constructor(T){super(T),this.Name=T,this.type=2525727697}}t.IfcStructuralLoadStatic=Gc,t.IfcStructuralLoadTemperature=class extends Gc{constructor(N,T,O,S){super(N),this.Name=N,this.DeltaT_Constant=T,this.DeltaT_Y=O,this.DeltaT_Z=S,this.type=3408363356}};class rs extends uu{constructor(T,O,S,L){super(T,O,S,L),this.ContextOfItems=T,this.RepresentationIdentifier=O,this.RepresentationType=S,this.Items=L,this.type=2830218821}}t.IfcStyleModel=rs;class tE extends wh{constructor(T,O,S){super(),this.Item=T,this.Styles=O,this.Name=S,this.type=3958052878}}t.IfcStyledItem=tE,t.IfcStyledRepresentation=class extends rs{constructor(N,T,O,S){super(N,T,O,S),this.ContextOfItems=N,this.RepresentationIdentifier=T,this.RepresentationType=O,this.Items=S,this.type=3049322572}},t.IfcSurfaceStyle=class extends Nr{constructor(N,T,O){super(N),this.Name=N,this.Side=T,this.Styles=O,this.type=1300840506}},t.IfcSurfaceStyleLighting=class extends ae{constructor(N,T,O,S){super(),this.DiffuseTransmissionColour=N,this.DiffuseReflectionColour=T,this.TransmissionColour=O,this.ReflectanceColour=S,this.type=3303107099}},t.IfcSurfaceStyleRefraction=class extends ae{constructor(N,T){super(),this.RefractionIndex=N,this.DispersionFactor=T,this.type=1607154358}};class Ii extends ae{constructor(T){super(),this.SurfaceColour=T,this.type=846575682}}t.IfcSurfaceStyleShading=Ii,t.IfcSurfaceStyleWithTextures=class extends ae{constructor(N){super(),this.Textures=N,this.type=1351298697}};class Ul extends ae{constructor(T,O,S,L){super(),this.RepeatS=T,this.RepeatT=O,this.TextureType=S,this.TextureTransform=L,this.type=626085974}}t.IfcSurfaceTexture=Ul,t.IfcSymbolStyle=class extends Nr{constructor(N,T){super(N),this.Name=N,this.StyleOfSymbol=T,this.type=1290481447}},t.IfcTable=class extends ae{constructor(N,T){super(),this.Name=N,this.Rows=T,this.type=985171141}},t.IfcTableRow=class extends ae{constructor(N,T){super(),this.RowCells=N,this.IsHeading=T,this.type=531007025}},t.IfcTelecomAddress=class extends Ci{constructor(N,T,O,S,L,x,F,U){super(N,T,O),this.Purpose=N,this.Description=T,this.UserDefinedPurpose=O,this.TelephoneNumbers=S,this.FacsimileNumbers=L,this.PagerNumber=x,this.ElectronicMailAddresses=F,this.WWWHomePageURL=U,this.type=912023232}},t.IfcTextStyle=class extends Nr{constructor(N,T,O,S){super(N),this.Name=N,this.TextCharacterAppearance=T,this.TextStyle=O,this.TextFontStyle=S,this.type=1447204868}},t.IfcTextStyleFontModel=class extends Pr{constructor(N,T,O,S,L,x){super(N),this.Name=N,this.FontFamily=T,this.FontStyle=O,this.FontVariant=S,this.FontWeight=L,this.FontSize=x,this.type=1983826977}},t.IfcTextStyleForDefinedFont=class extends ae{constructor(N,T){super(),this.Colour=N,this.BackgroundColour=T,this.type=2636378356}},t.IfcTextStyleTextModel=class extends ae{constructor(N,T,O,S,L,x,F){super(),this.TextIndent=N,this.TextAlign=T,this.TextDecoration=O,this.LetterSpacing=S,this.WordSpacing=L,this.TextTransform=x,this.LineHeight=F,this.type=1640371178}},t.IfcTextStyleWithBoxCharacteristics=class extends ae{constructor(N,T,O,S,L){super(),this.BoxHeight=N,this.BoxWidth=T,this.BoxSlantAngle=O,this.BoxRotateAngle=S,this.CharacterSpacing=L,this.type=1484833681}};class yi extends ae{constructor(){super(),this.type=280115917}}t.IfcTextureCoordinate=yi,t.IfcTextureCoordinateGenerator=class extends yi{constructor(N,T){super(),this.Mode=N,this.Parameter=T,this.type=1742049831}},t.IfcTextureMap=class extends yi{constructor(N){super(),this.TextureMaps=N,this.type=2552916305}},t.IfcTextureVertex=class extends ae{constructor(N){super(),this.Coordinates=N,this.type=1210645708}},t.IfcThermalMaterialProperties=class extends Ei{constructor(N,T,O,S,L){super(N),this.Material=N,this.SpecificHeatCapacity=T,this.BoilingPoint=O,this.FreezingPoint=S,this.ThermalConductivity=L,this.type=3317419933}};class yu extends ae{constructor(T,O,S,L,x,F,U,B){super(),this.Name=T,this.Description=O,this.StartTime=S,this.EndTime=L,this.TimeSeriesDataType=x,this.DataOrigin=F,this.UserDefinedDataOrigin=U,this.Unit=B,this.type=3101149627}}t.IfcTimeSeries=yu,t.IfcTimeSeriesReferenceRelationship=class extends ae{constructor(N,T){super(),this.ReferencedTimeSeries=N,this.TimeSeriesReferences=T,this.type=1718945513}},t.IfcTimeSeriesValue=class extends ae{constructor(N){super(),this.ListValues=N,this.type=581633288}};class ct extends wh{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=ct,t.IfcTopologyRepresentation=class extends Eu{constructor(N,T,O,S){super(N,T,O,S),this.ContextOfItems=N,this.RepresentationIdentifier=T,this.RepresentationType=O,this.Items=S,this.type=1735638870}},t.IfcUnitAssignment=class extends ae{constructor(N){super(),this.Units=N,this.type=180925521}};class sE extends ct{constructor(){super(),this.type=2799835756}}t.IfcVertex=sE,t.IfcVertexBasedTextureMap=class extends ae{constructor(N,T){super(),this.TextureVertices=N,this.TexturePoints=T,this.type=3304826586}},t.IfcVertexPoint=class extends sE{constructor(N){super(),this.VertexGeometry=N,this.type=1907098498}},t.IfcVirtualGridIntersection=class extends ae{constructor(N,T){super(),this.IntersectingAxes=N,this.OffsetDistances=T,this.type=891718957}},t.IfcWaterProperties=class extends Ei{constructor(N,T,O,S,L,x,F,U){super(N),this.Material=N,this.IsPotable=T,this.Hardness=O,this.AlkalinityConcentration=S,this.AcidityConcentration=L,this.ImpuritiesContent=x,this.PHLevel=F,this.DissolvedSolidsContent=U,this.type=1065908215}};class Js extends tE{constructor(T,O,S){super(T,O,S),this.Item=T,this.Styles=O,this.Name=S,this.type=2442683028}}t.IfcAnnotationOccurrence=Js,t.IfcAnnotationSurfaceOccurrence=class extends Js{constructor(N,T,O){super(N,T,O),this.Item=N,this.Styles=T,this.Name=O,this.type=962685235}};class iE extends Js{constructor(T,O,S){super(T,O,S),this.Item=T,this.Styles=O,this.Name=S,this.type=3612888222}}t.IfcAnnotationSymbolOccurrence=iE,t.IfcAnnotationTextOccurrence=class extends Js{constructor(N,T,O){super(N,T,O),this.Item=N,this.Styles=T,this.Name=O,this.type=2297822566}};class Do extends Rr{constructor(T,O,S){super(T,O),this.ProfileType=T,this.ProfileName=O,this.OuterCurve=S,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Do;class rE extends Rr{constructor(T,O,S){super(T,O),this.ProfileType=T,this.ProfileName=O,this.Curve=S,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=rE,t.IfcArbitraryProfileDefWithVoids=class extends Do{constructor(N,T,O,S){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.OuterCurve=O,this.InnerCurves=S,this.type=2705031697}},t.IfcBlobTexture=class extends Ul{constructor(N,T,O,S,L,x){super(N,T,O,S),this.RepeatS=N,this.RepeatT=T,this.TextureType=O,this.TextureTransform=S,this.RasterFormat=L,this.RasterCode=x,this.type=616511568}},t.IfcCenterLineProfileDef=class extends rE{constructor(N,T,O,S){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Curve=O,this.Thickness=S,this.type=3150382593}},t.IfcClassificationReference=class extends mo{constructor(N,T,O,S){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.ReferencedSource=S,this.type=647927063}},t.IfcColourRgb=class extends fn{constructor(N,T,O,S){super(N),this.Name=N,this.Red=T,this.Green=O,this.Blue=S,this.type=776857604}},t.IfcComplexProperty=class extends on{constructor(N,T,O,S){super(N,T),this.Name=N,this.Description=T,this.UsageName=O,this.HasProperties=S,this.type=2542286263}},t.IfcCompositeProfileDef=class extends Rr{constructor(N,T,O,S){super(N,T),this.ProfileType=N,this.ProfileName=T,this.Profiles=O,this.Label=S,this.type=1485152156}};class ht extends ct{constructor(T){super(),this.CfsFaces=T,this.type=370225590}}t.IfcConnectedFaceSet=ht,t.IfcConnectionCurveGeometry=class extends Uh{constructor(N,T){super(),this.CurveOnRelatingElement=N,this.CurveOnRelatedElement=T,this.type=1981873012}},t.IfcConnectionPointEccentricity=class extends ds{constructor(N,T,O,S,L){super(N,T),this.PointOnRelatingElement=N,this.PointOnRelatedElement=T,this.EccentricityInX=O,this.EccentricityInY=S,this.EccentricityInZ=L,this.type=45288368}},t.IfcContextDependentUnit=class extends dr{constructor(N,T,O){super(N,T),this.Dimensions=N,this.UnitType=T,this.Name=O,this.type=3050246964}},t.IfcConversionBasedUnit=class extends dr{constructor(N,T,O,S){super(N,T),this.Dimensions=N,this.UnitType=T,this.Name=O,this.ConversionFactor=S,this.type=2889183280}},t.IfcCurveStyle=class extends Nr{constructor(N,T,O,S){super(N),this.Name=N,this.CurveFont=T,this.CurveWidth=O,this.CurveColour=S,this.type=3800577675}},t.IfcDerivedProfileDef=class extends Rr{constructor(N,T,O,S,L){super(N,T),this.ProfileType=N,this.ProfileName=T,this.ParentProfile=O,this.Operator=S,this.Label=L,this.type=3632507154}},t.IfcDimensionCalloutRelationship=class extends Va{constructor(N,T,O,S){super(N,T,O,S),this.Name=N,this.Description=T,this.RelatingDraughtingCallout=O,this.RelatedDraughtingCallout=S,this.type=2273265877}},t.IfcDimensionPair=class extends Va{constructor(N,T,O,S){super(N,T,O,S),this.Name=N,this.Description=T,this.RelatingDraughtingCallout=O,this.RelatedDraughtingCallout=S,this.type=1694125774}},t.IfcDocumentReference=class extends mo{constructor(N,T,O){super(N,T,O),this.Location=N,this.ItemReference=T,this.Name=O,this.type=3732053477}},t.IfcDraughtingPreDefinedTextFont=class extends Pr{constructor(N){super(N),this.Name=N,this.type=4170525392}};class wl extends ct{constructor(T,O){super(),this.EdgeStart=T,this.EdgeEnd=O,this.type=3900360178}}t.IfcEdge=wl,t.IfcEdgeCurve=class extends wl{constructor(N,T,O,S){super(N,T),this.EdgeStart=N,this.EdgeEnd=T,this.EdgeGeometry=O,this.SameSense=S,this.type=476780140}},t.IfcExtendedMaterialProperties=class extends Ei{constructor(N,T,O,S){super(N),this.Material=N,this.ExtendedProperties=T,this.Description=O,this.Name=S,this.type=1860660968}};class Ca extends ct{constructor(T){super(),this.Bounds=T,this.type=2556980723}}t.IfcFace=Ca;class nE extends ct{constructor(T,O){super(),this.Bound=T,this.Orientation=O,this.type=1809719519}}t.IfcFaceBound=nE,t.IfcFaceOuterBound=class extends nE{constructor(N,T){super(N,T),this.Bound=N,this.Orientation=T,this.type=803316827}},t.IfcFaceSurface=class extends Ca{constructor(N,T,O){super(N),this.Bounds=N,this.FaceSurface=T,this.SameSense=O,this.type=3008276851}},t.IfcFailureConnectionCondition=class extends Iu{constructor(N,T,O,S,L,x,F){super(N),this.Name=N,this.TensionFailureX=T,this.TensionFailureY=O,this.TensionFailureZ=S,this.CompressionFailureX=L,this.CompressionFailureY=x,this.CompressionFailureZ=F,this.type=4219587988}},t.IfcFillAreaStyle=class extends Nr{constructor(N,T){super(N),this.Name=N,this.FillStyles=T,this.type=738692330}},t.IfcFuelProperties=class extends Ei{constructor(N,T,O,S,L){super(N),this.Material=N,this.CombustionTemperature=T,this.CarbonContent=O,this.LowerHeatingValue=S,this.HigherHeatingValue=L,this.type=3857492461}},t.IfcGeneralMaterialProperties=class extends Ei{constructor(N,T,O,S){super(N),this.Material=N,this.MolecularWeight=T,this.Porosity=O,this.MassDensity=S,this.type=803998398}};class Wa extends pu{constructor(T,O,S,L,x,F,U){super(T,O),this.ProfileName=T,this.ProfileDefinition=O,this.PhysicalWeight=S,this.Perimeter=L,this.MinimumPlateThickness=x,this.MaximumPlateThickness=F,this.CrossSectionArea=U,this.type=1446786286}}t.IfcGeneralProfileProperties=Wa;class aE extends Zr{constructor(T,O,S,L,x,F){super(T,O),this.ContextIdentifier=T,this.ContextType=O,this.CoordinateSpaceDimension=S,this.Precision=L,this.WorldCoordinateSystem=x,this.TrueNorth=F,this.type=3448662350}}t.IfcGeometricRepresentationContext=aE;class Be extends wh{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=Be,t.IfcGeometricRepresentationSubContext=class extends aE{constructor(N,T,O,S,L,x){super(N,T,new e(0),null,new Za(0),null),this.ContextIdentifier=N,this.ContextType=T,this.ParentContext=O,this.TargetScale=S,this.TargetView=L,this.UserDefinedTargetView=x,this.type=4142052618}};class oE extends Be{constructor(T){super(),this.Elements=T,this.type=3590301190}}t.IfcGeometricSet=oE,t.IfcGridPlacement=class extends hu{constructor(N,T){super(),this.PlacementLocation=N,this.PlacementRefDirection=T,this.type=178086475}};class _r extends Be{constructor(T,O){super(),this.BaseSurface=T,this.AgreementFlag=O,this.type=812098782}}t.IfcHalfSpaceSolid=_r,t.IfcHygroscopicMaterialProperties=class extends Ei{constructor(N,T,O,S,L,x){super(N),this.Material=N,this.UpperVaporResistanceFactor=T,this.LowerVaporResistanceFactor=O,this.IsothermalMoistureCapacity=S,this.VaporPermeability=L,this.MoistureDiffusivity=x,this.type=2445078500}},t.IfcImageTexture=class extends Ul{constructor(N,T,O,S,L){super(N,T,O,S),this.RepeatS=N,this.RepeatT=T,this.TextureType=O,this.TextureTransform=S,this.UrlReference=L,this.type=3905492369}},t.IfcIrregularTimeSeries=class extends yu{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.Name=N,this.Description=T,this.StartTime=O,this.EndTime=S,this.TimeSeriesDataType=L,this.DataOrigin=x,this.UserDefinedDataOrigin=F,this.Unit=U,this.Values=B,this.type=3741457305}};class Gh extends Be{constructor(T,O,S,L){super(),this.Name=T,this.LightColour=O,this.AmbientIntensity=S,this.Intensity=L,this.type=1402838566}}t.IfcLightSource=Gh,t.IfcLightSourceAmbient=class extends Gh{constructor(N,T,O,S){super(N,T,O,S),this.Name=N,this.LightColour=T,this.AmbientIntensity=O,this.Intensity=S,this.type=125510826}},t.IfcLightSourceDirectional=class extends Gh{constructor(N,T,O,S,L){super(N,T,O,S),this.Name=N,this.LightColour=T,this.AmbientIntensity=O,this.Intensity=S,this.Orientation=L,this.type=2604431987}},t.IfcLightSourceGoniometric=class extends Gh{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S),this.Name=N,this.LightColour=T,this.AmbientIntensity=O,this.Intensity=S,this.Position=L,this.ColourAppearance=x,this.ColourTemperature=F,this.LuminousFlux=U,this.LightEmissionSource=B,this.LightDistributionDataSource=Z,this.type=4266656042}};class bi extends Gh{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L),this.Name=T,this.LightColour=O,this.AmbientIntensity=S,this.Intensity=L,this.Position=x,this.Radius=F,this.ConstantAttenuation=U,this.DistanceAttenuation=B,this.QuadricAttenuation=Z,this.type=1520743889}}t.IfcLightSourcePositional=bi,t.IfcLightSourceSpot=class extends bi{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O,S,L,x,F,U,B),this.Name=N,this.LightColour=T,this.AmbientIntensity=O,this.Intensity=S,this.Position=L,this.Radius=x,this.ConstantAttenuation=F,this.DistanceAttenuation=U,this.QuadricAttenuation=B,this.Orientation=Z,this.ConcentrationExponent=de,this.SpreadAngle=ve,this.BeamWidthAngle=Ve,this.type=3422422726}},t.IfcLocalPlacement=class extends hu{constructor(N,T){super(),this.PlacementRelTo=N,this.RelativePlacement=T,this.type=2624227202}};class Gl extends ct{constructor(){super(),this.type=1008929658}}t.IfcLoop=Gl,t.IfcMappedItem=class extends wh{constructor(N,T){super(),this.MappingSource=N,this.MappingTarget=T,this.type=2347385850}},t.IfcMaterialDefinitionRepresentation=class extends lu{constructor(N,T,O,S){super(N,T,O),this.Name=N,this.Description=T,this.Representations=O,this.RepresentedMaterial=S,this.type=2022407955}},t.IfcMechanicalConcreteMaterialProperties=class extends cu{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x),this.Material=N,this.DynamicViscosity=T,this.YoungModulus=O,this.ShearModulus=S,this.PoissonRatio=L,this.ThermalExpansionCoefficient=x,this.CompressiveStrength=F,this.MaxAggregateSize=U,this.AdmixturesDescription=B,this.Workability=Z,this.ProtectivePoreRatio=de,this.WaterImpermeability=ve,this.type=1430189142}};class Ct extends On{constructor(T,O,S,L){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=219451334}}t.IfcObjectDefinition=Ct;class cE extends Be{constructor(T){super(),this.RepeatFactor=T,this.type=2833995503}}t.IfcOneDirectionRepeatFactor=cE,t.IfcOpenShell=class extends ht{constructor(N){super(N),this.CfsFaces=N,this.type=2665983363}},t.IfcOrientedEdge=class extends wl{constructor(N,T){super(new Za(0),new Za(0)),this.EdgeElement=N,this.Orientation=T,this.type=1029017970}};class Vi extends Rr{constructor(T,O,S){super(T,O),this.ProfileType=T,this.ProfileName=O,this.Position=S,this.type=2529465313}}t.IfcParameterizedProfileDef=Vi,t.IfcPath=class extends ct{constructor(N){super(),this.EdgeList=N,this.type=2519244187}},t.IfcPhysicalComplexQuantity=class extends Kr{constructor(N,T,O,S,L,x){super(N,T),this.Name=N,this.Description=T,this.HasQuantities=O,this.Discrimination=S,this.Quality=L,this.Usage=x,this.type=3021840470}},t.IfcPixelTexture=class extends Ul{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S),this.RepeatS=N,this.RepeatT=T,this.TextureType=O,this.TextureTransform=S,this.Width=L,this.Height=x,this.ColourComponents=F,this.Pixel=U,this.type=597895409}};class Hl extends Be{constructor(T){super(),this.Location=T,this.type=2004835150}}t.IfcPlacement=Hl;class Gn extends Be{constructor(T,O){super(),this.SizeInX=T,this.SizeInY=O,this.type=1663979128}}t.IfcPlanarExtent=Gn;class Bl extends Be{constructor(){super(),this.type=2067069095}}t.IfcPoint=Bl,t.IfcPointOnCurve=class extends Bl{constructor(N,T){super(),this.BasisCurve=N,this.PointParameter=T,this.type=4022376103}},t.IfcPointOnSurface=class extends Bl{constructor(N,T,O){super(),this.BasisSurface=N,this.PointParameterU=T,this.PointParameterV=O,this.type=1423911732}},t.IfcPolyLoop=class extends Gl{constructor(N){super(),this.Polygon=N,this.type=2924175390}},t.IfcPolygonalBoundedHalfSpace=class extends _r{constructor(N,T,O,S){super(N,T),this.BaseSurface=N,this.AgreementFlag=T,this.Position=O,this.PolygonalBoundary=S,this.type=2775532180}};class Wi extends vi{constructor(T){super(T),this.Name=T,this.type=759155922}}t.IfcPreDefinedColour=Wi;class hE extends vi{constructor(T){super(T),this.Name=T,this.type=2559016684}}t.IfcPreDefinedCurveFont=hE,t.IfcPreDefinedDimensionSymbol=class extends Fl{constructor(N){super(N),this.Name=N,this.type=433424934}},t.IfcPreDefinedPointMarkerSymbol=class extends Fl{constructor(N){super(N),this.Name=N,this.type=179317114}},t.IfcProductDefinitionShape=class extends lu{constructor(N,T,O){super(N,T,O),this.Name=N,this.Description=T,this.Representations=O,this.type=673634403}},t.IfcPropertyBoundedValue=class extends _t{constructor(N,T,O,S,L){super(N,T),this.Name=N,this.Description=T,this.UpperBoundValue=O,this.LowerBoundValue=S,this.Unit=L,this.type=871118103}};class Ti extends On{constructor(T,O,S,L){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=1680319473}}t.IfcPropertyDefinition=Ti,t.IfcPropertyEnumeratedValue=class extends _t{constructor(N,T,O,S){super(N,T),this.Name=N,this.Description=T,this.EnumerationValues=O,this.EnumerationReference=S,this.type=4166981789}},t.IfcPropertyListValue=class extends _t{constructor(N,T,O,S){super(N,T),this.Name=N,this.Description=T,this.ListValues=O,this.Unit=S,this.type=2752243245}},t.IfcPropertyReferenceValue=class extends _t{constructor(N,T,O,S){super(N,T),this.Name=N,this.Description=T,this.UsageName=O,this.PropertyReference=S,this.type=941946838}};class mn extends Ti{constructor(T,O,S,L){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=3357820518}}t.IfcPropertySetDefinition=mn,t.IfcPropertySingleValue=class extends _t{constructor(N,T,O,S){super(N,T),this.Name=N,this.Description=T,this.NominalValue=O,this.Unit=S,this.type=3650150729}},t.IfcPropertyTableValue=class extends _t{constructor(N,T,O,S,L,x,F){super(N,T),this.Name=N,this.Description=T,this.DefiningValues=O,this.DefinedValues=S,this.Expression=L,this.DefiningUnit=x,this.DefinedUnit=F,this.type=110355661}};class Li extends Vi{constructor(T,O,S,L,x){super(T,O,S),this.ProfileType=T,this.ProfileName=O,this.Position=S,this.XDim=L,this.YDim=x,this.type=3615266464}}t.IfcRectangleProfileDef=Li,t.IfcRegularTimeSeries=class extends yu{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.Name=N,this.Description=T,this.StartTime=O,this.EndTime=S,this.TimeSeriesDataType=L,this.DataOrigin=x,this.UserDefinedDataOrigin=F,this.Unit=U,this.TimeStep=B,this.Values=Z,this.type=3413951693}},t.IfcReinforcementDefinitionProperties=class extends mn{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.DefinitionType=L,this.ReinforcementSectionDefinitions=x,this.type=3765753017}};class Hc extends On{constructor(T,O,S,L){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=478536968}}t.IfcRelationship=Hc,t.IfcRoundedRectangleProfileDef=class extends Li{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.XDim=S,this.YDim=L,this.RoundingRadius=x,this.type=2778083089}},t.IfcSectionedSpine=class extends Be{constructor(N,T,O){super(),this.SpineCurve=N,this.CrossSections=T,this.CrossSectionPositions=O,this.type=1509187699}},t.IfcServiceLifeFactor=class extends mn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.PredefinedType=L,this.UpperValue=x,this.MostUsedValue=F,this.LowerValue=U,this.type=2411513650}},t.IfcShellBasedSurfaceModel=class extends Be{constructor(N){super(),this.SbsmBoundary=N,this.type=4124623270}},t.IfcSlippageConnectionCondition=class extends Iu{constructor(N,T,O,S){super(N),this.Name=N,this.SlippageX=T,this.SlippageY=O,this.SlippageZ=S,this.type=2609359061}};class Mr extends Be{constructor(){super(),this.type=723233188}}t.IfcSolidModel=Mr,t.IfcSoundProperties=class extends mn{constructor(N,T,O,S,L,x,F){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.IsAttenuating=L,this.SoundScale=x,this.SoundValues=F,this.type=2485662743}},t.IfcSoundValue=class extends mn{constructor(N,T,O,S,L,x,F){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.SoundLevelTimeSeries=L,this.Frequency=x,this.SoundLevelSingleValue=F,this.type=1202362311}},t.IfcSpaceThermalLoadProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableValueRatio=L,this.ThermalLoadSource=x,this.PropertySource=F,this.SourceDescription=U,this.MaximumValue=B,this.MinimumValue=Z,this.ThermalLoadTimeSeriesValues=de,this.UserDefinedThermalLoadSource=ve,this.UserDefinedPropertySource=Ve,this.ThermalLoadType=Ze,this.type=390701378}},t.IfcStructuralLoadLinearForce=class extends Gc{constructor(N,T,O,S,L,x,F){super(N),this.Name=N,this.LinearForceX=T,this.LinearForceY=O,this.LinearForceZ=S,this.LinearMomentX=L,this.LinearMomentY=x,this.LinearMomentZ=F,this.type=1595516126}},t.IfcStructuralLoadPlanarForce=class extends Gc{constructor(N,T,O,S){super(N),this.Name=N,this.PlanarForceX=T,this.PlanarForceY=O,this.PlanarForceZ=S,this.type=2668620305}};class lE extends Gc{constructor(T,O,S,L,x,F,U){super(T),this.Name=T,this.DisplacementX=O,this.DisplacementY=S,this.DisplacementZ=L,this.RotationalDisplacementRX=x,this.RotationalDisplacementRY=F,this.RotationalDisplacementRZ=U,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=lE,t.IfcStructuralLoadSingleDisplacementDistortion=class extends lE{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F),this.Name=N,this.DisplacementX=T,this.DisplacementY=O,this.DisplacementZ=S,this.RotationalDisplacementRX=L,this.RotationalDisplacementRY=x,this.RotationalDisplacementRZ=F,this.Distortion=U,this.type=1973038258}};class _s extends Gc{constructor(T,O,S,L,x,F,U){super(T),this.Name=T,this.ForceX=O,this.ForceY=S,this.ForceZ=L,this.MomentX=x,this.MomentY=F,this.MomentZ=U,this.type=1597423693}}t.IfcStructuralLoadSingleForce=_s,t.IfcStructuralLoadSingleForceWarping=class extends _s{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F),this.Name=N,this.ForceX=T,this.ForceY=O,this.ForceZ=S,this.MomentX=L,this.MomentY=x,this.MomentZ=F,this.WarpingMoment=U,this.type=1190533807}};class pE extends Wa{constructor(T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr,bn,qn,ao,bo,pn,en,ga){super(T,O,S,L,x,F,U),this.ProfileName=T,this.ProfileDefinition=O,this.PhysicalWeight=S,this.Perimeter=L,this.MinimumPlateThickness=x,this.MaximumPlateThickness=F,this.CrossSectionArea=U,this.TorsionalConstantX=B,this.MomentOfInertiaYZ=Z,this.MomentOfInertiaY=de,this.MomentOfInertiaZ=ve,this.WarpingConstant=Ve,this.ShearCentreZ=Ze,this.ShearCentreY=Jt,this.ShearDeformationAreaZ=Pi,this.ShearDeformationAreaY=wr,this.MaximumSectionModulusY=bn,this.MinimumSectionModulusY=qn,this.MaximumSectionModulusZ=ao,this.MinimumSectionModulusZ=bo,this.TorsionalSectionModulus=pn,this.CentreOfGravityInX=en,this.CentreOfGravityInY=ga,this.type=3843319758}}t.IfcStructuralProfileProperties=pE,t.IfcStructuralSteelProfileProperties=class extends pE{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr,bn,qn,ao,bo,pn,en,ga,Qn,Pa,Ec){super(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr,bn,qn,ao,bo,pn,en),this.ProfileName=N,this.ProfileDefinition=T,this.PhysicalWeight=O,this.Perimeter=S,this.MinimumPlateThickness=L,this.MaximumPlateThickness=x,this.CrossSectionArea=F,this.TorsionalConstantX=U,this.MomentOfInertiaYZ=B,this.MomentOfInertiaY=Z,this.MomentOfInertiaZ=de,this.WarpingConstant=ve,this.ShearCentreZ=Ve,this.ShearCentreY=Ze,this.ShearDeformationAreaZ=Jt,this.ShearDeformationAreaY=Pi,this.MaximumSectionModulusY=wr,this.MinimumSectionModulusY=bn,this.MaximumSectionModulusZ=qn,this.MinimumSectionModulusZ=ao,this.TorsionalSectionModulus=bo,this.CentreOfGravityInX=pn,this.CentreOfGravityInY=en,this.ShearAreaZ=ga,this.ShearAreaY=Qn,this.PlasticShapeFactorY=Pa,this.PlasticShapeFactorZ=Ec,this.type=3653947884}},t.IfcSubedge=class extends wl{constructor(N,T,O){super(N,T),this.EdgeStart=N,this.EdgeEnd=T,this.ParentEdge=O,this.type=2233826070}};class er extends Be{constructor(){super(),this.type=2513912981}}t.IfcSurface=er,t.IfcSurfaceStyleRendering=class extends Ii{constructor(N,T,O,S,L,x,F,U,B){super(N),this.SurfaceColour=N,this.Transparency=T,this.DiffuseColour=O,this.TransmissionColour=S,this.DiffuseTransmissionColour=L,this.ReflectionColour=x,this.SpecularColour=F,this.SpecularHighlight=U,this.ReflectanceMethod=B,this.type=1878645084}};class Vl extends Mr{constructor(T,O){super(),this.SweptArea=T,this.Position=O,this.type=2247615214}}t.IfcSweptAreaSolid=Vl,t.IfcSweptDiskSolid=class extends Mr{constructor(N,T,O,S,L){super(),this.Directrix=N,this.Radius=T,this.InnerRadius=O,this.StartParam=S,this.EndParam=L,this.type=1260650574}};class qr extends er{constructor(T,O){super(),this.SweptCurve=T,this.Position=O,this.type=230924584}}t.IfcSweptSurface=qr,t.IfcTShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Depth=S,this.FlangeWidth=L,this.WebThickness=x,this.FlangeThickness=F,this.FilletRadius=U,this.FlangeEdgeRadius=B,this.WebEdgeRadius=Z,this.WebSlope=de,this.FlangeSlope=ve,this.CentreOfGravityInY=Ve,this.type=3071757647}};class uE extends iE{constructor(T,O,S,L){super(T,O,S),this.Item=T,this.Styles=O,this.Name=S,this.AnnotatedCurve=L,this.type=3028897424}}t.IfcTerminatorSymbol=uE;class tr extends Be{constructor(T,O,S){super(),this.Literal=T,this.Placement=O,this.Path=S,this.type=4282788508}}t.IfcTextLiteral=tr,t.IfcTextLiteralWithExtent=class extends tr{constructor(N,T,O,S,L){super(N,T,O),this.Literal=N,this.Placement=T,this.Path=O,this.Extent=S,this.BoxAlignment=L,this.type=3124975700}},t.IfcTrapeziumProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.BottomXDim=S,this.TopXDim=L,this.YDim=x,this.TopXOffset=F,this.type=2715220739}},t.IfcTwoDirectionRepeatFactor=class extends cE{constructor(N,T){super(N),this.RepeatFactor=N,this.SecondRepeatFactor=T,this.type=1345879162}};class EE extends Ct{constructor(T,O,S,L,x,F){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.type=1628702193}}t.IfcTypeObject=EE;class Dn extends EE{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.type=2347495698}}t.IfcTypeProduct=Dn,t.IfcUShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Depth=S,this.FlangeWidth=L,this.WebThickness=x,this.FlangeThickness=F,this.FilletRadius=U,this.EdgeRadius=B,this.FlangeSlope=Z,this.CentreOfGravityInX=de,this.type=427810014}},t.IfcVector=class extends Be{constructor(N,T){super(),this.Orientation=N,this.Magnitude=T,this.type=1417489154}},t.IfcVertexLoop=class extends Gl{constructor(N){super(),this.LoopVertex=N,this.type=2759199220}},t.IfcWindowLiningProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.LiningDepth=L,this.LiningThickness=x,this.TransomThickness=F,this.MullionThickness=U,this.FirstTransomOffset=B,this.SecondTransomOffset=Z,this.FirstMullionOffset=de,this.SecondMullionOffset=ve,this.ShapeAspectStyle=Ve,this.type=336235671}},t.IfcWindowPanelProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.OperationType=L,this.PanelPosition=x,this.FrameDepth=F,this.FrameThickness=U,this.ShapeAspectStyle=B,this.type=512836454}},t.IfcWindowStyle=class extends Dn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ConstructionType=B,this.OperationType=Z,this.ParameterTakesPrecedence=de,this.Sizeable=ve,this.type=1299126871}},t.IfcZShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Depth=S,this.FlangeWidth=L,this.WebThickness=x,this.FlangeThickness=F,this.FilletRadius=U,this.EdgeRadius=B,this.type=2543172580}};class Tu extends Js{constructor(T,O,S){super(T,O,S),this.Item=T,this.Styles=O,this.Name=S,this.type=3288037868}}t.IfcAnnotationCurveOccurrence=Tu,t.IfcAnnotationFillArea=class extends Be{constructor(N,T){super(),this.OuterBoundary=N,this.InnerBoundaries=T,this.type=669184980}},t.IfcAnnotationFillAreaOccurrence=class extends Js{constructor(N,T,O,S,L){super(N,T,O),this.Item=N,this.Styles=T,this.Name=O,this.FillStyleTarget=S,this.GlobalOrLocal=L,this.type=2265737646}},t.IfcAnnotationSurface=class extends Be{constructor(N,T){super(),this.Item=N,this.TextureCoordinates=T,this.type=1302238472}},t.IfcAxis1Placement=class extends Hl{constructor(N,T){super(N),this.Location=N,this.Axis=T,this.type=4261334040}},t.IfcAxis2Placement2D=class extends Hl{constructor(N,T){super(N),this.Location=N,this.RefDirection=T,this.type=3125803723}},t.IfcAxis2Placement3D=class extends Hl{constructor(N,T,O){super(N),this.Location=N,this.Axis=T,this.RefDirection=O,this.type=2740243338}};class la extends Be{constructor(T,O,S){super(),this.Operator=T,this.FirstOperand=O,this.SecondOperand=S,this.type=2736907675}}t.IfcBooleanResult=la;class du extends er{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=du,t.IfcBoundingBox=class extends Be{constructor(N,T,O,S){super(),this.Corner=N,this.XDim=T,this.YDim=O,this.ZDim=S,this.type=2581212453}},t.IfcBoxedHalfSpace=class extends _r{constructor(N,T,O){super(N,T),this.BaseSurface=N,this.AgreementFlag=T,this.Enclosure=O,this.type=2713105998}},t.IfcCShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Depth=S,this.Width=L,this.WallThickness=x,this.Girth=F,this.InternalFilletRadius=U,this.CentreOfGravityInX=B,this.type=2898889636}},t.IfcCartesianPoint=class extends Bl{constructor(N){super(),this.Coordinates=N,this.type=1123145078}};class pa extends Be{constructor(T,O,S,L){super(),this.Axis1=T,this.Axis2=O,this.LocalOrigin=S,this.Scale=L,this.type=59481748}}t.IfcCartesianTransformationOperator=pa;class IE extends pa{constructor(T,O,S,L){super(T,O,S,L),this.Axis1=T,this.Axis2=O,this.LocalOrigin=S,this.Scale=L,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=IE,t.IfcCartesianTransformationOperator2DnonUniform=class extends IE{constructor(N,T,O,S,L){super(N,T,O,S),this.Axis1=N,this.Axis2=T,this.LocalOrigin=O,this.Scale=S,this.Scale2=L,this.type=3486308946}};class Qr extends pa{constructor(T,O,S,L,x){super(T,O,S,L),this.Axis1=T,this.Axis2=O,this.LocalOrigin=S,this.Scale=L,this.Axis3=x,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=Qr,t.IfcCartesianTransformationOperator3DnonUniform=class extends Qr{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L),this.Axis1=N,this.Axis2=T,this.LocalOrigin=O,this.Scale=S,this.Axis3=L,this.Scale2=x,this.Scale3=F,this.type=1416205885}};class Nu extends Vi{constructor(T,O,S,L){super(T,O,S),this.ProfileType=T,this.ProfileName=O,this.Position=S,this.Radius=L,this.type=1383045692}}t.IfcCircleProfileDef=Nu,t.IfcClosedShell=class extends ht{constructor(N){super(N),this.CfsFaces=N,this.type=2205249479}},t.IfcCompositeCurveSegment=class extends Be{constructor(N,T,O){super(),this.Transition=N,this.SameSense=T,this.ParentCurve=O,this.type=2485617015}},t.IfcCraneRailAShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.OverallHeight=S,this.BaseWidth2=L,this.Radius=x,this.HeadWidth=F,this.HeadDepth2=U,this.HeadDepth3=B,this.WebThickness=Z,this.BaseWidth4=de,this.BaseDepth1=ve,this.BaseDepth2=Ve,this.BaseDepth3=Ze,this.CentreOfGravityInY=Jt,this.type=4133800736}},t.IfcCraneRailFShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.OverallHeight=S,this.HeadWidth=L,this.Radius=x,this.HeadDepth2=F,this.HeadDepth3=U,this.WebThickness=B,this.BaseDepth1=Z,this.BaseDepth2=de,this.CentreOfGravityInY=ve,this.type=194851669}};class ua extends Be{constructor(T){super(),this.Position=T,this.type=2506170314}}t.IfcCsgPrimitive3D=ua,t.IfcCsgSolid=class extends Mr{constructor(N){super(),this.TreeRootExpression=N,this.type=2147822146}};class ac extends Be{constructor(){super(),this.type=2601014836}}t.IfcCurve=ac,t.IfcCurveBoundedPlane=class extends du{constructor(N,T,O){super(),this.BasisSurface=N,this.OuterBoundary=T,this.InnerBoundaries=O,this.type=2827736869}},t.IfcDefinedSymbol=class extends Be{constructor(N,T){super(),this.Definition=N,this.Target=T,this.type=693772133}},t.IfcDimensionCurve=class extends Tu{constructor(N,T,O){super(N,T,O),this.Item=N,this.Styles=T,this.Name=O,this.type=606661476}},t.IfcDimensionCurveTerminator=class extends uE{constructor(N,T,O,S,L){super(N,T,O,S),this.Item=N,this.Styles=T,this.Name=O,this.AnnotatedCurve=S,this.Role=L,this.type=4054601972}},t.IfcDirection=class extends Be{constructor(N){super(),this.DirectionRatios=N,this.type=32440307}},t.IfcDoorLiningProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.LiningDepth=L,this.LiningThickness=x,this.ThresholdDepth=F,this.ThresholdThickness=U,this.TransomThickness=B,this.TransomOffset=Z,this.LiningOffset=de,this.ThresholdOffset=ve,this.CasingThickness=Ve,this.CasingDepth=Ze,this.ShapeAspectStyle=Jt,this.type=2963535650}},t.IfcDoorPanelProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.PanelDepth=L,this.PanelOperation=x,this.PanelWidth=F,this.PanelPosition=U,this.ShapeAspectStyle=B,this.type=1714330368}},t.IfcDoorStyle=class extends Dn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.OperationType=B,this.ConstructionType=Z,this.ParameterTakesPrecedence=de,this.Sizeable=ve,this.type=526551008}};class sr extends Be{constructor(T){super(),this.Contents=T,this.type=3073041342}}t.IfcDraughtingCallout=sr,t.IfcDraughtingPreDefinedColour=class extends Wi{constructor(N){super(N),this.Name=N,this.type=445594917}},t.IfcDraughtingPreDefinedCurveFont=class extends hE{constructor(N){super(N),this.Name=N,this.type=4006246654}},t.IfcEdgeLoop=class extends Gl{constructor(N){super(),this.EdgeList=N,this.type=1472233963}},t.IfcElementQuantity=class extends mn{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.MethodOfMeasurement=L,this.Quantities=x,this.type=1883228015}};class Ao extends Dn{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=339256511}}t.IfcElementType=Ao;class ro extends er{constructor(T){super(),this.Position=T,this.type=2777663545}}t.IfcElementarySurface=ro,t.IfcEllipseProfileDef=class extends Vi{constructor(N,T,O,S,L){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.SemiAxis1=S,this.SemiAxis2=L,this.type=2835456948}};class Ru extends mn{constructor(T,O,S,L,x,F){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.EnergySequence=x,this.UserDefinedEnergySequence=F,this.type=80994333}}t.IfcEnergyProperties=Ru,t.IfcExtrudedAreaSolid=class extends Vl{constructor(N,T,O,S){super(N,T),this.SweptArea=N,this.Position=T,this.ExtrudedDirection=O,this.Depth=S,this.type=477187591}},t.IfcFaceBasedSurfaceModel=class extends Be{constructor(N){super(),this.FbsmFaces=N,this.type=2047409740}},t.IfcFillAreaStyleHatching=class extends Be{constructor(N,T,O,S,L){super(),this.HatchLineAppearance=N,this.StartOfNextHatchLine=T,this.PointOfReferenceHatchLine=O,this.PatternStart=S,this.HatchLineAngle=L,this.type=374418227}},t.IfcFillAreaStyleTileSymbolWithStyle=class extends Be{constructor(N){super(),this.Symbol=N,this.type=4203026998}},t.IfcFillAreaStyleTiles=class extends Be{constructor(N,T,O){super(),this.TilingPattern=N,this.Tiles=T,this.TilingScale=O,this.type=315944413}},t.IfcFluidFlowProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr,bn,qn){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.PropertySource=L,this.FlowConditionTimeSeries=x,this.VelocityTimeSeries=F,this.FlowrateTimeSeries=U,this.Fluid=B,this.PressureTimeSeries=Z,this.UserDefinedPropertySource=de,this.TemperatureSingleValue=ve,this.WetBulbTemperatureSingleValue=Ve,this.WetBulbTemperatureTimeSeries=Ze,this.TemperatureTimeSeries=Jt,this.FlowrateSingleValue=Pi,this.FlowConditionSingleValue=wr,this.VelocitySingleValue=bn,this.PressureSingleValue=qn,this.type=3455213021}};class Hn extends Ao{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=4238390223}}t.IfcFurnishingElementType=Hn,t.IfcFurnitureType=class extends Hn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.AssemblyPlace=Z,this.type=1268542332}},t.IfcGeometricCurveSet=class extends oE{constructor(N){super(N),this.Elements=N,this.type=987898635}};class Hh extends Vi{constructor(T,O,S,L,x,F,U,B){super(T,O,S),this.ProfileType=T,this.ProfileName=O,this.Position=S,this.OverallWidth=L,this.OverallDepth=x,this.WebThickness=F,this.FlangeThickness=U,this.FilletRadius=B,this.type=1484403080}}t.IfcIShapeProfileDef=Hh,t.IfcLShapeProfileDef=class extends Vi{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Depth=S,this.Width=L,this.Thickness=x,this.FilletRadius=F,this.EdgeRadius=U,this.LegSlope=B,this.CentreOfGravityInX=Z,this.CentreOfGravityInY=de,this.type=572779678}},t.IfcLine=class extends ac{constructor(N,T){super(),this.Pnt=N,this.Dir=T,this.type=1281925730}};class Ea extends Mr{constructor(T){super(),this.Outer=T,this.type=1425443689}}t.IfcManifoldSolidBrep=Ea;class An extends Ct{constructor(T,O,S,L,x){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=3888040117}}t.IfcObject=An,t.IfcOffsetCurve2D=class extends ac{constructor(N,T,O){super(),this.BasisCurve=N,this.Distance=T,this.SelfIntersect=O,this.type=3388369263}},t.IfcOffsetCurve3D=class extends ac{constructor(N,T,O,S){super(),this.BasisCurve=N,this.Distance=T,this.SelfIntersect=O,this.RefDirection=S,this.type=3505215534}},t.IfcPermeableCoveringProperties=class extends mn{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.OperationType=L,this.PanelPosition=x,this.FrameDepth=F,this.FrameThickness=U,this.ShapeAspectStyle=B,this.type=3566463478}},t.IfcPlanarBox=class extends Gn{constructor(N,T,O){super(N,T),this.SizeInX=N,this.SizeInY=T,this.Placement=O,this.type=603570806}},t.IfcPlane=class extends ro{constructor(N){super(N),this.Position=N,this.type=220341763}};class Ms extends An{constructor(T,O,S,L,x){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=2945172077}}t.IfcProcess=Ms;class ja extends An{constructor(T,O,S,L,x,F,U){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.type=4208778838}}t.IfcProduct=ja,t.IfcProject=class extends An{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.LongName=x,this.Phase=F,this.RepresentationContexts=U,this.UnitsInContext=B,this.type=103090709}},t.IfcProjectionCurve=class extends Tu{constructor(N,T,O){super(N,T,O),this.Item=N,this.Styles=T,this.Name=O,this.type=4194566429}},t.IfcPropertySet=class extends mn{constructor(N,T,O,S,L){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.HasProperties=L,this.type=1451395588}},t.IfcProxy=class extends ja{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.ProxyType=U,this.Tag=B,this.type=3219374653}},t.IfcRectangleHollowProfileDef=class extends Li{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.XDim=S,this.YDim=L,this.WallThickness=x,this.InnerFilletRadius=F,this.OuterFilletRadius=U,this.type=2770003689}},t.IfcRectangularPyramid=class extends ua{constructor(N,T,O,S){super(N),this.Position=N,this.XLength=T,this.YLength=O,this.Height=S,this.type=2798486643}},t.IfcRectangularTrimmedSurface=class extends du{constructor(N,T,O,S,L,x,F){super(),this.BasisSurface=N,this.U1=T,this.V1=O,this.U2=S,this.V2=L,this.Usense=x,this.Vsense=F,this.type=3454111270}};class Bn extends Hc{constructor(T,O,S,L,x,F){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.RelatedObjectsType=F,this.type=3939117080}}t.IfcRelAssigns=Bn;class Bh extends Bn{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.RelatedObjectsType=F,this.RelatingActor=U,this.ActingRole=B,this.type=1683148259}}t.IfcRelAssignsToActor=Bh;class kn extends Bn{constructor(T,O,S,L,x,F,U){super(T,O,S,L,x,F),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.RelatedObjectsType=F,this.RelatingControl=U,this.type=2495723537}}t.IfcRelAssignsToControl=kn,t.IfcRelAssignsToGroup=class extends Bn{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingGroup=F,this.type=1307041759}},t.IfcRelAssignsToProcess=class extends Bn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingProcess=F,this.QuantityInProcess=U,this.type=4278684876}},t.IfcRelAssignsToProduct=class extends Bn{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingProduct=F,this.type=2857406711}},t.IfcRelAssignsToProjectOrder=class extends kn{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingControl=F,this.type=3372526763}},t.IfcRelAssignsToResource=class extends Bn{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingResource=F,this.type=205026976}};class va extends Hc{constructor(T,O,S,L,x){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.type=1865459582}}t.IfcRelAssociates=va,t.IfcRelAssociatesAppliedValue=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingAppliedValue=x,this.type=1327628568}},t.IfcRelAssociatesApproval=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingApproval=x,this.type=4095574036}},t.IfcRelAssociatesClassification=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingClassification=x,this.type=919958153}},t.IfcRelAssociatesConstraint=class extends va{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.Intent=x,this.RelatingConstraint=F,this.type=2728634034}},t.IfcRelAssociatesDocument=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingDocument=x,this.type=982818633}},t.IfcRelAssociatesLibrary=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingLibrary=x,this.type=3840914261}},t.IfcRelAssociatesMaterial=class extends va{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingMaterial=x,this.type=2655215786}},t.IfcRelAssociatesProfileProperties=class extends va{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingProfileProperties=x,this.ProfileSectionLocation=F,this.ProfileOrientation=U,this.type=2851387026}};class Qt extends Hc{constructor(T,O,S,L){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.type=826625072}}t.IfcRelConnects=Qt;class ir extends Qt{constructor(T,O,S,L,x,F,U){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ConnectionGeometry=x,this.RelatingElement=F,this.RelatedElement=U,this.type=1204542856}}t.IfcRelConnectsElements=ir,t.IfcRelConnectsPathElements=class extends ir{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ConnectionGeometry=L,this.RelatingElement=x,this.RelatedElement=F,this.RelatingPriorities=U,this.RelatedPriorities=B,this.RelatedConnectionType=Z,this.RelatingConnectionType=de,this.type=3945020480}},t.IfcRelConnectsPortToElement=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingPort=L,this.RelatedElement=x,this.type=4201705270}},t.IfcRelConnectsPorts=class extends Qt{constructor(N,T,O,S,L,x,F){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingPort=L,this.RelatedPort=x,this.RealizingElement=F,this.type=3190031847}},t.IfcRelConnectsStructuralActivity=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingElement=L,this.RelatedStructuralActivity=x,this.type=2127690289}},t.IfcRelConnectsStructuralElement=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingElement=L,this.RelatedStructuralMember=x,this.type=3912681535}};class oc extends Qt{constructor(T,O,S,L,x,F,U,B,Z,de){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatingStructuralMember=x,this.RelatedStructuralConnection=F,this.AppliedCondition=U,this.AdditionalConditions=B,this.SupportedLength=Z,this.ConditionCoordinateSystem=de,this.type=1638771189}}t.IfcRelConnectsStructuralMember=oc,t.IfcRelConnectsWithEccentricity=class extends oc{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B,Z),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingStructuralMember=L,this.RelatedStructuralConnection=x,this.AppliedCondition=F,this.AdditionalConditions=U,this.SupportedLength=B,this.ConditionCoordinateSystem=Z,this.ConnectionConstraint=de,this.type=504942748}},t.IfcRelConnectsWithRealizingElements=class extends ir{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ConnectionGeometry=L,this.RelatingElement=x,this.RelatedElement=F,this.RealizingElements=U,this.ConnectionType=B,this.type=3678494232}},t.IfcRelContainedInSpatialStructure=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedElements=L,this.RelatingStructure=x,this.type=3242617779}},t.IfcRelCoversBldgElements=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingBuildingElement=L,this.RelatedCoverings=x,this.type=886880790}},t.IfcRelCoversSpaces=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedSpace=L,this.RelatedCoverings=x,this.type=2802773753}};class cc extends Hc{constructor(T,O,S,L,x,F){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatingObject=x,this.RelatedObjects=F,this.type=2551354335}}t.IfcRelDecomposes=cc;class Ia extends Hc{constructor(T,O,S,L,x){super(T,O,S,L),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.type=693640335}}t.IfcRelDefines=Ia;class hc extends Ia{constructor(T,O,S,L,x,F){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.RelatedObjects=x,this.RelatingPropertyDefinition=F,this.type=4186316022}}t.IfcRelDefinesByProperties=hc,t.IfcRelDefinesByType=class extends Ia{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingType=x,this.type=781010003}},t.IfcRelFillsElement=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingOpeningElement=L,this.RelatedBuildingElement=x,this.type=3940055652}},t.IfcRelFlowControlElements=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedControlElements=L,this.RelatingFlowElement=x,this.type=279856033}},t.IfcRelInteractionRequirements=class extends Qt{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.DailyInteraction=L,this.ImportanceRating=x,this.LocationOfInteraction=F,this.RelatedSpaceProgram=U,this.RelatingSpaceProgram=B,this.type=4189434867}},t.IfcRelNests=class extends cc{constructor(N,T,O,S,L,x){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingObject=L,this.RelatedObjects=x,this.type=3268803585}},t.IfcRelOccupiesSpaces=class extends Bh{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingActor=F,this.ActingRole=U,this.type=2051452291}},t.IfcRelOverridesProperties=class extends hc{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatingPropertyDefinition=x,this.OverridingProperties=F,this.type=202636808}},t.IfcRelProjectsElement=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingElement=L,this.RelatedFeatureElement=x,this.type=750771296}},t.IfcRelReferencedInSpatialStructure=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedElements=L,this.RelatingStructure=x,this.type=1245217292}},t.IfcRelSchedulesCostItems=class extends kn{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingControl=F,this.type=1058617721}},t.IfcRelSequence=class extends Qt{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingProcess=L,this.RelatedProcess=x,this.TimeLag=F,this.SequenceType=U,this.type=4122056220}},t.IfcRelServicesBuildings=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingSystem=L,this.RelatedBuildings=x,this.type=366585022}},t.IfcRelSpaceBoundary=class extends Qt{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingSpace=L,this.RelatedBuildingElement=x,this.ConnectionGeometry=F,this.PhysicalOrVirtualBoundary=U,this.InternalOrExternalBoundary=B,this.type=3451746338}},t.IfcRelVoidsElement=class extends Qt{constructor(N,T,O,S,L,x){super(N,T,O,S),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingBuildingElement=L,this.RelatedOpeningElement=x,this.type=1401173127}};class cn extends An{constructor(T,O,S,L,x){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=2914609552}}t.IfcResource=cn,t.IfcRevolvedAreaSolid=class extends Vl{constructor(N,T,O,S){super(N,T),this.SweptArea=N,this.Position=T,this.Axis=O,this.Angle=S,this.type=1856042241}},t.IfcRightCircularCone=class extends ua{constructor(N,T,O){super(N),this.Position=N,this.Height=T,this.BottomRadius=O,this.type=4158566097}},t.IfcRightCircularCylinder=class extends ua{constructor(N,T,O){super(N),this.Position=N,this.Height=T,this.Radius=O,this.type=3626867408}};class lc extends ja{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.LongName=B,this.CompositionType=Z,this.type=2706606064}}t.IfcSpatialStructureElement=lc;class ya extends Ao{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3893378262}}t.IfcSpatialStructureElementType=ya,t.IfcSphere=class extends ua{constructor(N,T){super(N),this.Position=N,this.Radius=T,this.type=451544542}};class pc extends ja{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedLoad=B,this.GlobalOrLocal=Z,this.type=3544373492}}t.IfcStructuralActivity=pc;class hn extends ja{constructor(T,O,S,L,x,F,U){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.type=3136571912}}t.IfcStructuralItem=hn;class Bc extends hn{constructor(T,O,S,L,x,F,U){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.type=530289379}}t.IfcStructuralMember=Bc;class Sn extends pc{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedLoad=B,this.GlobalOrLocal=Z,this.type=3689010777}}t.IfcStructuralReaction=Sn;class Wl extends Bc{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.PredefinedType=B,this.Thickness=Z,this.type=3979015343}}t.IfcStructuralSurfaceMember=Wl,t.IfcStructuralSurfaceMemberVarying=class extends Wl{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.PredefinedType=U,this.Thickness=B,this.SubsequentThickness=Z,this.VaryingThicknessLocation=de,this.type=2218152070}},t.IfcStructuredDimensionCallout=class extends sr{constructor(N){super(N),this.Contents=N,this.type=4070609034}},t.IfcSurfaceCurveSweptAreaSolid=class extends Vl{constructor(N,T,O,S,L,x){super(N,T),this.SweptArea=N,this.Position=T,this.Directrix=O,this.StartParam=S,this.EndParam=L,this.ReferenceSurface=x,this.type=2028607225}},t.IfcSurfaceOfLinearExtrusion=class extends qr{constructor(N,T,O,S){super(N,T),this.SweptCurve=N,this.Position=T,this.ExtrudedDirection=O,this.Depth=S,this.type=2809605785}},t.IfcSurfaceOfRevolution=class extends qr{constructor(N,T,O){super(N,T),this.SweptCurve=N,this.Position=T,this.AxisPosition=O,this.type=4124788165}},t.IfcSystemFurnitureElementType=class extends Hn{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.type=1580310250}};class So extends Ms{constructor(T,O,S,L,x,F,U,B,Z,de){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.TaskId=F,this.Status=U,this.WorkMethod=B,this.IsMilestone=Z,this.Priority=de,this.type=3473067441}}t.IfcTask=So,t.IfcTransportElementType=class extends Ao{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2097647324}};class jl extends An{constructor(T,O,S,L,x,F){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.TheActor=F,this.type=2296667514}}t.IfcActor=jl,t.IfcAnnotation=class extends ja{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.type=1674181508}},t.IfcAsymmetricIShapeProfileDef=class extends Hh{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x,F,U),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.OverallWidth=S,this.OverallDepth=L,this.WebThickness=x,this.FlangeThickness=F,this.FilletRadius=U,this.TopFlangeWidth=B,this.TopFlangeThickness=Z,this.TopFlangeFilletRadius=de,this.CentreOfGravityInY=ve,this.type=3207858831}},t.IfcBlock=class extends ua{constructor(N,T,O,S){super(N),this.Position=N,this.XLength=T,this.YLength=O,this.ZLength=S,this.type=1334484129}},t.IfcBooleanClippingResult=class extends la{constructor(N,T,O){super(N,T,O),this.Operator=N,this.FirstOperand=T,this.SecondOperand=O,this.type=3649129432}};class Ya extends ac{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=Ya,t.IfcBuilding=class extends lc{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.LongName=U,this.CompositionType=B,this.ElevationOfRefHeight=Z,this.ElevationOfTerrain=de,this.BuildingAddress=ve,this.type=4031249490}};class Fr extends Ao{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=1950629157}}t.IfcBuildingElementType=Fr,t.IfcBuildingStorey=class extends lc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.LongName=U,this.CompositionType=B,this.Elevation=Z,this.type=3124254112}},t.IfcCircleHollowProfileDef=class extends Nu{constructor(N,T,O,S,L){super(N,T,O,S),this.ProfileType=N,this.ProfileName=T,this.Position=O,this.Radius=S,this.WallThickness=L,this.type=2937912522}},t.IfcColumnType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=300633059}};class Wt extends Ya{constructor(T,O){super(),this.Segments=T,this.SelfIntersect=O,this.type=3732776249}}t.IfcCompositeCurve=Wt;class Yl extends ac{constructor(T){super(),this.Position=T,this.type=2510884976}}t.IfcConic=Yl;class gi extends cn{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ResourceIdentifier=F,this.ResourceGroup=U,this.ResourceConsumption=B,this.BaseQuantity=Z,this.type=2559216714}}t.IfcConstructionResource=gi;class Jr extends An{constructor(T,O,S,L,x){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=3293443760}}t.IfcControl=Jr,t.IfcCostItem=class extends Jr{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=3895139033}},t.IfcCostSchedule=class extends Jr{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.SubmittedBy=x,this.PreparedBy=F,this.SubmittedOn=U,this.Status=B,this.TargetUsers=Z,this.UpdateDate=de,this.ID=ve,this.PredefinedType=Ve,this.type=1419761937}},t.IfcCoveringType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1916426348}},t.IfcCrewResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.type=3295246426}},t.IfcCurtainWallType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1457835157}};class Cn extends sr{constructor(T){super(T),this.Contents=T,this.type=681481545}}t.IfcDimensionCurveDirectedCallout=Cn;class Vh extends Ao{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3256556792}}t.IfcDistributionElementType=Vh;class mt extends Vh{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3849074793}}t.IfcDistributionFlowElementType=mt,t.IfcElectricalBaseProperties=class extends Ru{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.EnergySequence=L,this.UserDefinedEnergySequence=x,this.ElectricCurrentType=F,this.InputVoltage=U,this.InputFrequency=B,this.FullLoadCurrent=Z,this.MinimumCircuitCurrent=de,this.MaximumPowerInput=ve,this.RatedPowerInput=Ve,this.InputPhase=Ze,this.type=360485395}};class Ta extends ja{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=1758889154}}t.IfcElement=Ta,t.IfcElementAssembly=class extends Ta{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.AssemblyPlace=B,this.PredefinedType=Z,this.type=4123344466}};class Xn extends Ta{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=1623761950}}t.IfcElementComponent=Xn;class zl extends Ao{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2590856083}}t.IfcElementComponentType=zl,t.IfcEllipse=class extends Yl{constructor(N,T,O){super(N),this.Position=N,this.SemiAxis1=T,this.SemiAxis2=O,this.type=1704287377}};class vs extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2107101300}}t.IfcEnergyConversionDeviceType=vs,t.IfcEquipmentElement=class extends Ta{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=1962604670}},t.IfcEquipmentStandard=class extends Jr{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=3272907226}},t.IfcEvaporativeCoolerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3174744832}},t.IfcEvaporatorType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3390157468}},t.IfcFacetedBrep=class extends Ea{constructor(N){super(N),this.Outer=N,this.type=807026263}},t.IfcFacetedBrepWithVoids=class extends Ea{constructor(N,T){super(N),this.Outer=N,this.Voids=T,this.type=3737207727}};class kl extends Xn{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=647756555}}t.IfcFastener=kl;class Co extends zl{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2489546625}}t.IfcFastenerType=Co;class Xl extends Ta{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=2827207264}}t.IfcFeatureElement=Xl;class za extends Xl{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=2143335405}}t.IfcFeatureElementAddition=za;class Wh extends Xl{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=1287392070}}t.IfcFeatureElementSubtraction=Wh;class $r extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3907093117}}t.IfcFlowControllerType=$r;class Vc extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3198132628}}t.IfcFlowFittingType=Vc,t.IfcFlowMeterType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3815607619}};class Ur extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=1482959167}}t.IfcFlowMovingDeviceType=Ur;class Wc extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=1834744321}}t.IfcFlowSegmentType=Wc;class vt extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=1339347760}}t.IfcFlowStorageDeviceType=vt;class Kn extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2297155007}}t.IfcFlowTerminalType=Kn;class fr extends mt{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=fr,t.IfcFurnishingElement=class extends Ta{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=263784265}},t.IfcFurnitureStandard=class extends Jr{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=814719939}},t.IfcGasTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=200128114}},t.IfcGrid=class extends ja{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.UAxes=U,this.VAxes=B,this.WAxes=Z,this.type=3009204131}};class no extends An{constructor(T,O,S,L,x){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=2706460486}}t.IfcGroup=no,t.IfcHeatExchangerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1251058090}},t.IfcHumidifierType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1806887404}},t.IfcInventory=class extends no{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.InventoryType=x,this.Jurisdiction=F,this.ResponsiblePersons=U,this.LastUpdateDate=B,this.CurrentValue=Z,this.OriginalValue=de,this.type=2391368822}},t.IfcJunctionBoxType=class extends Vc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=4288270099}},t.IfcLaborResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.SkillSet=Z,this.type=3827777499}},t.IfcLampType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1051575348}},t.IfcLightFixtureType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1161773419}},t.IfcLinearDimension=class extends Cn{constructor(N){super(N),this.Contents=N,this.type=2506943328}},t.IfcMechanicalFastener=class extends kl{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.NominalDiameter=B,this.NominalLength=Z,this.type=377706215}},t.IfcMechanicalFastenerType=class extends Co{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.type=2108223431}},t.IfcMemberType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3181161470}},t.IfcMotorConnectionType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=977012517}},t.IfcMove=class extends So{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(N,T,O,S,L,x,F,U,B,Z),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.TaskId=x,this.Status=F,this.WorkMethod=U,this.IsMilestone=B,this.Priority=Z,this.MoveFrom=de,this.MoveTo=ve,this.PunchList=Ve,this.type=1916936684}},t.IfcOccupant=class extends jl{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.TheActor=x,this.PredefinedType=F,this.type=4143007308}},t.IfcOpeningElement=class extends Wh{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3588315303}},t.IfcOrderAction=class extends So{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B,Z),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.TaskId=x,this.Status=F,this.WorkMethod=U,this.IsMilestone=B,this.Priority=Z,this.ActionID=de,this.type=3425660407}},t.IfcOutletType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2837617999}},t.IfcPerformanceHistory=class extends Jr{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.LifeCyclePhase=x,this.type=2382730787}},t.IfcPermit=class extends Jr{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.PermitID=x,this.type=3327091369}},t.IfcPipeFittingType=class extends Vc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=804291784}},t.IfcPipeSegmentType=class extends Wc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=4231323485}},t.IfcPlateType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=4017108033}},t.IfcPolyline=class extends Ya{constructor(N){super(),this.Points=N,this.type=3724593414}};class da extends ja{constructor(T,O,S,L,x,F,U){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.type=3740093272}}t.IfcPort=da,t.IfcProcedure=class extends Ms{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ProcedureID=x,this.ProcedureType=F,this.UserDefinedProcedureType=U,this.type=2744685151}},t.IfcProjectOrder=class extends Jr{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ID=x,this.PredefinedType=F,this.Status=U,this.type=2904328755}},t.IfcProjectOrderRecord=class extends Jr{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.Records=x,this.PredefinedType=F,this.type=3642467123}},t.IfcProjectionElement=class extends za{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3651124850}},t.IfcProtectiveDeviceType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1842657554}},t.IfcPumpType=class extends Ur{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2250791053}},t.IfcRadiusDimension=class extends Cn{constructor(N){super(N),this.Contents=N,this.type=3248260540}},t.IfcRailingType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2893384427}},t.IfcRampFlightType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2324767716}},t.IfcRelAggregates=class extends cc{constructor(N,T,O,S,L,x){super(N,T,O,S,L,x),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatingObject=L,this.RelatedObjects=x,this.type=160246688}},t.IfcRelAssignsTasks=class extends kn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.RelatedObjects=L,this.RelatedObjectsType=x,this.RelatingControl=F,this.TimeForTask=U,this.type=2863920197}},t.IfcSanitaryTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1768891740}},t.IfcScheduleTimeControl=class extends Jr{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr,bn,qn,ao,bo,pn,en){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ActualStart=x,this.EarlyStart=F,this.LateStart=U,this.ScheduleStart=B,this.ActualFinish=Z,this.EarlyFinish=de,this.LateFinish=ve,this.ScheduleFinish=Ve,this.ScheduleDuration=Ze,this.ActualDuration=Jt,this.RemainingTime=Pi,this.FreeFloat=wr,this.TotalFloat=bn,this.IsCritical=qn,this.StatusTime=ao,this.StartFloat=bo,this.FinishFloat=pn,this.Completion=en,this.type=3517283431}},t.IfcServiceLife=class extends Jr{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ServiceLifeType=x,this.ServiceLifeDuration=F,this.type=4105383287}},t.IfcSite=class extends lc{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.LongName=U,this.CompositionType=B,this.RefLatitude=Z,this.RefLongitude=de,this.RefElevation=ve,this.LandTitleNumber=Ve,this.SiteAddress=Ze,this.type=4097777520}},t.IfcSlabType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2533589738}},t.IfcSpace=class extends lc{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.LongName=U,this.CompositionType=B,this.InteriorOrExteriorSpace=Z,this.ElevationWithFlooring=de,this.type=3856911033}},t.IfcSpaceHeaterType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1305183839}},t.IfcSpaceProgram=class extends Jr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.SpaceProgramIdentifier=x,this.MaxRequiredArea=F,this.MinRequiredArea=U,this.RequestedLocation=B,this.StandardRequiredArea=Z,this.type=652456506}},t.IfcSpaceType=class extends ya{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3812236995}},t.IfcStackTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3112655638}},t.IfcStairFlightType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1039846685}};class jh extends pc{constructor(T,O,S,L,x,F,U,B,Z,de,ve){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedLoad=B,this.GlobalOrLocal=Z,this.DestabilizingLoad=de,this.CausedBy=ve,this.type=682877961}}t.IfcStructuralAction=jh;class Na extends hn{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedCondition=B,this.type=1179482911}}t.IfcStructuralConnection=Na,t.IfcStructuralCurveConnection=class extends Na{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedCondition=U,this.type=4243806635}};class fu extends Bc{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.PredefinedType=B,this.type=214636428}}t.IfcStructuralCurveMember=fu,t.IfcStructuralCurveMemberVarying=class extends fu{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.PredefinedType=U,this.type=2445595289}};class ln extends jh{constructor(T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(T,O,S,L,x,F,U,B,Z,de,ve),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedLoad=B,this.GlobalOrLocal=Z,this.DestabilizingLoad=de,this.CausedBy=ve,this.ProjectedOrTrue=Ve,this.type=1807405624}}t.IfcStructuralLinearAction=ln,t.IfcStructuralLinearActionVarying=class extends ln{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L,x,F,U,B,Z,de,ve),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedLoad=U,this.GlobalOrLocal=B,this.DestabilizingLoad=Z,this.CausedBy=de,this.ProjectedOrTrue=ve,this.VaryingAppliedLoadLocation=Ve,this.SubsequentAppliedLoads=Ze,this.type=1721250024}},t.IfcStructuralLoadGroup=class extends no{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.PredefinedType=x,this.ActionType=F,this.ActionSource=U,this.Coefficient=B,this.Purpose=Z,this.type=1252848954}};class Zn extends jh{constructor(T,O,S,L,x,F,U,B,Z,de,ve,Ve){super(T,O,S,L,x,F,U,B,Z,de,ve),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.AppliedLoad=B,this.GlobalOrLocal=Z,this.DestabilizingLoad=de,this.CausedBy=ve,this.ProjectedOrTrue=Ve,this.type=1621171031}}t.IfcStructuralPlanarAction=Zn,t.IfcStructuralPlanarActionVarying=class extends Zn{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L,x,F,U,B,Z,de,ve),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedLoad=U,this.GlobalOrLocal=B,this.DestabilizingLoad=Z,this.CausedBy=de,this.ProjectedOrTrue=ve,this.VaryingAppliedLoadLocation=Ve,this.SubsequentAppliedLoads=Ze,this.type=3987759626}},t.IfcStructuralPointAction=class extends jh{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B,Z,de),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedLoad=U,this.GlobalOrLocal=B,this.DestabilizingLoad=Z,this.CausedBy=de,this.type=2082059205}},t.IfcStructuralPointConnection=class extends Na{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedCondition=U,this.type=734778138}},t.IfcStructuralPointReaction=class extends Sn{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedLoad=U,this.GlobalOrLocal=B,this.type=1235345126}},t.IfcStructuralResultGroup=class extends no{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.TheoryType=x,this.ResultForLoadGroup=F,this.IsLinear=U,this.type=2986769608}},t.IfcStructuralSurfaceConnection=class extends Na{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.AppliedCondition=U,this.type=1975003073}},t.IfcSubContractResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.SubContractor=Z,this.JobDescription=de,this.type=148013059}},t.IfcSwitchingDeviceType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2315554128}};class ba extends no{constructor(T,O,S,L,x){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.type=2254336722}}t.IfcSystem=ba,t.IfcTankType=class extends vt{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=5716631}},t.IfcTimeSeriesSchedule=class extends Jr{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ApplicableDates=x,this.TimeSeriesScheduleType=F,this.TimeSeries=U,this.type=1637806684}},t.IfcTransformerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1692211062}},t.IfcTransportElement=class extends Ta{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.OperationType=B,this.CapacityByWeight=Z,this.CapacityByNumber=de,this.type=1620046519}},t.IfcTrimmedCurve=class extends Ya{constructor(N,T,O,S,L){super(),this.BasisCurve=N,this.Trim1=T,this.Trim2=O,this.SenseAgreement=S,this.MasterRepresentation=L,this.type=3593883385}},t.IfcTubeBundleType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1600972822}},t.IfcUnitaryEquipmentType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1911125066}},t.IfcValveType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=728799441}},t.IfcVirtualElement=class extends Ta{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=2769231204}},t.IfcWallType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1898987631}},t.IfcWasteTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1133259667}};class Kl extends Jr{constructor(T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi){super(T,O,S,L,x),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.Identifier=F,this.CreationDate=U,this.Creators=B,this.Purpose=Z,this.Duration=de,this.TotalFloat=ve,this.StartTime=Ve,this.FinishTime=Ze,this.WorkControlType=Jt,this.UserDefinedControlType=Pi,this.type=1028945134}}t.IfcWorkControl=Kl,t.IfcWorkPlan=class extends Kl{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt){super(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.Identifier=x,this.CreationDate=F,this.Creators=U,this.Purpose=B,this.Duration=Z,this.TotalFloat=de,this.StartTime=ve,this.FinishTime=Ve,this.WorkControlType=Ze,this.UserDefinedControlType=Jt,this.type=4218914973}},t.IfcWorkSchedule=class extends Kl{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt){super(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.Identifier=x,this.CreationDate=F,this.Creators=U,this.Purpose=B,this.Duration=Z,this.TotalFloat=de,this.StartTime=ve,this.FinishTime=Ve,this.WorkControlType=Ze,this.UserDefinedControlType=Jt,this.type=3342526732}},t.IfcZone=class extends no{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=1033361043}},t.Ifc2DCompositeCurve=class extends Wt{constructor(N,T){super(N,T),this.Segments=N,this.SelfIntersect=T,this.type=1213861670}},t.IfcActionRequest=class extends Jr{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.RequestID=x,this.type=3821786052}},t.IfcAirTerminalBoxType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1411407467}},t.IfcAirTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3352864051}},t.IfcAirToAirHeatRecoveryType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1871374353}},t.IfcAngularDimension=class extends Cn{constructor(N){super(N),this.Contents=N,this.type=2470393545}},t.IfcAsset=class extends no{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.AssetID=x,this.OriginalValue=F,this.CurrentValue=U,this.TotalReplacementCost=B,this.Owner=Z,this.User=de,this.ResponsiblePerson=ve,this.IncorporationDate=Ve,this.DepreciatedValue=Ze,this.type=3460190687}};class ka extends Ya{constructor(T,O,S,L,x){super(),this.Degree=T,this.ControlPointsList=O,this.CurveForm=S,this.ClosedCurve=L,this.SelfIntersect=x,this.type=1967976161}}t.IfcBSplineCurve=ka,t.IfcBeamType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=819618141}};class Yh extends ka{constructor(T,O,S,L,x){super(T,O,S,L,x),this.Degree=T,this.ControlPointsList=O,this.CurveForm=S,this.ClosedCurve=L,this.SelfIntersect=x,this.type=1916977116}}t.IfcBezierCurve=Yh,t.IfcBoilerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=231477066}};class Ns extends Ta{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=3299480353}}t.IfcBuildingElement=Ns;class Zl extends Ns{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=52481810}}t.IfcBuildingElementComponent=Zl,t.IfcBuildingElementPart=class extends Zl{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=2979338954}},t.IfcBuildingElementProxy=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.CompositionType=B,this.type=1095909175}},t.IfcBuildingElementProxyType=class extends Fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1909888760}},t.IfcCableCarrierFittingType=class extends Vc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=395041908}},t.IfcCableCarrierSegmentType=class extends Wc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3293546465}},t.IfcCableSegmentType=class extends Wc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1285652485}},t.IfcChillerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2951183804}},t.IfcCircle=class extends Yl{constructor(N,T){super(N),this.Position=N,this.Radius=T,this.type=2611217952}},t.IfcCoilType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2301859152}},t.IfcColumn=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=843113511}},t.IfcCompressorType=class extends Ur{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3850581409}},t.IfcCondenserType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2816379211}},t.IfcCondition=class extends no{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=2188551683}},t.IfcConditionCriterion=class extends Jr{constructor(N,T,O,S,L,x,F){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.Criterion=x,this.CriterionDateTime=F,this.type=1163958913}},t.IfcConstructionEquipmentResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.type=3898045240}},t.IfcConstructionMaterialResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.Suppliers=Z,this.UsageRatio=de,this.type=1060000209}},t.IfcConstructionProductResource=class extends gi{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ResourceIdentifier=x,this.ResourceGroup=F,this.ResourceConsumption=U,this.BaseQuantity=B,this.type=488727124}},t.IfcCooledBeamType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=335055490}},t.IfcCoolingTowerType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2954562838}},t.IfcCovering=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.PredefinedType=B,this.type=1973544240}},t.IfcCurtainWall=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3495092785}},t.IfcDamperType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3961806047}},t.IfcDiameterDimension=class extends Cn{constructor(N){super(N),this.Contents=N,this.type=4147604152}},t.IfcDiscreteAccessory=class extends Xn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=1335981549}};class jc extends zl{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2635815018}}t.IfcDiscreteAccessoryType=jc,t.IfcDistributionChamberElementType=class extends mt{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1599208980}};class La extends Vh{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B,Z),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ApplicableOccurrence=x,this.HasPropertySets=F,this.RepresentationMaps=U,this.Tag=B,this.ElementType=Z,this.type=2063403501}}t.IfcDistributionControlElementType=La;class uc extends Ta{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=1945004755}}t.IfcDistributionElement=uc;class vn extends uc{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=3040386961}}t.IfcDistributionFlowElement=vn,t.IfcDistributionPort=class extends da{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.FlowDirection=U,this.type=3041715199}},t.IfcDoor=class extends Ns{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.OverallHeight=B,this.OverallWidth=Z,this.type=395920057}},t.IfcDuctFittingType=class extends Vc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=869906466}},t.IfcDuctSegmentType=class extends Wc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3760055223}},t.IfcDuctSilencerType=class extends fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2030761528}};class zh extends Wh{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.FeatureLength=Z,this.type=855621170}}t.IfcEdgeFeature=zh,t.IfcElectricApplianceType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=663422040}},t.IfcElectricFlowStorageDeviceType=class extends vt{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3277789161}},t.IfcElectricGeneratorType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1534661035}},t.IfcElectricHeaterType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1365060375}},t.IfcElectricMotorType=class extends vs{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1217240411}},t.IfcElectricTimeControlType=class extends $r{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=712377611}},t.IfcElectricalCircuit=class extends ba{constructor(N,T,O,S,L){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.type=1634875225}},t.IfcElectricalElement=class extends Ta{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=857184966}},t.IfcEnergyConversionDevice=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=1658829314}},t.IfcFanType=class extends Ur{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=346874300}},t.IfcFilterType=class extends fr{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1810631287}},t.IfcFireSuppressionTerminalType=class extends Kn{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=4222183408}};class vo extends vn{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=2058353004}}t.IfcFlowController=vo,t.IfcFlowFitting=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=4278956645}},t.IfcFlowInstrumentType=class extends La{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=4037862832}},t.IfcFlowMovingDevice=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3132237377}},t.IfcFlowSegment=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=987401354}},t.IfcFlowStorageDevice=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=707683696}},t.IfcFlowTerminal=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=2223149337}},t.IfcFlowTreatmentDevice=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3508470533}},t.IfcFooting=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.PredefinedType=B,this.type=900683007}},t.IfcMember=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=1073191201}},t.IfcPile=class extends Ns{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.PredefinedType=B,this.ConstructionType=Z,this.type=1687234759}},t.IfcPlate=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3171933400}},t.IfcRailing=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.PredefinedType=B,this.type=2262370178}},t.IfcRamp=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.ShapeType=B,this.type=3024970846}},t.IfcRampFlight=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3283111854}},t.IfcRationalBezierCurve=class extends Yh{constructor(N,T,O,S,L,x){super(N,T,O,S,L),this.Degree=N,this.ControlPointsList=T,this.CurveForm=O,this.ClosedCurve=S,this.SelfIntersect=L,this.WeightsData=x,this.type=3055160366}};class Ra extends Zl{constructor(T,O,S,L,x,F,U,B,Z){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.SteelGrade=Z,this.type=3027567501}}t.IfcReinforcingElement=Ra,t.IfcReinforcingMesh=class extends Ra{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.SteelGrade=B,this.MeshLength=Z,this.MeshWidth=de,this.LongitudinalBarNominalDiameter=ve,this.TransverseBarNominalDiameter=Ve,this.LongitudinalBarCrossSectionArea=Ze,this.TransverseBarCrossSectionArea=Jt,this.LongitudinalBarSpacing=Pi,this.TransverseBarSpacing=wr,this.type=2320036040}},t.IfcRoof=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.ShapeType=B,this.type=2016517767}},t.IfcRoundedEdgeFeature=class extends zh{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.FeatureLength=B,this.Radius=Z,this.type=1376911519}},t.IfcSensorType=class extends La{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=1783015770}},t.IfcSlab=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.PredefinedType=B,this.type=1529196076}},t.IfcStair=class extends Ns{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.ShapeType=B,this.type=331165859}},t.IfcStairFlight=class extends Ns{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.NumberOfRiser=B,this.NumberOfTreads=Z,this.RiserHeight=de,this.TreadLength=ve,this.type=4252922144}},t.IfcStructuralAnalysisModel=class extends ba{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.PredefinedType=x,this.OrientationOf2DPlane=F,this.LoadedBy=U,this.HasResults=B,this.type=2515109513}},t.IfcTendon=class extends Ra{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze,Jt,Pi,wr){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.SteelGrade=B,this.PredefinedType=Z,this.NominalDiameter=de,this.CrossSectionArea=ve,this.TensionForce=Ve,this.PreStress=Ze,this.FrictionCoefficient=Jt,this.AnchorageSlip=Pi,this.MinCurvatureRadius=wr,this.type=3824725483}},t.IfcTendonAnchor=class extends Ra{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.SteelGrade=B,this.type=2347447852}},t.IfcVibrationIsolatorType=class extends jc{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3313531582}};class Xa extends Ns{constructor(T,O,S,L,x,F,U,B){super(T,O,S,L,x,F,U,B),this.GlobalId=T,this.OwnerHistory=O,this.Name=S,this.Description=L,this.ObjectType=x,this.ObjectPlacement=F,this.Representation=U,this.Tag=B,this.type=2391406946}}t.IfcWall=Xa,t.IfcWallStandardCase=class extends Xa{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=3512223829}},t.IfcWindow=class extends Ns{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.OverallHeight=B,this.OverallWidth=Z,this.type=3304561284}},t.IfcActuatorType=class extends La{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=2874132201}},t.IfcAlarmType=class extends La{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=3001207471}},t.IfcBeam=class extends Ns{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=753842376}},t.IfcChamferEdgeFeature=class extends zh{constructor(N,T,O,S,L,x,F,U,B,Z,de){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.FeatureLength=B,this.Width=Z,this.Height=de,this.type=2454782716}},t.IfcControllerType=class extends La{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ApplicableOccurrence=L,this.HasPropertySets=x,this.RepresentationMaps=F,this.Tag=U,this.ElementType=B,this.PredefinedType=Z,this.type=578613899}},t.IfcDistributionChamberElement=class extends vn{constructor(N,T,O,S,L,x,F,U){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.type=1052013943}},t.IfcDistributionControlElement=class extends uc{constructor(N,T,O,S,L,x,F,U,B){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.ControlElementId=B,this.type=1062813311}},t.IfcElectricDistributionPoint=class extends vo{constructor(N,T,O,S,L,x,F,U,B,Z){super(N,T,O,S,L,x,F,U),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.DistributionPointFunction=B,this.UserDefinedFunction=Z,this.type=3700593921}},t.IfcReinforcingBar=class extends Ra{constructor(N,T,O,S,L,x,F,U,B,Z,de,ve,Ve,Ze){super(N,T,O,S,L,x,F,U,B),this.GlobalId=N,this.OwnerHistory=T,this.Name=O,this.Description=S,this.ObjectType=L,this.ObjectPlacement=x,this.Representation=F,this.Tag=U,this.SteelGrade=B,this.NominalDiameter=Z,this.CrossSectionArea=de,this.BarLength=ve,this.BarRole=Ve,this.BarSurface=Ze,this.type=979691226}}})(Ne||(Ne={})),bN[1]={3699917729:t=>new Te.IfcAbsorbedDoseMeasure(t),4182062534:t=>new Te.IfcAccelerationMeasure(t),360377573:t=>new Te.IfcAmountOfSubstanceMeasure(t),632304761:t=>new Te.IfcAngularVelocityMeasure(t),3683503648:t=>new Te.IfcArcIndex(t.map((e=>e.value))),1500781891:t=>new Te.IfcAreaDensityMeasure(t),2650437152:t=>new Te.IfcAreaMeasure(t),2314439260:t=>new Te.IfcBinary(t),2735952531:t=>new Te.IfcBoolean(t),1867003952:t=>new Te.IfcBoxAlignment(t),1683019596:t=>new Te.IfcCardinalPointReference(t),2991860651:t=>new Te.IfcComplexNumber(t.map((e=>e.value))),3812528620:t=>new Te.IfcCompoundPlaneAngleMeasure(t.map((e=>e.value))),3238673880:t=>new Te.IfcContextDependentMeasure(t),1778710042:t=>new Te.IfcCountMeasure(t),94842927:t=>new Te.IfcCurvatureMeasure(t),937566702:t=>new Te.IfcDate(t),2195413836:t=>new Te.IfcDateTime(t),86635668:t=>new Te.IfcDayInMonthNumber(t),3701338814:t=>new Te.IfcDayInWeekNumber(t),1514641115:t=>new Te.IfcDescriptiveMeasure(t),4134073009:t=>new Te.IfcDimensionCount(t),524656162:t=>new Te.IfcDoseEquivalentMeasure(t),2541165894:t=>new Te.IfcDuration(t),69416015:t=>new Te.IfcDynamicViscosityMeasure(t),1827137117:t=>new Te.IfcElectricCapacitanceMeasure(t),3818826038:t=>new Te.IfcElectricChargeMeasure(t),2093906313:t=>new Te.IfcElectricConductanceMeasure(t),3790457270:t=>new Te.IfcElectricCurrentMeasure(t),2951915441:t=>new Te.IfcElectricResistanceMeasure(t),2506197118:t=>new Te.IfcElectricVoltageMeasure(t),2078135608:t=>new Te.IfcEnergyMeasure(t),1102727119:t=>new Te.IfcFontStyle(t),2715512545:t=>new Te.IfcFontVariant(t),2590844177:t=>new Te.IfcFontWeight(t),1361398929:t=>new Te.IfcForceMeasure(t),3044325142:t=>new Te.IfcFrequencyMeasure(t),3064340077:t=>new Te.IfcGloballyUniqueId(t),3113092358:t=>new Te.IfcHeatFluxDensityMeasure(t),1158859006:t=>new Te.IfcHeatingValueMeasure(t),983778844:t=>new Te.IfcIdentifier(t),3358199106:t=>new Te.IfcIlluminanceMeasure(t),2679005408:t=>new Te.IfcInductanceMeasure(t),1939436016:t=>new Te.IfcInteger(t),3809634241:t=>new Te.IfcIntegerCountRateMeasure(t),3686016028:t=>new Te.IfcIonConcentrationMeasure(t),3192672207:t=>new Te.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new Te.IfcKinematicViscosityMeasure(t),3258342251:t=>new Te.IfcLabel(t),1275358634:t=>new Te.IfcLanguageId(t),1243674935:t=>new Te.IfcLengthMeasure(t),1774176899:t=>new Te.IfcLineIndex(t.map((e=>e.value))),191860431:t=>new Te.IfcLinearForceMeasure(t),2128979029:t=>new Te.IfcLinearMomentMeasure(t),1307019551:t=>new Te.IfcLinearStiffnessMeasure(t),3086160713:t=>new Te.IfcLinearVelocityMeasure(t),503418787:t=>new Te.IfcLogical(t),2095003142:t=>new Te.IfcLuminousFluxMeasure(t),2755797622:t=>new Te.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new Te.IfcLuminousIntensityMeasure(t),286949696:t=>new Te.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new Te.IfcMagneticFluxMeasure(t),1477762836:t=>new Te.IfcMassDensityMeasure(t),4017473158:t=>new Te.IfcMassFlowRateMeasure(t),3124614049:t=>new Te.IfcMassMeasure(t),3531705166:t=>new Te.IfcMassPerLengthMeasure(t),3341486342:t=>new Te.IfcModulusOfElasticityMeasure(t),2173214787:t=>new Te.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new Te.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new Te.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new Te.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new Te.IfcMolecularWeightMeasure(t),3114022597:t=>new Te.IfcMomentOfInertiaMeasure(t),2615040989:t=>new Te.IfcMonetaryMeasure(t),765770214:t=>new Te.IfcMonthInYearNumber(t),525895558:t=>new Te.IfcNonNegativeLengthMeasure(t),2095195183:t=>new Te.IfcNormalisedRatioMeasure(t),2395907400:t=>new Te.IfcNumericMeasure(t),929793134:t=>new Te.IfcPHMeasure(t),2260317790:t=>new Te.IfcParameterValue(t),2642773653:t=>new Te.IfcPlanarForceMeasure(t),4042175685:t=>new Te.IfcPlaneAngleMeasure(t),1790229001:t=>new Te.IfcPositiveInteger(t),2815919920:t=>new Te.IfcPositiveLengthMeasure(t),3054510233:t=>new Te.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new Te.IfcPositiveRatioMeasure(t),1364037233:t=>new Te.IfcPowerMeasure(t),2169031380:t=>new Te.IfcPresentableText(t),3665567075:t=>new Te.IfcPressureMeasure(t),2798247006:t=>new Te.IfcPropertySetDefinitionSet(t.map((e=>e.value))),3972513137:t=>new Te.IfcRadioActivityMeasure(t),96294661:t=>new Te.IfcRatioMeasure(t),200335297:t=>new Te.IfcReal(t),2133746277:t=>new Te.IfcRotationalFrequencyMeasure(t),1755127002:t=>new Te.IfcRotationalMassMeasure(t),3211557302:t=>new Te.IfcRotationalStiffnessMeasure(t),3467162246:t=>new Te.IfcSectionModulusMeasure(t),2190458107:t=>new Te.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new Te.IfcShearModulusMeasure(t),3471399674:t=>new Te.IfcSolidAngleMeasure(t),4157543285:t=>new Te.IfcSoundPowerLevelMeasure(t),846465480:t=>new Te.IfcSoundPowerMeasure(t),3457685358:t=>new Te.IfcSoundPressureLevelMeasure(t),993287707:t=>new Te.IfcSoundPressureMeasure(t),3477203348:t=>new Te.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new Te.IfcSpecularExponent(t),361837227:t=>new Te.IfcSpecularRoughness(t),58845555:t=>new Te.IfcTemperatureGradientMeasure(t),1209108979:t=>new Te.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new Te.IfcText(t),1460886941:t=>new Te.IfcTextAlignment(t),3490877962:t=>new Te.IfcTextDecoration(t),603696268:t=>new Te.IfcTextFontName(t),296282323:t=>new Te.IfcTextTransformation(t),232962298:t=>new Te.IfcThermalAdmittanceMeasure(t),2645777649:t=>new Te.IfcThermalConductivityMeasure(t),2281867870:t=>new Te.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new Te.IfcThermalResistanceMeasure(t),2016195849:t=>new Te.IfcThermalTransmittanceMeasure(t),743184107:t=>new Te.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new Te.IfcTime(t),2726807636:t=>new Te.IfcTimeMeasure(t),2591213694:t=>new Te.IfcTimeStamp(t),1278329552:t=>new Te.IfcTorqueMeasure(t),950732822:t=>new Te.IfcURIReference(t),3345633955:t=>new Te.IfcVaporPermeabilityMeasure(t),3458127941:t=>new Te.IfcVolumeMeasure(t),2593997549:t=>new Te.IfcVolumetricFlowRateMeasure(t),51269191:t=>new Te.IfcWarpingConstantMeasure(t),1718600412:t=>new Te.IfcWarpingMomentMeasure(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}},t.IfcAccelerationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}},t.IfcAmountOfSubstanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}},t.IfcAngularVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}},t.IfcArcIndex=class{constructor(p){this.value=p,this.type=5}},t.IfcAreaDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}},t.IfcAreaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}},t.IfcBinary=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}},t.IfcBoolean=class{constructor(p){this.type=3,this.name="IFCBOOLEAN",this.value=p}},t.IfcBoxAlignment=class{constructor(p){this.value=p,this.type=1,this.name="IFCBOXALIGNMENT"}},t.IfcCardinalPointReference=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}},t.IfcComplexNumber=class{constructor(p){this.value=p,this.type=4}},t.IfcCompoundPlaneAngleMeasure=class{constructor(p){this.value=p,this.type=10}},t.IfcContextDependentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}},t.IfcCountMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCOUNTMEASURE"}},t.IfcCurvatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}},t.IfcDate=class{constructor(p){this.value=p,this.type=1,this.name="IFCDATE"}},t.IfcDateTime=class{constructor(p){this.value=p,this.type=1,this.name="IFCDATETIME"}},t.IfcDayInMonthNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}},t.IfcDayInWeekNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}},t.IfcDescriptiveMeasure=class{constructor(p){this.value=p,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e,t.IfcDoseEquivalentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}},t.IfcDuration=class{constructor(p){this.value=p,this.type=1,this.name="IFCDURATION"}},t.IfcDynamicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}},t.IfcElectricCapacitanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}},t.IfcElectricChargeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}},t.IfcElectricConductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}},t.IfcElectricCurrentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}},t.IfcElectricResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}},t.IfcElectricVoltageMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}},t.IfcEnergyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}},t.IfcFontStyle=class{constructor(p){this.value=p,this.type=1,this.name="IFCFONTSTYLE"}},t.IfcFontVariant=class{constructor(p){this.value=p,this.type=1,this.name="IFCFONTVARIANT"}},t.IfcFontWeight=class{constructor(p){this.value=p,this.type=1,this.name="IFCFONTWEIGHT"}},t.IfcForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}},t.IfcFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}},t.IfcGloballyUniqueId=class{constructor(p){this.value=p,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}},t.IfcHeatFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}},t.IfcHeatingValueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}},t.IfcIdentifier=class{constructor(p){this.value=p,this.type=1,this.name="IFCIDENTIFIER"}},t.IfcIlluminanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}},t.IfcInductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}},t.IfcInteger=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}},t.IfcIntegerCountRateMeasure=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}},t.IfcIonConcentrationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}},t.IfcIsothermalMoistureCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}},t.IfcKinematicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}},t.IfcLabel=class{constructor(p){this.value=p,this.type=1,this.name="IFCLABEL"}},t.IfcLanguageId=class{constructor(p){this.value=p,this.type=1,this.name="IFCLANGUAGEID"}},t.IfcLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}},t.IfcLineIndex=class{constructor(p){this.value=p,this.type=5}},t.IfcLinearForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}},t.IfcLinearMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}},t.IfcLinearStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}},t.IfcLinearVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}},t.IfcLogical=class{constructor(p){this.type=3,this.name="IFCLOGICAL",this.value=p}},t.IfcLuminousFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}},t.IfcLuminousIntensityDistributionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}},t.IfcLuminousIntensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}},t.IfcMagneticFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}},t.IfcMagneticFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}},t.IfcMassDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}},t.IfcMassFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}},t.IfcMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}},t.IfcMassPerLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}},t.IfcModulusOfElasticityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}},t.IfcModulusOfLinearSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}},t.IfcMoistureDiffusivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}},t.IfcMolecularWeightMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}},t.IfcMomentOfInertiaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}},t.IfcMonetaryMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}},t.IfcMonthInYearNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}},t.IfcNonNegativeLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}},t.IfcNormalisedRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}},t.IfcNumericMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}},t.IfcPHMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}},t.IfcParameterValue=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}},t.IfcPlanarForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}},t.IfcPlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}},t.IfcPositiveInteger=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}},t.IfcPositiveLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}},t.IfcPositivePlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}},t.IfcPositiveRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}},t.IfcPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}},t.IfcPresentableText=class{constructor(p){this.value=p,this.type=1,this.name="IFCPRESENTABLETEXT"}},t.IfcPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}},t.IfcPropertySetDefinitionSet=class{constructor(p){this.value=p,this.type=5}},t.IfcRadioActivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}},t.IfcRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}},t.IfcReal=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}},t.IfcRotationalFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}},t.IfcRotationalMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}},t.IfcRotationalStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}},t.IfcSectionModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}},t.IfcSectionalAreaIntegralMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}},t.IfcShearModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}},t.IfcSolidAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}},t.IfcSoundPowerLevelMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}},t.IfcSoundPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}},t.IfcSoundPressureLevelMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}},t.IfcSoundPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}},t.IfcSpecificHeatCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}},t.IfcSpecularExponent=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}},t.IfcSpecularRoughness=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}},t.IfcTemperatureGradientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}},t.IfcTemperatureRateOfChangeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}},t.IfcText=class{constructor(p){this.value=p,this.type=1,this.name="IFCTEXT"}},t.IfcTextAlignment=class{constructor(p){this.value=p,this.type=1,this.name="IFCTEXTALIGNMENT"}},t.IfcTextDecoration=class{constructor(p){this.value=p,this.type=1,this.name="IFCTEXTDECORATION"}},t.IfcTextFontName=class{constructor(p){this.value=p,this.type=1,this.name="IFCTEXTFONTNAME"}},t.IfcTextTransformation=class{constructor(p){this.value=p,this.type=1,this.name="IFCTEXTTRANSFORMATION"}},t.IfcThermalAdmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}},t.IfcThermalConductivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}},t.IfcThermalExpansionCoefficientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}},t.IfcThermalResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}},t.IfcThermalTransmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}},t.IfcThermodynamicTemperatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}},t.IfcTime=class{constructor(p){this.value=p,this.type=1,this.name="IFCTIME"}},t.IfcTimeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}},t.IfcTimeStamp=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}},t.IfcTorqueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}},t.IfcURIReference=class{constructor(p){this.value=p,this.type=1,this.name="IFCURIREFERENCE"}},t.IfcVaporPermeabilityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}},t.IfcVolumeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}},t.IfcVolumetricFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}},t.IfcWarpingConstantMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}},t.IfcWarpingMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}};let s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;let r=class{};r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.SNOW_S={type:3,value:"SNOW_S"},r.WIND_W={type:3,value:"WIND_W"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.FIRE={type:3,value:"FIRE"},r.IMPULSE={type:3,value:"IMPULSE"},r.IMPACT={type:3,value:"IMPACT"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.ERECTION={type:3,value:"ERECTION"},r.PROPPING={type:3,value:"PROPPING"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.CREEP={type:3,value:"CREEP"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.ICE={type:3,value:"ICE"},r.CURRENT={type:3,value:"CURRENT"},r.WAVE={type:3,value:"WAVE"},r.RAIN={type:3,value:"RAIN"},r.BRAKES={type:3,value:"BRAKES"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=r;t.IfcActionSourceTypeEnum=o;let y=class{};y.PERMANENT_G={type:3,value:"PERMANENT_G"},y.VARIABLE_Q={type:3,value:"VARIABLE_Q"},y.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=y;t.IfcActionTypeEnum=R;let v=class{};v.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},v.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},v.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},v.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},v.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"};let P=v;t.IfcActuatorTypeEnum=P;let M=class{};M.OFFICE={type:3,value:"OFFICE"},M.SITE={type:3,value:"SITE"},M.HOME={type:3,value:"HOME"},M.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},M.USERDEFINED={type:3,value:"USERDEFINED"};let G=M;t.IfcAddressTypeEnum=G;let w=class{};w.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},w.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},w.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=w;t.IfcAirTerminalBoxTypeEnum=H;let W=class{};W.DIFFUSER={type:3,value:"DIFFUSER"},W.GRILLE={type:3,value:"GRILLE"},W.LOUVRE={type:3,value:"LOUVRE"},W.REGISTER={type:3,value:"REGISTER"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let k=W;t.IfcAirTerminalTypeEnum=k;let j=class{};j.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},j.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},j.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},j.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},j.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},j.HEATPIPE={type:3,value:"HEATPIPE"},j.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},j.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},j.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=j;t.IfcAirToAirHeatRecoveryTypeEnum=X;let q=class{};q.BELL={type:3,value:"BELL"},q.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},q.LIGHT={type:3,value:"LIGHT"},q.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},q.SIREN={type:3,value:"SIREN"},q.WHISTLE={type:3,value:"WHISTLE"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let K=q;t.IfcAlarmTypeEnum=K;let Q=class{};Q.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Q.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Q.LOADING_3D={type:3,value:"LOADING_3D"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"};let ie=Q;t.IfcAnalysisModelTypeEnum=ie;let ee=class{};ee.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},ee.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},ee.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},ee.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"};let oe=ee;t.IfcAnalysisTheoryTypeEnum=oe;let re=class{};re.ADD={type:3,value:"ADD"},re.DIVIDE={type:3,value:"DIVIDE"},re.MULTIPLY={type:3,value:"MULTIPLY"},re.SUBTRACT={type:3,value:"SUBTRACT"};let ne=re;t.IfcArithmeticOperatorEnum=ne;let ce=class{};ce.SITE={type:3,value:"SITE"},ce.FACTORY={type:3,value:"FACTORY"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"};let he=ce;t.IfcAssemblyPlaceEnum=he;let Ee=class{};Ee.AMPLIFIER={type:3,value:"AMPLIFIER"},Ee.CAMERA={type:3,value:"CAMERA"},Ee.DISPLAY={type:3,value:"DISPLAY"},Ee.MICROPHONE={type:3,value:"MICROPHONE"},Ee.PLAYER={type:3,value:"PLAYER"},Ee.PROJECTOR={type:3,value:"PROJECTOR"},Ee.RECEIVER={type:3,value:"RECEIVER"},Ee.SPEAKER={type:3,value:"SPEAKER"},Ee.SWITCHER={type:3,value:"SWITCHER"},Ee.TELEPHONE={type:3,value:"TELEPHONE"},Ee.TUNER={type:3,value:"TUNER"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"};let De=Ee;t.IfcAudioVisualApplianceTypeEnum=De;let Se=class{};Se.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Se.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Se.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Se.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Se.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Se.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Ue=Se;t.IfcBSplineCurveForm=Ue;let Oe=class{};Oe.PLANE_SURF={type:3,value:"PLANE_SURF"},Oe.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},Oe.CONICAL_SURF={type:3,value:"CONICAL_SURF"},Oe.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},Oe.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},Oe.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},Oe.RULED_SURF={type:3,value:"RULED_SURF"},Oe.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},Oe.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},Oe.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},Oe.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let Fe=Oe;t.IfcBSplineSurfaceForm=Fe;let je=class{};je.BEAM={type:3,value:"BEAM"},je.JOIST={type:3,value:"JOIST"},je.HOLLOWCORE={type:3,value:"HOLLOWCORE"},je.LINTEL={type:3,value:"LINTEL"},je.SPANDREL={type:3,value:"SPANDREL"},je.T_BEAM={type:3,value:"T_BEAM"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xe=je;t.IfcBeamTypeEnum=Xe;let tt=class{};tt.GREATERTHAN={type:3,value:"GREATERTHAN"},tt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},tt.LESSTHAN={type:3,value:"LESSTHAN"},tt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},tt.EQUALTO={type:3,value:"EQUALTO"},tt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},tt.INCLUDES={type:3,value:"INCLUDES"},tt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},tt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},tt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"};let Gs=tt;t.IfcBenchmarkEnum=Gs;let nt=class{};nt.WATER={type:3,value:"WATER"},nt.STEAM={type:3,value:"STEAM"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ri=nt;t.IfcBoilerTypeEnum=ri;let wt=class{};wt.UNION={type:3,value:"UNION"},wt.INTERSECTION={type:3,value:"INTERSECTION"},wt.DIFFERENCE={type:3,value:"DIFFERENCE"};let ni=wt;t.IfcBooleanOperator=ni;let st=class{};st.INSULATION={type:3,value:"INSULATION"},st.PRECASTPANEL={type:3,value:"PRECASTPANEL"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"};let fs=st;t.IfcBuildingElementPartTypeEnum=fs;let ze=class{};ze.COMPLEX={type:3,value:"COMPLEX"},ze.ELEMENT={type:3,value:"ELEMENT"},ze.PARTIAL={type:3,value:"PARTIAL"},ze.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},ze.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=ze;t.IfcBuildingElementProxyTypeEnum=ot;let Qe=class{};Qe.FENESTRATION={type:3,value:"FENESTRATION"},Qe.FOUNDATION={type:3,value:"FOUNDATION"},Qe.LOADBEARING={type:3,value:"LOADBEARING"},Qe.OUTERSHELL={type:3,value:"OUTERSHELL"},Qe.SHADING={type:3,value:"SHADING"},Qe.TRANSPORT={type:3,value:"TRANSPORT"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ls=Qe;t.IfcBuildingSystemTypeEnum=Ls;let Tt=class{};Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let zn=Tt;t.IfcBurnerTypeEnum=zn;let bt=class{};bt.BEND={type:3,value:"BEND"},bt.CROSS={type:3,value:"CROSS"},bt.REDUCER={type:3,value:"REDUCER"},bt.TEE={type:3,value:"TEE"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ha=bt;t.IfcCableCarrierFittingTypeEnum=Ha;let Ni=class{};Ni.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Ni.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Ni.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Ni.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qo=Ni;t.IfcCableCarrierSegmentTypeEnum=Qo;let dt=class{};dt.CONNECTOR={type:3,value:"CONNECTOR"},dt.ENTRY={type:3,value:"ENTRY"},dt.EXIT={type:3,value:"EXIT"},dt.JUNCTION={type:3,value:"JUNCTION"},dt.TRANSITION={type:3,value:"TRANSITION"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ol=dt;t.IfcCableFittingTypeEnum=Ol;let Os=class{};Os.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},Os.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Os.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Os.CORESEGMENT={type:3,value:"CORESEGMENT"},Os.USERDEFINED={type:3,value:"USERDEFINED"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oh=Os;t.IfcCableSegmentTypeEnum=Oh;let cr=class{};cr.NOCHANGE={type:3,value:"NOCHANGE"},cr.MODIFIED={type:3,value:"MODIFIED"},cr.ADDED={type:3,value:"ADDED"},cr.DELETED={type:3,value:"DELETED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hp=cr;t.IfcChangeActionEnum=Hp;let Mi=class{};Mi.AIRCOOLED={type:3,value:"AIRCOOLED"},Mi.WATERCOOLED={type:3,value:"WATERCOOLED"},Mi.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let mh=Mi;t.IfcChillerTypeEnum=mh;let Fi=class{};Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bp=Fi;t.IfcChimneyTypeEnum=Bp;let zt=class{};zt.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},zt.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},zt.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},zt.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},zt.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},zt.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},zt.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ml=zt;t.IfcCoilTypeEnum=ml;let Fn=class{};Fn.COLUMN={type:3,value:"COLUMN"},Fn.PILASTER={type:3,value:"PILASTER"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vp=Fn;t.IfcColumnTypeEnum=Vp;let Lt=class{};Lt.ANTENNA={type:3,value:"ANTENNA"},Lt.COMPUTER={type:3,value:"COMPUTER"},Lt.FAX={type:3,value:"FAX"},Lt.GATEWAY={type:3,value:"GATEWAY"},Lt.MODEM={type:3,value:"MODEM"},Lt.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},Lt.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},Lt.NETWORKHUB={type:3,value:"NETWORKHUB"},Lt.PRINTER={type:3,value:"PRINTER"},Lt.REPEATER={type:3,value:"REPEATER"},Lt.ROUTER={type:3,value:"ROUTER"},Lt.SCANNER={type:3,value:"SCANNER"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dl=Lt;t.IfcCommunicationsApplianceTypeEnum=Dl;let $s=class{};$s.P_COMPLEX={type:3,value:"P_COMPLEX"},$s.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let Wp=$s;t.IfcComplexPropertyTemplateTypeEnum=Wp;let Re=class{};Re.DYNAMIC={type:3,value:"DYNAMIC"},Re.RECIPROCATING={type:3,value:"RECIPROCATING"},Re.ROTARY={type:3,value:"ROTARY"},Re.SCROLL={type:3,value:"SCROLL"},Re.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Re.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Re.BOOSTER={type:3,value:"BOOSTER"},Re.OPENTYPE={type:3,value:"OPENTYPE"},Re.HERMETIC={type:3,value:"HERMETIC"},Re.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Re.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Re.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Re.ROTARYVANE={type:3,value:"ROTARYVANE"},Re.SINGLESCREW={type:3,value:"SINGLESCREW"},Re.TWINSCREW={type:3,value:"TWINSCREW"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dh=Re;t.IfcCompressorTypeEnum=Dh;let Hs=class{};Hs.AIRCOOLED={type:3,value:"AIRCOOLED"},Hs.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},Hs.WATERCOOLED={type:3,value:"WATERCOOLED"},Hs.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},Hs.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},Hs.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},Hs.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},Hs.USERDEFINED={type:3,value:"USERDEFINED"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let jp=Hs;t.IfcCondenserTypeEnum=jp;let Ws=class{};Ws.ATPATH={type:3,value:"ATPATH"},Ws.ATSTART={type:3,value:"ATSTART"},Ws.ATEND={type:3,value:"ATEND"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ah=Ws;t.IfcConnectionTypeEnum=Ah;let Sr=class{};Sr.HARD={type:3,value:"HARD"},Sr.SOFT={type:3,value:"SOFT"},Sr.ADVISORY={type:3,value:"ADVISORY"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yp=Sr;t.IfcConstraintEnum=Yp;let xe=class{};xe.DEMOLISHING={type:3,value:"DEMOLISHING"},xe.EARTHMOVING={type:3,value:"EARTHMOVING"},xe.ERECTING={type:3,value:"ERECTING"},xe.HEATING={type:3,value:"HEATING"},xe.LIGHTING={type:3,value:"LIGHTING"},xe.PAVING={type:3,value:"PAVING"},xe.PUMPING={type:3,value:"PUMPING"},xe.TRANSPORTING={type:3,value:"TRANSPORTING"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sh=xe;t.IfcConstructionEquipmentResourceTypeEnum=Sh;let Cr=class{};Cr.AGGREGATES={type:3,value:"AGGREGATES"},Cr.CONCRETE={type:3,value:"CONCRETE"},Cr.DRYWALL={type:3,value:"DRYWALL"},Cr.FUEL={type:3,value:"FUEL"},Cr.GYPSUM={type:3,value:"GYPSUM"},Cr.MASONRY={type:3,value:"MASONRY"},Cr.METAL={type:3,value:"METAL"},Cr.PLASTIC={type:3,value:"PLASTIC"},Cr.WOOD={type:3,value:"WOOD"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},Cr.USERDEFINED={type:3,value:"USERDEFINED"};let zp=Cr;t.IfcConstructionMaterialResourceTypeEnum=zp;let hr=class{};hr.ASSEMBLY={type:3,value:"ASSEMBLY"},hr.FORMWORK={type:3,value:"FORMWORK"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=hr;t.IfcConstructionProductResourceTypeEnum=$t;let os=class{};os.FLOATING={type:3,value:"FLOATING"},os.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},os.PROPORTIONAL={type:3,value:"PROPORTIONAL"},os.MULTIPOSITION={type:3,value:"MULTIPOSITION"},os.TWOPOSITION={type:3,value:"TWOPOSITION"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ch=os;t.IfcControllerTypeEnum=Ch;let Et=class{};Et.ACTIVE={type:3,value:"ACTIVE"},Et.PASSIVE={type:3,value:"PASSIVE"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"};let vh=Et;t.IfcCooledBeamTypeEnum=vh;let vr=class{};vr.NATURALDRAFT={type:3,value:"NATURALDRAFT"},vr.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},vr.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"};let bh=vr;t.IfcCoolingTowerTypeEnum=bh;let Bt=class{};Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Al=Bt;t.IfcCostItemTypeEnum=Al;let Bs=class{};Bs.BUDGET={type:3,value:"BUDGET"},Bs.COSTPLAN={type:3,value:"COSTPLAN"},Bs.ESTIMATE={type:3,value:"ESTIMATE"},Bs.TENDER={type:3,value:"TENDER"},Bs.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Bs.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Bs.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sl=Bs;t.IfcCostScheduleTypeEnum=Sl;let cs=class{};cs.CEILING={type:3,value:"CEILING"},cs.FLOORING={type:3,value:"FLOORING"},cs.CLADDING={type:3,value:"CLADDING"},cs.ROOFING={type:3,value:"ROOFING"},cs.MOLDING={type:3,value:"MOLDING"},cs.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},cs.INSULATION={type:3,value:"INSULATION"},cs.MEMBRANE={type:3,value:"MEMBRANE"},cs.SLEEVING={type:3,value:"SLEEVING"},cs.WRAPPING={type:3,value:"WRAPPING"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cl=cs;t.IfcCoveringTypeEnum=Cl;let Ie=class{};Ie.OFFICE={type:3,value:"OFFICE"},Ie.SITE={type:3,value:"SITE"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let bc=Ie;t.IfcCrewResourceTypeEnum=bc;let ei=class{};ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lc=ei;t.IfcCurtainWallTypeEnum=Lc;let Ri=class{};Ri.LINEAR={type:3,value:"LINEAR"},Ri.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Ri.LOG_LOG={type:3,value:"LOG_LOG"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let gc=Ri;t.IfcCurveInterpolationEnum=gc;let js=class{};js.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},js.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},js.BLASTDAMPER={type:3,value:"BLASTDAMPER"},js.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},js.FIREDAMPER={type:3,value:"FIREDAMPER"},js.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},js.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},js.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},js.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},js.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},js.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},js.USERDEFINED={type:3,value:"USERDEFINED"},js.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pc=js;t.IfcDamperTypeEnum=Pc;let lt=class{};lt.MEASURED={type:3,value:"MEASURED"},lt.PREDICTED={type:3,value:"PREDICTED"},lt.SIMULATED={type:3,value:"SIMULATED"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lh=lt;t.IfcDataOriginEnum=Lh;let He=class{};He.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},He.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},He.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},He.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},He.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},He.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},He.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},He.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},He.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},He.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},He.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},He.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},He.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},He.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},He.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},He.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},He.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},He.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},He.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},He.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},He.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},He.TORQUEUNIT={type:3,value:"TORQUEUNIT"},He.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},He.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},He.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},He.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},He.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},He.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},He.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},He.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},He.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},He.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},He.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},He.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},He.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},He.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},He.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},He.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},He.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},He.PHUNIT={type:3,value:"PHUNIT"},He.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},He.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},He.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},He.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},He.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},He.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},He.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},He.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},He.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},He.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},He.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},He.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},He.USERDEFINED={type:3,value:"USERDEFINED"};let xc=He;t.IfcDerivedUnitEnum=xc;let Ki=class{};Ki.POSITIVE={type:3,value:"POSITIVE"},Ki.NEGATIVE={type:3,value:"NEGATIVE"};let _c=Ki;t.IfcDirectionSenseEnum=_c;let Zi=class{};Zi.ANCHORPLATE={type:3,value:"ANCHORPLATE"},Zi.BRACKET={type:3,value:"BRACKET"},Zi.SHOE={type:3,value:"SHOE"},Zi.USERDEFINED={type:3,value:"USERDEFINED"},Zi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mc=Zi;t.IfcDiscreteAccessoryTypeEnum=Mc;let Vr=class{};Vr.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Vr.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Vr.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Vr.MANHOLE={type:3,value:"MANHOLE"},Vr.METERCHAMBER={type:3,value:"METERCHAMBER"},Vr.SUMP={type:3,value:"SUMP"},Vr.TRENCH={type:3,value:"TRENCH"},Vr.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"};let kp=Vr;t.IfcDistributionChamberElementTypeEnum=kp;let ai=class{};ai.CABLE={type:3,value:"CABLE"},ai.CABLECARRIER={type:3,value:"CABLECARRIER"},ai.DUCT={type:3,value:"DUCT"},ai.PIPE={type:3,value:"PIPE"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xp=ai;t.IfcDistributionPortTypeEnum=Xp;let Ye=class{};Ye.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Ye.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Ye.CHEMICAL={type:3,value:"CHEMICAL"},Ye.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Ye.COMMUNICATION={type:3,value:"COMMUNICATION"},Ye.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Ye.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Ye.CONTROL={type:3,value:"CONTROL"},Ye.CONVEYING={type:3,value:"CONVEYING"},Ye.DATA={type:3,value:"DATA"},Ye.DISPOSAL={type:3,value:"DISPOSAL"},Ye.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Ye.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Ye.DRAINAGE={type:3,value:"DRAINAGE"},Ye.EARTHING={type:3,value:"EARTHING"},Ye.ELECTRICAL={type:3,value:"ELECTRICAL"},Ye.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Ye.EXHAUST={type:3,value:"EXHAUST"},Ye.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Ye.FUEL={type:3,value:"FUEL"},Ye.GAS={type:3,value:"GAS"},Ye.HAZARDOUS={type:3,value:"HAZARDOUS"},Ye.HEATING={type:3,value:"HEATING"},Ye.LIGHTING={type:3,value:"LIGHTING"},Ye.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Ye.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Ye.OIL={type:3,value:"OIL"},Ye.OPERATIONAL={type:3,value:"OPERATIONAL"},Ye.POWERGENERATION={type:3,value:"POWERGENERATION"},Ye.RAINWATER={type:3,value:"RAINWATER"},Ye.REFRIGERATION={type:3,value:"REFRIGERATION"},Ye.SECURITY={type:3,value:"SECURITY"},Ye.SEWAGE={type:3,value:"SEWAGE"},Ye.SIGNAL={type:3,value:"SIGNAL"},Ye.STORMWATER={type:3,value:"STORMWATER"},Ye.TELEPHONE={type:3,value:"TELEPHONE"},Ye.TV={type:3,value:"TV"},Ye.VACUUM={type:3,value:"VACUUM"},Ye.VENT={type:3,value:"VENT"},Ye.VENTILATION={type:3,value:"VENTILATION"},Ye.WASTEWATER={type:3,value:"WASTEWATER"},Ye.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kp=Ye;t.IfcDistributionSystemEnum=Kp;let ms=class{};ms.PUBLIC={type:3,value:"PUBLIC"},ms.RESTRICTED={type:3,value:"RESTRICTED"},ms.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},ms.PERSONAL={type:3,value:"PERSONAL"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zp=ms;t.IfcDocumentConfidentialityEnum=Zp;let oi=class{};oi.DRAFT={type:3,value:"DRAFT"},oi.FINALDRAFT={type:3,value:"FINALDRAFT"},oi.FINAL={type:3,value:"FINAL"},oi.REVISION={type:3,value:"REVISION"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let qp=oi;t.IfcDocumentStatusEnum=qp;let lr=class{};lr.SWINGING={type:3,value:"SWINGING"},lr.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},lr.SLIDING={type:3,value:"SLIDING"},lr.FOLDING={type:3,value:"FOLDING"},lr.REVOLVING={type:3,value:"REVOLVING"},lr.ROLLINGUP={type:3,value:"ROLLINGUP"},lr.FIXEDPANEL={type:3,value:"FIXEDPANEL"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qp=lr;t.IfcDoorPanelOperationEnum=Qp;let pr=class{};pr.LEFT={type:3,value:"LEFT"},pr.MIDDLE={type:3,value:"MIDDLE"},pr.RIGHT={type:3,value:"RIGHT"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fc=pr;t.IfcDoorPanelPositionEnum=Fc;let gt=class{};gt.ALUMINIUM={type:3,value:"ALUMINIUM"},gt.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},gt.STEEL={type:3,value:"STEEL"},gt.WOOD={type:3,value:"WOOD"},gt.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},gt.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},gt.PLASTIC={type:3,value:"PLASTIC"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uc=gt;t.IfcDoorStyleConstructionEnum=Uc;let Nt=class{};Nt.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Nt.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Nt.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Nt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Nt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Nt.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Nt.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Nt.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Nt.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Nt.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Nt.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Nt.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Nt.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Nt.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Nt.REVOLVING={type:3,value:"REVOLVING"},Nt.ROLLINGUP={type:3,value:"ROLLINGUP"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let vl=Nt;t.IfcDoorStyleOperationEnum=vl;let _e=class{};_e.DOOR={type:3,value:"DOOR"},_e.GATE={type:3,value:"GATE"},_e.TRAPDOOR={type:3,value:"TRAPDOOR"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"};let bl=_e;t.IfcDoorTypeEnum=bl;let Gt=class{};Gt.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Gt.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Gt.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Gt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Gt.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Gt.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Gt.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Gt.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Gt.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Gt.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Gt.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Gt.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Gt.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Gt.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Gt.REVOLVING={type:3,value:"REVOLVING"},Gt.ROLLINGUP={type:3,value:"ROLLINGUP"},Gt.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Gt.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Jp=Gt;t.IfcDoorTypeOperationEnum=Jp;let pt=class{};pt.BEND={type:3,value:"BEND"},pt.CONNECTOR={type:3,value:"CONNECTOR"},pt.ENTRY={type:3,value:"ENTRY"},pt.EXIT={type:3,value:"EXIT"},pt.JUNCTION={type:3,value:"JUNCTION"},pt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},pt.TRANSITION={type:3,value:"TRANSITION"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $p=pt;t.IfcDuctFittingTypeEnum=$p;let fi=class{};fi.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},fi.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let eu=fi;t.IfcDuctSegmentTypeEnum=eu;let ci=class{};ci.FLATOVAL={type:3,value:"FLATOVAL"},ci.RECTANGULAR={type:3,value:"RECTANGULAR"},ci.ROUND={type:3,value:"ROUND"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let gh=ci;t.IfcDuctSilencerTypeEnum=gh;let Rt=class{};Rt.DISHWASHER={type:3,value:"DISHWASHER"},Rt.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Rt.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Rt.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Rt.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Rt.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Rt.FREEZER={type:3,value:"FREEZER"},Rt.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Rt.HANDDRYER={type:3,value:"HANDDRYER"},Rt.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Rt.MICROWAVE={type:3,value:"MICROWAVE"},Rt.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Rt.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Rt.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Rt.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Rt.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let tu=Rt;t.IfcElectricApplianceTypeEnum=tu;let Pe=class{};Pe.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Pe.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Pe.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Pe.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let su=Pe;t.IfcElectricDistributionBoardTypeEnum=su;let Oi=class{};Oi.BATTERY={type:3,value:"BATTERY"},Oi.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Oi.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Oi.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Oi.UPS={type:3,value:"UPS"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let iu=Oi;t.IfcElectricFlowStorageDeviceTypeEnum=iu;let br=class{};br.CHP={type:3,value:"CHP"},br.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},br.STANDALONE={type:3,value:"STANDALONE"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"};let wc=br;t.IfcElectricGeneratorTypeEnum=wc;let Ds=class{};Ds.DC={type:3,value:"DC"},Ds.INDUCTION={type:3,value:"INDUCTION"},Ds.POLYPHASE={type:3,value:"POLYPHASE"},Ds.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Ds.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ru=Ds;t.IfcElectricMotorTypeEnum=ru;let Un=class{};Un.TIMECLOCK={type:3,value:"TIMECLOCK"},Un.TIMEDELAY={type:3,value:"TIMEDELAY"},Un.RELAY={type:3,value:"RELAY"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ll=Un;t.IfcElectricTimeControlTypeEnum=Ll;let Ys=class{};Ys.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ys.ARCH={type:3,value:"ARCH"},Ys.BEAM_GRID={type:3,value:"BEAM_GRID"},Ys.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ys.GIRDER={type:3,value:"GIRDER"},Ys.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ys.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ys.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ys.TRUSS={type:3,value:"TRUSS"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let gl=Ys;t.IfcElementAssemblyTypeEnum=gl;let $=class{};$.COMPLEX={type:3,value:"COMPLEX"},$.ELEMENT={type:3,value:"ELEMENT"},$.PARTIAL={type:3,value:"PARTIAL"};let le=$;t.IfcElementCompositionEnum=le;let fe=class{};fe.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},fe.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Le=fe;t.IfcEngineTypeEnum=Le;let ge=class{};ge.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},ge.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},ge.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},ge.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},ge.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},ge.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},ge.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},ge.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},ge.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=ge;t.IfcEvaporativeCoolerTypeEnum=$e;let it=class{};it.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},it.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},it.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},it.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},it.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},it.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=it;t.IfcEvaporatorTypeEnum=es;let et=class{};et.EVENTRULE={type:3,value:"EVENTRULE"},et.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},et.EVENTTIME={type:3,value:"EVENTTIME"},et.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lr=et;t.IfcEventTriggerTypeEnum=Lr;let Kt=class{};Kt.STARTEVENT={type:3,value:"STARTEVENT"},Kt.ENDEVENT={type:3,value:"ENDEVENT"},Kt.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let oa=Kt;t.IfcEventTypeEnum=oa;let Ht=class{};Ht.EXTERNAL={type:3,value:"EXTERNAL"},Ht.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ht.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ht.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pl=Ht;t.IfcExternalSpatialElementTypeEnum=Pl;let ts=class{};ts.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},ts.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},ts.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},ts.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},ts.TUBEAXIAL={type:3,value:"TUBEAXIAL"},ts.VANEAXIAL={type:3,value:"VANEAXIAL"},ts.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let xl=ts;t.IfcFanTypeEnum=xl;let ti=class{};ti.GLUE={type:3,value:"GLUE"},ti.MORTAR={type:3,value:"MORTAR"},ti.WELD={type:3,value:"WELD"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ph=ti;t.IfcFastenerTypeEnum=Ph;let mi=class{};mi.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},mi.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},mi.ODORFILTER={type:3,value:"ODORFILTER"},mi.OILFILTER={type:3,value:"OILFILTER"},mi.STRAINER={type:3,value:"STRAINER"},mi.WATERFILTER={type:3,value:"WATERFILTER"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _l=mi;t.IfcFilterTypeEnum=_l;let ur=class{};ur.BREECHINGINLET={type:3,value:"BREECHINGINLET"},ur.FIREHYDRANT={type:3,value:"FIREHYDRANT"},ur.HOSEREEL={type:3,value:"HOSEREEL"},ur.SPRINKLER={type:3,value:"SPRINKLER"},ur.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Jo=ur;t.IfcFireSuppressionTerminalTypeEnum=Jo;let kt=class{};kt.SOURCE={type:3,value:"SOURCE"},kt.SINK={type:3,value:"SINK"},kt.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $o=kt;t.IfcFlowDirectionEnum=$o;let zs=class{};zs.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},zs.THERMOMETER={type:3,value:"THERMOMETER"},zs.AMMETER={type:3,value:"AMMETER"},zs.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},zs.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},zs.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},zs.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},zs.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let xh=zs;t.IfcFlowInstrumentTypeEnum=xh;let Ke=class{};Ke.ENERGYMETER={type:3,value:"ENERGYMETER"},Ke.GASMETER={type:3,value:"GASMETER"},Ke.OILMETER={type:3,value:"OILMETER"},Ke.WATERMETER={type:3,value:"WATERMETER"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let ec=Ke;t.IfcFlowMeterTypeEnum=ec;let ks=class{};ks.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},ks.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},ks.PAD_FOOTING={type:3,value:"PAD_FOOTING"},ks.PILE_CAP={type:3,value:"PILE_CAP"},ks.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let tc=ks;t.IfcFootingTypeEnum=tc;let As=class{};As.CHAIR={type:3,value:"CHAIR"},As.TABLE={type:3,value:"TABLE"},As.DESK={type:3,value:"DESK"},As.BED={type:3,value:"BED"},As.FILECABINET={type:3,value:"FILECABINET"},As.SHELF={type:3,value:"SHELF"},As.SOFA={type:3,value:"SOFA"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let sc=As;t.IfcFurnitureTypeEnum=sc;let gs=class{};gs.TERRAIN={type:3,value:"TERRAIN"},gs.USERDEFINED={type:3,value:"USERDEFINED"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ml=gs;t.IfcGeographicElementTypeEnum=Ml;let Ps=class{};Ps.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ps.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ps.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ps.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ps.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ps.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ps.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let nu=Ps;t.IfcGeometricProjectionEnum=nu;let Wr=class{};Wr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Wr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let Ae=Wr;t.IfcGlobalOrLocalEnum=Ae;let hi=class{};hi.RECTANGULAR={type:3,value:"RECTANGULAR"},hi.RADIAL={type:3,value:"RADIAL"},hi.TRIANGULAR={type:3,value:"TRIANGULAR"},hi.IRREGULAR={type:3,value:"IRREGULAR"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let io=hi;t.IfcGridTypeEnum=io;let Di=class{};Di.PLATE={type:3,value:"PLATE"},Di.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let _h=Di;t.IfcHeatExchangerTypeEnum=_h;let Mt=class{};Mt.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Mt.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Mt.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Mt.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Mt.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Mt.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Mt.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Mt.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Mt.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Mt.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Mt.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Mt.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Mt.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mh=Mt;t.IfcHumidifierTypeEnum=Mh;let Ss=class{};Ss.CYCLONIC={type:3,value:"CYCLONIC"},Ss.GREASE={type:3,value:"GREASE"},Ss.OIL={type:3,value:"OIL"},Ss.PETROL={type:3,value:"PETROL"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let ic=Ss;t.IfcInterceptorTypeEnum=ic;let Cs=class{};Cs.INTERNAL={type:3,value:"INTERNAL"},Cs.EXTERNAL={type:3,value:"EXTERNAL"},Cs.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Cs.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Cs.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let rc=Cs;t.IfcInternalOrExternalEnum=rc;let Ui=class{};Ui.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ui.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ui.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fh=Ui;t.IfcInventoryTypeEnum=Fh;let Ai=class{};Ai.DATA={type:3,value:"DATA"},Ai.POWER={type:3,value:"POWER"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let MI=Ai;t.IfcJunctionBoxTypeEnum=MI;let dn=class{};dn.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},dn.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},dn.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},dn.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let FI=dn;t.IfcKnotType=FI;let Vt=class{};Vt.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Vt.CARPENTRY={type:3,value:"CARPENTRY"},Vt.CLEANING={type:3,value:"CLEANING"},Vt.CONCRETE={type:3,value:"CONCRETE"},Vt.DRYWALL={type:3,value:"DRYWALL"},Vt.ELECTRIC={type:3,value:"ELECTRIC"},Vt.FINISHING={type:3,value:"FINISHING"},Vt.FLOORING={type:3,value:"FLOORING"},Vt.GENERAL={type:3,value:"GENERAL"},Vt.HVAC={type:3,value:"HVAC"},Vt.LANDSCAPING={type:3,value:"LANDSCAPING"},Vt.MASONRY={type:3,value:"MASONRY"},Vt.PAINTING={type:3,value:"PAINTING"},Vt.PAVING={type:3,value:"PAVING"},Vt.PLUMBING={type:3,value:"PLUMBING"},Vt.ROOFING={type:3,value:"ROOFING"},Vt.SITEGRADING={type:3,value:"SITEGRADING"},Vt.STEELWORK={type:3,value:"STEELWORK"},Vt.SURVEYING={type:3,value:"SURVEYING"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"};let UI=Vt;t.IfcLaborResourceTypeEnum=UI;let Zt=class{};Zt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Zt.FLUORESCENT={type:3,value:"FLUORESCENT"},Zt.HALOGEN={type:3,value:"HALOGEN"},Zt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Zt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Zt.LED={type:3,value:"LED"},Zt.METALHALIDE={type:3,value:"METALHALIDE"},Zt.OLED={type:3,value:"OLED"},Zt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let wI=Zt;t.IfcLampTypeEnum=wI;let ca=class{};ca.AXIS1={type:3,value:"AXIS1"},ca.AXIS2={type:3,value:"AXIS2"},ca.AXIS3={type:3,value:"AXIS3"};let GI=ca;t.IfcLayerSetDirectionEnum=GI;let wi=class{};wi.TYPE_A={type:3,value:"TYPE_A"},wi.TYPE_B={type:3,value:"TYPE_B"},wi.TYPE_C={type:3,value:"TYPE_C"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let HI=wi;t.IfcLightDistributionCurveEnum=HI;let ss=class{};ss.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},ss.FLUORESCENT={type:3,value:"FLUORESCENT"},ss.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},ss.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},ss.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},ss.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},ss.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},ss.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},ss.METALHALIDE={type:3,value:"METALHALIDE"},ss.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let BI=ss;t.IfcLightEmissionSourceEnum=BI;let gr=class{};gr.POINTSOURCE={type:3,value:"POINTSOURCE"},gr.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},gr.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"};let VI=gr;t.IfcLightFixtureTypeEnum=VI;let qi=class{};qi.LOAD_GROUP={type:3,value:"LOAD_GROUP"},qi.LOAD_CASE={type:3,value:"LOAD_CASE"},qi.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let WI=qi;t.IfcLoadGroupTypeEnum=WI;let Nn=class{};Nn.LOGICALAND={type:3,value:"LOGICALAND"},Nn.LOGICALOR={type:3,value:"LOGICALOR"},Nn.LOGICALXOR={type:3,value:"LOGICALXOR"},Nn.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Nn.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"};let jI=Nn;t.IfcLogicalOperatorEnum=jI;let li=class{};li.ANCHORBOLT={type:3,value:"ANCHORBOLT"},li.BOLT={type:3,value:"BOLT"},li.DOWEL={type:3,value:"DOWEL"},li.NAIL={type:3,value:"NAIL"},li.NAILPLATE={type:3,value:"NAILPLATE"},li.RIVET={type:3,value:"RIVET"},li.SCREW={type:3,value:"SCREW"},li.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},li.STAPLE={type:3,value:"STAPLE"},li.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"};let YI=li;t.IfcMechanicalFastenerTypeEnum=YI;let si=class{};si.AIRSTATION={type:3,value:"AIRSTATION"},si.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},si.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},si.OXYGENPLANT={type:3,value:"OXYGENPLANT"},si.VACUUMSTATION={type:3,value:"VACUUMSTATION"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let zI=si;t.IfcMedicalDeviceTypeEnum=zI;let hs=class{};hs.BRACE={type:3,value:"BRACE"},hs.CHORD={type:3,value:"CHORD"},hs.COLLAR={type:3,value:"COLLAR"},hs.MEMBER={type:3,value:"MEMBER"},hs.MULLION={type:3,value:"MULLION"},hs.PLATE={type:3,value:"PLATE"},hs.POST={type:3,value:"POST"},hs.PURLIN={type:3,value:"PURLIN"},hs.RAFTER={type:3,value:"RAFTER"},hs.STRINGER={type:3,value:"STRINGER"},hs.STRUT={type:3,value:"STRUT"},hs.STUD={type:3,value:"STUD"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let kI=hs;t.IfcMemberTypeEnum=kI;let pi=class{};pi.BELTDRIVE={type:3,value:"BELTDRIVE"},pi.COUPLING={type:3,value:"COUPLING"},pi.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let XI=pi;t.IfcMotorConnectionTypeEnum=XI;let nn=class{};nn.NULL={type:3,value:"NULL"};let KI=nn;t.IfcNullStyle=KI;let jr=class{};jr.PRODUCT={type:3,value:"PRODUCT"},jr.PROCESS={type:3,value:"PROCESS"},jr.CONTROL={type:3,value:"CONTROL"},jr.RESOURCE={type:3,value:"RESOURCE"},jr.ACTOR={type:3,value:"ACTOR"},jr.GROUP={type:3,value:"GROUP"},jr.PROJECT={type:3,value:"PROJECT"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let ZI=jr;t.IfcObjectTypeEnum=ZI;let ut=class{};ut.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ut.CODEWAIVER={type:3,value:"CODEWAIVER"},ut.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ut.EXTERNAL={type:3,value:"EXTERNAL"},ut.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ut.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ut.MODELVIEW={type:3,value:"MODELVIEW"},ut.PARAMETER={type:3,value:"PARAMETER"},ut.REQUIREMENT={type:3,value:"REQUIREMENT"},ut.SPECIFICATION={type:3,value:"SPECIFICATION"},ut.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let qI=ut;t.IfcObjectiveEnum=qI;let ls=class{};ls.ASSIGNEE={type:3,value:"ASSIGNEE"},ls.ASSIGNOR={type:3,value:"ASSIGNOR"},ls.LESSEE={type:3,value:"LESSEE"},ls.LESSOR={type:3,value:"LESSOR"},ls.LETTINGAGENT={type:3,value:"LETTINGAGENT"},ls.OWNER={type:3,value:"OWNER"},ls.TENANT={type:3,value:"TENANT"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let QI=ls;t.IfcOccupantTypeEnum=QI;let Xs=class{};Xs.OPENING={type:3,value:"OPENING"},Xs.RECESS={type:3,value:"RECESS"},Xs.USERDEFINED={type:3,value:"USERDEFINED"},Xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let JI=Xs;t.IfcOpeningElementTypeEnum=JI;let ft=class{};ft.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},ft.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},ft.POWEROUTLET={type:3,value:"POWEROUTLET"},ft.DATAOUTLET={type:3,value:"DATAOUTLET"},ft.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let $I=ft;t.IfcOutletTypeEnum=$I;let Er=class{};Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"};let ey=Er;t.IfcPerformanceHistoryTypeEnum=ey;let ps=class{};ps.GRILL={type:3,value:"GRILL"},ps.LOUVER={type:3,value:"LOUVER"},ps.SCREEN={type:3,value:"SCREEN"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let ty=ps;t.IfcPermeableCoveringOperationEnum=ty;let Xt=class{};Xt.ACCESS={type:3,value:"ACCESS"},Xt.BUILDING={type:3,value:"BUILDING"},Xt.WORK={type:3,value:"WORK"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let sy=Xt;t.IfcPermitTypeEnum=sy;let ha=class{};ha.PHYSICAL={type:3,value:"PHYSICAL"},ha.VIRTUAL={type:3,value:"VIRTUAL"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"};let iy=ha;t.IfcPhysicalOrVirtualEnum=iy;let Qi=class{};Qi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Qi.COMPOSITE={type:3,value:"COMPOSITE"},Qi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Qi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ry=Qi;t.IfcPileConstructionEnum=ry;let Ks=class{};Ks.BORED={type:3,value:"BORED"},Ks.DRIVEN={type:3,value:"DRIVEN"},Ks.JETGROUTING={type:3,value:"JETGROUTING"},Ks.COHESION={type:3,value:"COHESION"},Ks.FRICTION={type:3,value:"FRICTION"},Ks.SUPPORT={type:3,value:"SUPPORT"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let ny=Ks;t.IfcPileTypeEnum=ny;let Gi=class{};Gi.BEND={type:3,value:"BEND"},Gi.CONNECTOR={type:3,value:"CONNECTOR"},Gi.ENTRY={type:3,value:"ENTRY"},Gi.EXIT={type:3,value:"EXIT"},Gi.JUNCTION={type:3,value:"JUNCTION"},Gi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Gi.TRANSITION={type:3,value:"TRANSITION"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ay=Gi;t.IfcPipeFittingTypeEnum=ay;let Ir=class{};Ir.CULVERT={type:3,value:"CULVERT"},Ir.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ir.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ir.GUTTER={type:3,value:"GUTTER"},Ir.SPOOL={type:3,value:"SPOOL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let oy=Ir;t.IfcPipeSegmentTypeEnum=oy;let yr=class{};yr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},yr.SHEET={type:3,value:"SHEET"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cy=yr;t.IfcPlateTypeEnum=cy;let Sa=class{};Sa.CURVE3D={type:3,value:"CURVE3D"},Sa.PCURVE_S1={type:3,value:"PCURVE_S1"},Sa.PCURVE_S2={type:3,value:"PCURVE_S2"};let hy=Sa;t.IfcPreferredSurfaceCurveRepresentation=hy;let Pt=class{};Pt.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Pt.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Pt.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Pt.CALIBRATION={type:3,value:"CALIBRATION"},Pt.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Pt.SHUTDOWN={type:3,value:"SHUTDOWN"},Pt.STARTUP={type:3,value:"STARTUP"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ly=Pt;t.IfcProcedureTypeEnum=ly;let xt=class{};xt.CURVE={type:3,value:"CURVE"},xt.AREA={type:3,value:"AREA"};let py=xt;t.IfcProfileTypeEnum=py;let It=class{};It.CHANGEORDER={type:3,value:"CHANGEORDER"},It.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},It.MOVEORDER={type:3,value:"MOVEORDER"},It.PURCHASEORDER={type:3,value:"PURCHASEORDER"},It.WORKORDER={type:3,value:"WORKORDER"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let uy=It;t.IfcProjectOrderTypeEnum=uy;let Rn=class{};Rn.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Rn.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let Ey=Rn;t.IfcProjectedOrTrueLengthEnum=Ey;let qt=class{};qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Iy=qt;t.IfcProjectionElementTypeEnum=Iy;let us=class{};us.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},us.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},us.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},us.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},us.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},us.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},us.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let yy=us;t.IfcPropertySetTemplateTypeEnum=yy;let Yr=class{};Yr.ELECTRONIC={type:3,value:"ELECTRONIC"},Yr.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Yr.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Yr.THERMAL={type:3,value:"THERMAL"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ty=Yr;t.IfcProtectiveDeviceTrippingUnitTypeEnum=Ty;let ii=class{};ii.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ii.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ii.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ii.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ii.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ii.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ii.VARISTOR={type:3,value:"VARISTOR"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let dy=ii;t.IfcProtectiveDeviceTypeEnum=dy;let Hi=class{};Hi.CIRCULATOR={type:3,value:"CIRCULATOR"},Hi.ENDSUCTION={type:3,value:"ENDSUCTION"},Hi.SPLITCASE={type:3,value:"SPLITCASE"},Hi.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Hi.SUMPPUMP={type:3,value:"SUMPPUMP"},Hi.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Hi.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ny=Hi;t.IfcPumpTypeEnum=Ny;let Zs=class{};Zs.HANDRAIL={type:3,value:"HANDRAIL"},Zs.GUARDRAIL={type:3,value:"GUARDRAIL"},Zs.BALUSTRADE={type:3,value:"BALUSTRADE"},Zs.USERDEFINED={type:3,value:"USERDEFINED"},Zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ry=Zs;t.IfcRailingTypeEnum=Ry;let Ji=class{};Ji.STRAIGHT={type:3,value:"STRAIGHT"},Ji.SPIRAL={type:3,value:"SPIRAL"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let fy=Ji;t.IfcRampFlightTypeEnum=fy;let zr=class{};zr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},zr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},zr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},zr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},zr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},zr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oy=zr;t.IfcRampTypeEnum=Oy;let Es=class{};Es.DAILY={type:3,value:"DAILY"},Es.WEEKLY={type:3,value:"WEEKLY"},Es.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Es.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Es.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Es.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Es.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Es.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let my=Es;t.IfcRecurrenceTypeEnum=my;let Tr=class{};Tr.BLINN={type:3,value:"BLINN"},Tr.FLAT={type:3,value:"FLAT"},Tr.GLASS={type:3,value:"GLASS"},Tr.MATT={type:3,value:"MATT"},Tr.METAL={type:3,value:"METAL"},Tr.MIRROR={type:3,value:"MIRROR"},Tr.PHONG={type:3,value:"PHONG"},Tr.PLASTIC={type:3,value:"PLASTIC"},Tr.STRAUSS={type:3,value:"STRAUSS"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dy=Tr;t.IfcReflectanceMethodEnum=Dy;let $i=class{};$i.MAIN={type:3,value:"MAIN"},$i.SHEAR={type:3,value:"SHEAR"},$i.LIGATURE={type:3,value:"LIGATURE"},$i.STUD={type:3,value:"STUD"},$i.PUNCHING={type:3,value:"PUNCHING"},$i.EDGE={type:3,value:"EDGE"},$i.RING={type:3,value:"RING"},$i.ANCHORING={type:3,value:"ANCHORING"},$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ay=$i;t.IfcReinforcingBarRoleEnum=Ay;let wn=class{};wn.PLAIN={type:3,value:"PLAIN"},wn.TEXTURED={type:3,value:"TEXTURED"};let Sy=wn;t.IfcReinforcingBarSurfaceEnum=Sy;let Bi=class{};Bi.ANCHORING={type:3,value:"ANCHORING"},Bi.EDGE={type:3,value:"EDGE"},Bi.LIGATURE={type:3,value:"LIGATURE"},Bi.MAIN={type:3,value:"MAIN"},Bi.PUNCHING={type:3,value:"PUNCHING"},Bi.RING={type:3,value:"RING"},Bi.SHEAR={type:3,value:"SHEAR"},Bi.STUD={type:3,value:"STUD"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cy=Bi;t.IfcReinforcingBarTypeEnum=Cy;let Ba=class{};Ba.USERDEFINED={type:3,value:"USERDEFINED"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let vy=Ba;t.IfcReinforcingMeshTypeEnum=vy;let Ft=class{};Ft.SUPPLIER={type:3,value:"SUPPLIER"},Ft.MANUFACTURER={type:3,value:"MANUFACTURER"},Ft.CONTRACTOR={type:3,value:"CONTRACTOR"},Ft.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Ft.ARCHITECT={type:3,value:"ARCHITECT"},Ft.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Ft.COSTENGINEER={type:3,value:"COSTENGINEER"},Ft.CLIENT={type:3,value:"CLIENT"},Ft.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Ft.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Ft.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Ft.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Ft.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Ft.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Ft.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Ft.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Ft.ENGINEER={type:3,value:"ENGINEER"},Ft.OWNER={type:3,value:"OWNER"},Ft.CONSULTANT={type:3,value:"CONSULTANT"},Ft.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Ft.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Ft.RESELLER={type:3,value:"RESELLER"},Ft.USERDEFINED={type:3,value:"USERDEFINED"};let by=Ft;t.IfcRoleEnum=by;let xs=class{};xs.FLAT_ROOF={type:3,value:"FLAT_ROOF"},xs.SHED_ROOF={type:3,value:"SHED_ROOF"},xs.GABLE_ROOF={type:3,value:"GABLE_ROOF"},xs.HIP_ROOF={type:3,value:"HIP_ROOF"},xs.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},xs.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},xs.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},xs.BARREL_ROOF={type:3,value:"BARREL_ROOF"},xs.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},xs.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},xs.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},xs.DOME_ROOF={type:3,value:"DOME_ROOF"},xs.FREEFORM={type:3,value:"FREEFORM"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ly=xs;t.IfcRoofTypeEnum=Ly;let Is=class{};Is.EXA={type:3,value:"EXA"},Is.PETA={type:3,value:"PETA"},Is.TERA={type:3,value:"TERA"},Is.GIGA={type:3,value:"GIGA"},Is.MEGA={type:3,value:"MEGA"},Is.KILO={type:3,value:"KILO"},Is.HECTO={type:3,value:"HECTO"},Is.DECA={type:3,value:"DECA"},Is.DECI={type:3,value:"DECI"},Is.CENTI={type:3,value:"CENTI"},Is.MILLI={type:3,value:"MILLI"},Is.MICRO={type:3,value:"MICRO"},Is.NANO={type:3,value:"NANO"},Is.PICO={type:3,value:"PICO"},Is.FEMTO={type:3,value:"FEMTO"},Is.ATTO={type:3,value:"ATTO"};let gy=Is;t.IfcSIPrefix=gy;let Me=class{};Me.AMPERE={type:3,value:"AMPERE"},Me.BECQUEREL={type:3,value:"BECQUEREL"},Me.CANDELA={type:3,value:"CANDELA"},Me.COULOMB={type:3,value:"COULOMB"},Me.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Me.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Me.FARAD={type:3,value:"FARAD"},Me.GRAM={type:3,value:"GRAM"},Me.GRAY={type:3,value:"GRAY"},Me.HENRY={type:3,value:"HENRY"},Me.HERTZ={type:3,value:"HERTZ"},Me.JOULE={type:3,value:"JOULE"},Me.KELVIN={type:3,value:"KELVIN"},Me.LUMEN={type:3,value:"LUMEN"},Me.LUX={type:3,value:"LUX"},Me.METRE={type:3,value:"METRE"},Me.MOLE={type:3,value:"MOLE"},Me.NEWTON={type:3,value:"NEWTON"},Me.OHM={type:3,value:"OHM"},Me.PASCAL={type:3,value:"PASCAL"},Me.RADIAN={type:3,value:"RADIAN"},Me.SECOND={type:3,value:"SECOND"},Me.SIEMENS={type:3,value:"SIEMENS"},Me.SIEVERT={type:3,value:"SIEVERT"},Me.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Me.STERADIAN={type:3,value:"STERADIAN"},Me.TESLA={type:3,value:"TESLA"},Me.VOLT={type:3,value:"VOLT"},Me.WATT={type:3,value:"WATT"},Me.WEBER={type:3,value:"WEBER"};let Py=Me;t.IfcSIUnitName=Py;let is=class{};is.BATH={type:3,value:"BATH"},is.BIDET={type:3,value:"BIDET"},is.CISTERN={type:3,value:"CISTERN"},is.SHOWER={type:3,value:"SHOWER"},is.SINK={type:3,value:"SINK"},is.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},is.TOILETPAN={type:3,value:"TOILETPAN"},is.URINAL={type:3,value:"URINAL"},is.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},is.WCSEAT={type:3,value:"WCSEAT"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"};let xy=is;t.IfcSanitaryTerminalTypeEnum=xy;let ys=class{};ys.UNIFORM={type:3,value:"UNIFORM"},ys.TAPERED={type:3,value:"TAPERED"};let _y=ys;t.IfcSectionTypeEnum=_y;let Ot=class{};Ot.COSENSOR={type:3,value:"COSENSOR"},Ot.CO2SENSOR={type:3,value:"CO2SENSOR"},Ot.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Ot.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Ot.FIRESENSOR={type:3,value:"FIRESENSOR"},Ot.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Ot.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Ot.GASSENSOR={type:3,value:"GASSENSOR"},Ot.HEATSENSOR={type:3,value:"HEATSENSOR"},Ot.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Ot.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Ot.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Ot.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Ot.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Ot.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Ot.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Ot.PHSENSOR={type:3,value:"PHSENSOR"},Ot.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Ot.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Ot.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Ot.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Ot.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Ot.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Ot.WINDSENSOR={type:3,value:"WINDSENSOR"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"};let My=Ot;t.IfcSensorTypeEnum=My;let an=class{};an.START_START={type:3,value:"START_START"},an.START_FINISH={type:3,value:"START_FINISH"},an.FINISH_START={type:3,value:"FINISH_START"},an.FINISH_FINISH={type:3,value:"FINISH_FINISH"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fy=an;t.IfcSequenceEnum=Fy;let qs=class{};qs.JALOUSIE={type:3,value:"JALOUSIE"},qs.SHUTTER={type:3,value:"SHUTTER"},qs.AWNING={type:3,value:"AWNING"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uy=qs;t.IfcShadingDeviceTypeEnum=Uy;let Ts=class{};Ts.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Ts.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Ts.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Ts.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Ts.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Ts.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Ts.Q_LENGTH={type:3,value:"Q_LENGTH"},Ts.Q_AREA={type:3,value:"Q_AREA"},Ts.Q_VOLUME={type:3,value:"Q_VOLUME"},Ts.Q_COUNT={type:3,value:"Q_COUNT"},Ts.Q_WEIGHT={type:3,value:"Q_WEIGHT"},Ts.Q_TIME={type:3,value:"Q_TIME"};let wy=Ts;t.IfcSimplePropertyTemplateTypeEnum=wy;let kr=class{};kr.FLOOR={type:3,value:"FLOOR"},kr.ROOF={type:3,value:"ROOF"},kr.LANDING={type:3,value:"LANDING"},kr.BASESLAB={type:3,value:"BASESLAB"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gy=kr;t.IfcSlabTypeEnum=Gy;let ui=class{};ui.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ui.SOLARPANEL={type:3,value:"SOLARPANEL"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hy=ui;t.IfcSolarDeviceTypeEnum=Hy;let Si=class{};Si.CONVECTOR={type:3,value:"CONVECTOR"},Si.RADIATOR={type:3,value:"RADIATOR"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"};let By=Si;t.IfcSpaceHeaterTypeEnum=By;let Qs=class{};Qs.SPACE={type:3,value:"SPACE"},Qs.PARKING={type:3,value:"PARKING"},Qs.GFA={type:3,value:"GFA"},Qs.INTERNAL={type:3,value:"INTERNAL"},Qs.EXTERNAL={type:3,value:"EXTERNAL"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vy=Qs;t.IfcSpaceTypeEnum=Vy;let Ci=class{};Ci.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ci.FIRESAFETY={type:3,value:"FIRESAFETY"},Ci.LIGHTING={type:3,value:"LIGHTING"},Ci.OCCUPANCY={type:3,value:"OCCUPANCY"},Ci.SECURITY={type:3,value:"SECURITY"},Ci.THERMAL={type:3,value:"THERMAL"},Ci.TRANSPORT={type:3,value:"TRANSPORT"},Ci.VENTILATION={type:3,value:"VENTILATION"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let au=Ci;t.IfcSpatialZoneTypeEnum=au;let Xr=class{};Xr.BIRDCAGE={type:3,value:"BIRDCAGE"},Xr.COWL={type:3,value:"COWL"},Xr.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $u=Xr;t.IfcStackTerminalTypeEnum=$u;let fn=class{};fn.STRAIGHT={type:3,value:"STRAIGHT"},fn.WINDER={type:3,value:"WINDER"},fn.SPIRAL={type:3,value:"SPIRAL"},fn.CURVED={type:3,value:"CURVED"},fn.FREEFORM={type:3,value:"FREEFORM"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uh=fn;t.IfcStairFlightTypeEnum=Uh;let ds=class{};ds.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},ds.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},ds.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},ds.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},ds.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},ds.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},ds.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},ds.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},ds.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},ds.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},ds.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},ds.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},ds.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},ds.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},ds.USERDEFINED={type:3,value:"USERDEFINED"},ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ou=ds;t.IfcStairTypeEnum=ou;let Va=class{};Va.READWRITE={type:3,value:"READWRITE"},Va.READONLY={type:3,value:"READONLY"},Va.LOCKED={type:3,value:"LOCKED"},Va.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Va.READONLYLOCKED={type:3,value:"READONLYLOCKED"};let mo=Va;t.IfcStateEnum=mo;let Ei=class{};Ei.CONST={type:3,value:"CONST"},Ei.LINEAR={type:3,value:"LINEAR"},Ei.POLYGONAL={type:3,value:"POLYGONAL"},Ei.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ei.SINUS={type:3,value:"SINUS"},Ei.PARABOLA={type:3,value:"PARABOLA"},Ei.DISCRETE={type:3,value:"DISCRETE"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"};let cu=Ei;t.IfcStructuralCurveActivityTypeEnum=cu;let dr=class{};dr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},dr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},dr.CABLE={type:3,value:"CABLE"},dr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},dr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let hu=dr;t.IfcStructuralCurveMemberTypeEnum=hu;let Kr=class{};Kr.CONST={type:3,value:"CONST"},Kr.BILINEAR={type:3,value:"BILINEAR"},Kr.DISCRETE={type:3,value:"DISCRETE"},Kr.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let nc=Kr;t.IfcStructuralSurfaceActivityTypeEnum=nc;let vi=class{};vi.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},vi.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},vi.SHELL={type:3,value:"SHELL"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fl=vi;t.IfcStructuralSurfaceMemberTypeEnum=Fl;let Pr=class{};Pr.PURCHASE={type:3,value:"PURCHASE"},Pr.WORK={type:3,value:"WORK"},Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let eE=Pr;t.IfcSubContractResourceTypeEnum=eE;let Nr=class{};Nr.MARK={type:3,value:"MARK"},Nr.TAG={type:3,value:"TAG"},Nr.TREATMENT={type:3,value:"TREATMENT"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let lu=Nr;t.IfcSurfaceFeatureTypeEnum=lu;let Rr=class{};Rr.POSITIVE={type:3,value:"POSITIVE"},Rr.NEGATIVE={type:3,value:"NEGATIVE"},Rr.BOTH={type:3,value:"BOTH"};let pu=Rr;t.IfcSurfaceSide=pu;let on=class{};on.CONTACTOR={type:3,value:"CONTACTOR"},on.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},on.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},on.KEYPAD={type:3,value:"KEYPAD"},on.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},on.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},on.STARTER={type:3,value:"STARTER"},on.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},on.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"};let uu=on;t.IfcSwitchingDeviceTypeEnum=uu;let Zr=class{};Zr.PANEL={type:3,value:"PANEL"},Zr.WORKSURFACE={type:3,value:"WORKSURFACE"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"};let wh=Zr;t.IfcSystemFurnitureElementTypeEnum=wh;let On=class{};On.BASIN={type:3,value:"BASIN"},On.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},On.EXPANSION={type:3,value:"EXPANSION"},On.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},On.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},On.STORAGE={type:3,value:"STORAGE"},On.VESSEL={type:3,value:"VESSEL"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"};let Eu=On;t.IfcTankTypeEnum=Eu;let _t=class{};_t.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},_t.WORKTIME={type:3,value:"WORKTIME"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"};let Iu=_t;t.IfcTaskDurationEnum=Iu;let xr=class{};xr.ATTENDANCE={type:3,value:"ATTENDANCE"},xr.CONSTRUCTION={type:3,value:"CONSTRUCTION"},xr.DEMOLITION={type:3,value:"DEMOLITION"},xr.DISMANTLE={type:3,value:"DISMANTLE"},xr.DISPOSAL={type:3,value:"DISPOSAL"},xr.INSTALLATION={type:3,value:"INSTALLATION"},xr.LOGISTIC={type:3,value:"LOGISTIC"},xr.MAINTENANCE={type:3,value:"MAINTENANCE"},xr.MOVE={type:3,value:"MOVE"},xr.OPERATION={type:3,value:"OPERATION"},xr.REMOVAL={type:3,value:"REMOVAL"},xr.RENOVATION={type:3,value:"RENOVATION"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gc=xr;t.IfcTaskTypeEnum=Gc;let rs=class{};rs.COUPLER={type:3,value:"COUPLER"},rs.FIXED_END={type:3,value:"FIXED_END"},rs.TENSIONING_END={type:3,value:"TENSIONING_END"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"};let tE=rs;t.IfcTendonAnchorTypeEnum=tE;let Ii=class{};Ii.BAR={type:3,value:"BAR"},Ii.COATED={type:3,value:"COATED"},Ii.STRAND={type:3,value:"STRAND"},Ii.WIRE={type:3,value:"WIRE"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ul=Ii;t.IfcTendonTypeEnum=Ul;let yi=class{};yi.LEFT={type:3,value:"LEFT"},yi.RIGHT={type:3,value:"RIGHT"},yi.UP={type:3,value:"UP"},yi.DOWN={type:3,value:"DOWN"};let yu=yi;t.IfcTextPath=yu;let ct=class{};ct.CONTINUOUS={type:3,value:"CONTINUOUS"},ct.DISCRETE={type:3,value:"DISCRETE"},ct.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},ct.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},ct.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},ct.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let sE=ct;t.IfcTimeSeriesDataTypeEnum=sE;let Js=class{};Js.CURRENT={type:3,value:"CURRENT"},Js.FREQUENCY={type:3,value:"FREQUENCY"},Js.INVERTER={type:3,value:"INVERTER"},Js.RECTIFIER={type:3,value:"RECTIFIER"},Js.VOLTAGE={type:3,value:"VOLTAGE"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"};let iE=Js;t.IfcTransformerTypeEnum=iE;let Do=class{};Do.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Do.CONTINUOUS={type:3,value:"CONTINUOUS"},Do.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Do.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};let rE=Do;t.IfcTransitionCode=rE;let ht=class{};ht.ELEVATOR={type:3,value:"ELEVATOR"},ht.ESCALATOR={type:3,value:"ESCALATOR"},ht.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ht.CRANEWAY={type:3,value:"CRANEWAY"},ht.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let wl=ht;t.IfcTransportElementTypeEnum=wl;let Ca=class{};Ca.CARTESIAN={type:3,value:"CARTESIAN"},Ca.PARAMETER={type:3,value:"PARAMETER"},Ca.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let nE=Ca;t.IfcTrimmingPreference=nE;let Wa=class{};Wa.FINNED={type:3,value:"FINNED"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let aE=Wa;t.IfcTubeBundleTypeEnum=aE;let Be=class{};Be.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Be.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Be.AREAUNIT={type:3,value:"AREAUNIT"},Be.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Be.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Be.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Be.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Be.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Be.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Be.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Be.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Be.FORCEUNIT={type:3,value:"FORCEUNIT"},Be.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Be.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Be.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Be.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Be.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Be.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Be.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Be.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Be.MASSUNIT={type:3,value:"MASSUNIT"},Be.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Be.POWERUNIT={type:3,value:"POWERUNIT"},Be.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Be.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Be.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Be.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Be.TIMEUNIT={type:3,value:"TIMEUNIT"},Be.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Be.USERDEFINED={type:3,value:"USERDEFINED"};let oE=Be;t.IfcUnitEnum=oE;let _r=class{};_r.ALARMPANEL={type:3,value:"ALARMPANEL"},_r.CONTROLPANEL={type:3,value:"CONTROLPANEL"},_r.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},_r.INDICATORPANEL={type:3,value:"INDICATORPANEL"},_r.MIMICPANEL={type:3,value:"MIMICPANEL"},_r.HUMIDISTAT={type:3,value:"HUMIDISTAT"},_r.THERMOSTAT={type:3,value:"THERMOSTAT"},_r.WEATHERSTATION={type:3,value:"WEATHERSTATION"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gh=_r;t.IfcUnitaryControlElementTypeEnum=Gh;let bi=class{};bi.AIRHANDLER={type:3,value:"AIRHANDLER"},bi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},bi.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},bi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},bi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gl=bi;t.IfcUnitaryEquipmentTypeEnum=Gl;let Ct=class{};Ct.AIRRELEASE={type:3,value:"AIRRELEASE"},Ct.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Ct.CHANGEOVER={type:3,value:"CHANGEOVER"},Ct.CHECK={type:3,value:"CHECK"},Ct.COMMISSIONING={type:3,value:"COMMISSIONING"},Ct.DIVERTING={type:3,value:"DIVERTING"},Ct.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Ct.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Ct.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Ct.FAUCET={type:3,value:"FAUCET"},Ct.FLUSHING={type:3,value:"FLUSHING"},Ct.GASCOCK={type:3,value:"GASCOCK"},Ct.GASTAP={type:3,value:"GASTAP"},Ct.ISOLATING={type:3,value:"ISOLATING"},Ct.MIXING={type:3,value:"MIXING"},Ct.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Ct.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Ct.REGULATING={type:3,value:"REGULATING"},Ct.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Ct.STEAMTRAP={type:3,value:"STEAMTRAP"},Ct.STOPCOCK={type:3,value:"STOPCOCK"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let cE=Ct;t.IfcValveTypeEnum=cE;let Vi=class{};Vi.COMPRESSION={type:3,value:"COMPRESSION"},Vi.SPRING={type:3,value:"SPRING"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hl=Vi;t.IfcVibrationIsolatorTypeEnum=Hl;let Gn=class{};Gn.CUTOUT={type:3,value:"CUTOUT"},Gn.NOTCH={type:3,value:"NOTCH"},Gn.HOLE={type:3,value:"HOLE"},Gn.MITER={type:3,value:"MITER"},Gn.CHAMFER={type:3,value:"CHAMFER"},Gn.EDGE={type:3,value:"EDGE"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bl=Gn;t.IfcVoidingFeatureTypeEnum=Bl;let Wi=class{};Wi.MOVABLE={type:3,value:"MOVABLE"},Wi.PARAPET={type:3,value:"PARAPET"},Wi.PARTITIONING={type:3,value:"PARTITIONING"},Wi.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Wi.SHEAR={type:3,value:"SHEAR"},Wi.SOLIDWALL={type:3,value:"SOLIDWALL"},Wi.STANDARD={type:3,value:"STANDARD"},Wi.POLYGONAL={type:3,value:"POLYGONAL"},Wi.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let hE=Wi;t.IfcWallTypeEnum=hE;let Ti=class{};Ti.FLOORTRAP={type:3,value:"FLOORTRAP"},Ti.FLOORWASTE={type:3,value:"FLOORWASTE"},Ti.GULLYSUMP={type:3,value:"GULLYSUMP"},Ti.GULLYTRAP={type:3,value:"GULLYTRAP"},Ti.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ti.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ti.WASTETRAP={type:3,value:"WASTETRAP"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let mn=Ti;t.IfcWasteTerminalTypeEnum=mn;let Li=class{};Li.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Li.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Li.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Li.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Li.TOPHUNG={type:3,value:"TOPHUNG"},Li.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Li.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Li.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Li.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Li.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Li.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Li.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Li.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hc=Li;t.IfcWindowPanelOperationEnum=Hc;let Mr=class{};Mr.LEFT={type:3,value:"LEFT"},Mr.MIDDLE={type:3,value:"MIDDLE"},Mr.RIGHT={type:3,value:"RIGHT"},Mr.BOTTOM={type:3,value:"BOTTOM"},Mr.TOP={type:3,value:"TOP"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let lE=Mr;t.IfcWindowPanelPositionEnum=lE;let _s=class{};_s.ALUMINIUM={type:3,value:"ALUMINIUM"},_s.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},_s.STEEL={type:3,value:"STEEL"},_s.WOOD={type:3,value:"WOOD"},_s.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},_s.PLASTIC={type:3,value:"PLASTIC"},_s.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},_s.NOTDEFINED={type:3,value:"NOTDEFINED"};let pE=_s;t.IfcWindowStyleConstructionEnum=pE;let er=class{};er.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},er.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},er.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},er.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},er.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},er.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},er.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},er.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},er.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vl=er;t.IfcWindowStyleOperationEnum=Vl;let qr=class{};qr.WINDOW={type:3,value:"WINDOW"},qr.SKYLIGHT={type:3,value:"SKYLIGHT"},qr.LIGHTDOME={type:3,value:"LIGHTDOME"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"};let uE=qr;t.IfcWindowTypeEnum=uE;let tr=class{};tr.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},tr.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},tr.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},tr.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},tr.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},tr.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},tr.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},tr.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},tr.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let EE=tr;t.IfcWindowTypePartitioningEnum=EE;let Dn=class{};Dn.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Dn.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Dn.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Tu=Dn;t.IfcWorkCalendarTypeEnum=Tu;let la=class{};la.ACTUAL={type:3,value:"ACTUAL"},la.BASELINE={type:3,value:"BASELINE"},la.PLANNED={type:3,value:"PLANNED"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"};let du=la;t.IfcWorkPlanTypeEnum=du;let pa=class{};pa.ACTUAL={type:3,value:"ACTUAL"},pa.BASELINE={type:3,value:"BASELINE"},pa.PLANNED={type:3,value:"PLANNED"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let IE=pa;t.IfcWorkScheduleTypeEnum=IE,t.IfcActorRole=class extends ae{constructor(p,h,u){super(),this.Role=p,this.UserDefinedRole=h,this.Description=u,this.type=3630933823}};class Qr extends ae{constructor(h,u,I){super(),this.Purpose=h,this.Description=u,this.UserDefinedPurpose=I,this.type=618182010}}t.IfcAddress=Qr,t.IfcApplication=class extends ae{constructor(p,h,u,I){super(),this.ApplicationDeveloper=p,this.Version=h,this.ApplicationFullName=u,this.ApplicationIdentifier=I,this.type=639542469}};class Nu extends ae{constructor(h,u,I,f,D,C,b,_,Y,ue){super(),this.Name=h,this.Description=u,this.AppliedValue=I,this.UnitBasis=f,this.ApplicableDate=D,this.FixedUntilDate=C,this.Category=b,this.Condition=_,this.ArithmeticOperator=Y,this.Components=ue,this.type=411424972}}t.IfcAppliedValue=Nu,t.IfcApproval=class extends ae{constructor(p,h,u,I,f,D,C,b,_){super(),this.Identifier=p,this.Name=h,this.Description=u,this.TimeOfApproval=I,this.Status=f,this.Level=D,this.Qualifier=C,this.RequestingApproval=b,this.GivingApproval=_,this.type=130549933}};class ua extends ae{constructor(h){super(),this.Name=h,this.type=4037036970}}t.IfcBoundaryCondition=ua,t.IfcBoundaryEdgeCondition=class extends ua{constructor(p,h,u,I,f,D,C){super(p),this.Name=p,this.TranslationalStiffnessByLengthX=h,this.TranslationalStiffnessByLengthY=u,this.TranslationalStiffnessByLengthZ=I,this.RotationalStiffnessByLengthX=f,this.RotationalStiffnessByLengthY=D,this.RotationalStiffnessByLengthZ=C,this.type=1560379544}},t.IfcBoundaryFaceCondition=class extends ua{constructor(p,h,u,I){super(p),this.Name=p,this.TranslationalStiffnessByAreaX=h,this.TranslationalStiffnessByAreaY=u,this.TranslationalStiffnessByAreaZ=I,this.type=3367102660}};class ac extends ua{constructor(h,u,I,f,D,C,b){super(h),this.Name=h,this.TranslationalStiffnessX=u,this.TranslationalStiffnessY=I,this.TranslationalStiffnessZ=f,this.RotationalStiffnessX=D,this.RotationalStiffnessY=C,this.RotationalStiffnessZ=b,this.type=1387855156}}t.IfcBoundaryNodeCondition=ac,t.IfcBoundaryNodeConditionWarping=class extends ac{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C),this.Name=p,this.TranslationalStiffnessX=h,this.TranslationalStiffnessY=u,this.TranslationalStiffnessZ=I,this.RotationalStiffnessX=f,this.RotationalStiffnessY=D,this.RotationalStiffnessZ=C,this.WarpingStiffness=b,this.type=2069777674}};class sr extends ae{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=sr;class Ao extends sr{constructor(h,u){super(),this.PointOnRelatingElement=h,this.PointOnRelatedElement=u,this.type=2614616156}}t.IfcConnectionPointGeometry=Ao,t.IfcConnectionSurfaceGeometry=class extends sr{constructor(p,h){super(),this.SurfaceOnRelatingElement=p,this.SurfaceOnRelatedElement=h,this.type=2732653382}},t.IfcConnectionVolumeGeometry=class extends sr{constructor(p,h){super(),this.VolumeOnRelatingElement=p,this.VolumeOnRelatedElement=h,this.type=775493141}};class ro extends ae{constructor(h,u,I,f,D,C,b){super(),this.Name=h,this.Description=u,this.ConstraintGrade=I,this.ConstraintSource=f,this.CreatingActor=D,this.CreationTime=C,this.UserDefinedGrade=b,this.type=1959218052}}t.IfcConstraint=ro;class Ru extends ae{constructor(h,u){super(),this.SourceCRS=h,this.TargetCRS=u,this.type=1785450214}}t.IfcCoordinateOperation=Ru;class Hn extends ae{constructor(h,u,I,f){super(),this.Name=h,this.Description=u,this.GeodeticDatum=I,this.VerticalDatum=f,this.type=1466758467}}t.IfcCoordinateReferenceSystem=Hn,t.IfcCostValue=class extends Nu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_,Y),this.Name=p,this.Description=h,this.AppliedValue=u,this.UnitBasis=I,this.ApplicableDate=f,this.FixedUntilDate=D,this.Category=C,this.Condition=b,this.ArithmeticOperator=_,this.Components=Y,this.type=602808272}},t.IfcDerivedUnit=class extends ae{constructor(p,h,u){super(),this.Elements=p,this.UnitType=h,this.UserDefinedType=u,this.type=1765591967}},t.IfcDerivedUnitElement=class extends ae{constructor(p,h){super(),this.Unit=p,this.Exponent=h,this.type=1045800335}},t.IfcDimensionalExponents=class extends ae{constructor(p,h,u,I,f,D,C){super(),this.LengthExponent=p,this.MassExponent=h,this.TimeExponent=u,this.ElectricCurrentExponent=I,this.ThermodynamicTemperatureExponent=f,this.AmountOfSubstanceExponent=D,this.LuminousIntensityExponent=C,this.type=2949456006}};class Hh extends ae{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=Hh;class Ea extends ae{constructor(h,u,I){super(),this.Location=h,this.Identification=u,this.Name=I,this.type=3200245327}}t.IfcExternalReference=Ea,t.IfcExternallyDefinedHatchStyle=class extends Ea{constructor(p,h,u){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.type=2242383968}},t.IfcExternallyDefinedSurfaceStyle=class extends Ea{constructor(p,h,u){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.type=1040185647}},t.IfcExternallyDefinedTextFont=class extends Ea{constructor(p,h,u){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.type=3548104201}},t.IfcGridAxis=class extends ae{constructor(p,h,u){super(),this.AxisTag=p,this.AxisCurve=h,this.SameSense=u,this.type=852622518}},t.IfcIrregularTimeSeriesValue=class extends ae{constructor(p,h){super(),this.TimeStamp=p,this.ListValues=h,this.type=3020489413}},t.IfcLibraryInformation=class extends Hh{constructor(p,h,u,I,f,D){super(),this.Name=p,this.Version=h,this.Publisher=u,this.VersionDate=I,this.Location=f,this.Description=D,this.type=2655187982}},t.IfcLibraryReference=class extends Ea{constructor(p,h,u,I,f,D){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.Description=I,this.Language=f,this.ReferencedLibrary=D,this.type=3452421091}},t.IfcLightDistributionData=class extends ae{constructor(p,h,u){super(),this.MainPlaneAngle=p,this.SecondaryPlaneAngle=h,this.LuminousIntensity=u,this.type=4162380809}},t.IfcLightIntensityDistribution=class extends ae{constructor(p,h){super(),this.LightDistributionCurve=p,this.DistributionData=h,this.type=1566485204}},t.IfcMapConversion=class extends Ru{constructor(p,h,u,I,f,D,C,b){super(p,h),this.SourceCRS=p,this.TargetCRS=h,this.Eastings=u,this.Northings=I,this.OrthogonalHeight=f,this.XAxisAbscissa=D,this.XAxisOrdinate=C,this.Scale=b,this.type=3057273783}},t.IfcMaterialClassificationRelationship=class extends ae{constructor(p,h){super(),this.MaterialClassifications=p,this.ClassifiedMaterial=h,this.type=1847130766}};class An extends ae{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=An;class Ms extends An{constructor(h,u,I,f,D,C,b){super(),this.Material=h,this.LayerThickness=u,this.IsVentilated=I,this.Name=f,this.Description=D,this.Category=C,this.Priority=b,this.type=248100487}}t.IfcMaterialLayer=Ms,t.IfcMaterialLayerSet=class extends An{constructor(p,h,u){super(),this.MaterialLayers=p,this.LayerSetName=h,this.Description=u,this.type=3303938423}},t.IfcMaterialLayerWithOffsets=class extends Ms{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C),this.Material=p,this.LayerThickness=h,this.IsVentilated=u,this.Name=I,this.Description=f,this.Category=D,this.Priority=C,this.OffsetDirection=b,this.OffsetValues=_,this.type=1847252529}},t.IfcMaterialList=class extends ae{constructor(p){super(),this.Materials=p,this.type=2199411900}};class ja extends An{constructor(h,u,I,f,D,C){super(),this.Name=h,this.Description=u,this.Material=I,this.Profile=f,this.Priority=D,this.Category=C,this.type=2235152071}}t.IfcMaterialProfile=ja,t.IfcMaterialProfileSet=class extends An{constructor(p,h,u,I){super(),this.Name=p,this.Description=h,this.MaterialProfiles=u,this.CompositeProfile=I,this.type=164193824}},t.IfcMaterialProfileWithOffsets=class extends ja{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D),this.Name=p,this.Description=h,this.Material=u,this.Profile=I,this.Priority=f,this.Category=D,this.OffsetValues=C,this.type=552965576}};class Bn extends ae{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=Bn,t.IfcMeasureWithUnit=class extends ae{constructor(p,h){super(),this.ValueComponent=p,this.UnitComponent=h,this.type=2597039031}},t.IfcMetric=class extends ro{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C),this.Name=p,this.Description=h,this.ConstraintGrade=u,this.ConstraintSource=I,this.CreatingActor=f,this.CreationTime=D,this.UserDefinedGrade=C,this.Benchmark=b,this.ValueSource=_,this.DataValue=Y,this.ReferencePath=ue,this.type=3368373690}},t.IfcMonetaryUnit=class extends ae{constructor(p){super(),this.Currency=p,this.type=2706619895}};class Bh extends ae{constructor(h,u){super(),this.Dimensions=h,this.UnitType=u,this.type=1918398963}}t.IfcNamedUnit=Bh;class kn extends ae{constructor(){super(),this.type=3701648758}}t.IfcObjectPlacement=kn,t.IfcObjective=class extends ro{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C),this.Name=p,this.Description=h,this.ConstraintGrade=u,this.ConstraintSource=I,this.CreatingActor=f,this.CreationTime=D,this.UserDefinedGrade=C,this.BenchmarkValues=b,this.LogicalAggregator=_,this.ObjectiveQualifier=Y,this.UserDefinedQualifier=ue,this.type=2251480897}},t.IfcOrganization=class extends ae{constructor(p,h,u,I,f){super(),this.Identification=p,this.Name=h,this.Description=u,this.Roles=I,this.Addresses=f,this.type=4251960020}},t.IfcOwnerHistory=class extends ae{constructor(p,h,u,I,f,D,C,b){super(),this.OwningUser=p,this.OwningApplication=h,this.State=u,this.ChangeAction=I,this.LastModifiedDate=f,this.LastModifyingUser=D,this.LastModifyingApplication=C,this.CreationDate=b,this.type=1207048766}},t.IfcPerson=class extends ae{constructor(p,h,u,I,f,D,C,b){super(),this.Identification=p,this.FamilyName=h,this.GivenName=u,this.MiddleNames=I,this.PrefixTitles=f,this.SuffixTitles=D,this.Roles=C,this.Addresses=b,this.type=2077209135}},t.IfcPersonAndOrganization=class extends ae{constructor(p,h,u){super(),this.ThePerson=p,this.TheOrganization=h,this.Roles=u,this.type=101040310}};class va extends ae{constructor(h,u){super(),this.Name=h,this.Description=u,this.type=2483315170}}t.IfcPhysicalQuantity=va;class Qt extends va{constructor(h,u,I){super(h,u),this.Name=h,this.Description=u,this.Unit=I,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Qt,t.IfcPostalAddress=class extends Qr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u),this.Purpose=p,this.Description=h,this.UserDefinedPurpose=u,this.InternalLocation=I,this.AddressLines=f,this.PostalBox=D,this.Town=C,this.Region=b,this.PostalCode=_,this.Country=Y,this.type=3355820592}};class ir extends ae{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=ir;class oc extends ae{constructor(h,u,I,f){super(),this.Name=h,this.Description=u,this.AssignedItems=I,this.Identifier=f,this.type=2022622350}}t.IfcPresentationLayerAssignment=oc,t.IfcPresentationLayerWithStyle=class extends oc{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I),this.Name=p,this.Description=h,this.AssignedItems=u,this.Identifier=I,this.LayerOn=f,this.LayerFrozen=D,this.LayerBlocked=C,this.LayerStyles=b,this.type=1304840413}};class cc extends ae{constructor(h){super(),this.Name=h,this.type=3119450353}}t.IfcPresentationStyle=cc,t.IfcPresentationStyleAssignment=class extends ae{constructor(p){super(),this.Styles=p,this.type=2417041796}};class Ia extends ae{constructor(h,u,I){super(),this.Name=h,this.Description=u,this.Representations=I,this.type=2095639259}}t.IfcProductRepresentation=Ia;class hc extends ae{constructor(h,u){super(),this.ProfileType=h,this.ProfileName=u,this.type=3958567839}}t.IfcProfileDef=hc,t.IfcProjectedCRS=class extends Hn{constructor(p,h,u,I,f,D,C){super(p,h,u,I),this.Name=p,this.Description=h,this.GeodeticDatum=u,this.VerticalDatum=I,this.MapProjection=f,this.MapZone=D,this.MapUnit=C,this.type=3843373140}};class cn extends ae{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=cn,t.IfcPropertyEnumeration=class extends cn{constructor(p,h,u){super(),this.Name=p,this.EnumerationValues=h,this.Unit=u,this.type=3710013099}},t.IfcQuantityArea=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.AreaValue=I,this.Formula=f,this.type=2044713172}},t.IfcQuantityCount=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.CountValue=I,this.Formula=f,this.type=2093928680}},t.IfcQuantityLength=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.LengthValue=I,this.Formula=f,this.type=931644368}},t.IfcQuantityTime=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.TimeValue=I,this.Formula=f,this.type=3252649465}},t.IfcQuantityVolume=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.VolumeValue=I,this.Formula=f,this.type=2405470396}},t.IfcQuantityWeight=class extends Qt{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.Description=h,this.Unit=u,this.WeightValue=I,this.Formula=f,this.type=825690147}},t.IfcRecurrencePattern=class extends ae{constructor(p,h,u,I,f,D,C,b){super(),this.RecurrenceType=p,this.DayComponent=h,this.WeekdayComponent=u,this.MonthComponent=I,this.Position=f,this.Interval=D,this.Occurrences=C,this.TimePeriods=b,this.type=3915482550}},t.IfcReference=class extends ae{constructor(p,h,u,I,f){super(),this.TypeIdentifier=p,this.AttributeIdentifier=h,this.InstanceName=u,this.ListPositions=I,this.InnerReference=f,this.type=2433181523}};class lc extends ae{constructor(h,u,I,f){super(),this.ContextOfItems=h,this.RepresentationIdentifier=u,this.RepresentationType=I,this.Items=f,this.type=1076942058}}t.IfcRepresentation=lc;class ya extends ae{constructor(h,u){super(),this.ContextIdentifier=h,this.ContextType=u,this.type=3377609919}}t.IfcRepresentationContext=ya;class pc extends ae{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=pc,t.IfcRepresentationMap=class extends ae{constructor(p,h){super(),this.MappingOrigin=p,this.MappedRepresentation=h,this.type=1660063152}};class hn extends ae{constructor(h,u){super(),this.Name=h,this.Description=u,this.type=2439245199}}t.IfcResourceLevelRelationship=hn;class Bc extends ae{constructor(h,u,I,f){super(),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=2341007311}}t.IfcRoot=Bc,t.IfcSIUnit=class extends Bh{constructor(p,h,u){super(new Za(0),p),this.UnitType=p,this.Prefix=h,this.Name=u,this.type=448429030}};class Sn extends ae{constructor(h,u,I){super(),this.Name=h,this.DataOrigin=u,this.UserDefinedDataOrigin=I,this.type=1054537805}}t.IfcSchedulingTime=Sn,t.IfcShapeAspect=class extends ae{constructor(p,h,u,I,f){super(),this.ShapeRepresentations=p,this.Name=h,this.Description=u,this.ProductDefinitional=I,this.PartOfProductDefinitionShape=f,this.type=867548509}};class Wl extends lc{constructor(h,u,I,f){super(h,u,I,f),this.ContextOfItems=h,this.RepresentationIdentifier=u,this.RepresentationType=I,this.Items=f,this.type=3982875396}}t.IfcShapeModel=Wl,t.IfcShapeRepresentation=class extends Wl{constructor(p,h,u,I){super(p,h,u,I),this.ContextOfItems=p,this.RepresentationIdentifier=h,this.RepresentationType=u,this.Items=I,this.type=4240577450}};class So extends ae{constructor(h){super(),this.Name=h,this.type=2273995522}}t.IfcStructuralConnectionCondition=So;class jl extends ae{constructor(h){super(),this.Name=h,this.type=2162789131}}t.IfcStructuralLoad=jl,t.IfcStructuralLoadConfiguration=class extends jl{constructor(p,h,u){super(p),this.Name=p,this.Values=h,this.Locations=u,this.type=3478079324}};class Ya extends jl{constructor(h){super(h),this.Name=h,this.type=609421318}}t.IfcStructuralLoadOrResult=Ya;class Fr extends Ya{constructor(h){super(h),this.Name=h,this.type=2525727697}}t.IfcStructuralLoadStatic=Fr,t.IfcStructuralLoadTemperature=class extends Fr{constructor(p,h,u,I){super(p),this.Name=p,this.DeltaTConstant=h,this.DeltaTY=u,this.DeltaTZ=I,this.type=3408363356}};class Wt extends lc{constructor(h,u,I,f){super(h,u,I,f),this.ContextOfItems=h,this.RepresentationIdentifier=u,this.RepresentationType=I,this.Items=f,this.type=2830218821}}t.IfcStyleModel=Wt,t.IfcStyledItem=class extends pc{constructor(p,h,u){super(),this.Item=p,this.Styles=h,this.Name=u,this.type=3958052878}},t.IfcStyledRepresentation=class extends Wt{constructor(p,h,u,I){super(p,h,u,I),this.ContextOfItems=p,this.RepresentationIdentifier=h,this.RepresentationType=u,this.Items=I,this.type=3049322572}},t.IfcSurfaceReinforcementArea=class extends Ya{constructor(p,h,u,I){super(p),this.Name=p,this.SurfaceReinforcement1=h,this.SurfaceReinforcement2=u,this.ShearReinforcement=I,this.type=2934153892}},t.IfcSurfaceStyle=class extends cc{constructor(p,h,u){super(p),this.Name=p,this.Side=h,this.Styles=u,this.type=1300840506}},t.IfcSurfaceStyleLighting=class extends ir{constructor(p,h,u,I){super(),this.DiffuseTransmissionColour=p,this.DiffuseReflectionColour=h,this.TransmissionColour=u,this.ReflectanceColour=I,this.type=3303107099}},t.IfcSurfaceStyleRefraction=class extends ir{constructor(p,h){super(),this.RefractionIndex=p,this.DispersionFactor=h,this.type=1607154358}};class Yl extends ir{constructor(h,u){super(),this.SurfaceColour=h,this.Transparency=u,this.type=846575682}}t.IfcSurfaceStyleShading=Yl,t.IfcSurfaceStyleWithTextures=class extends ir{constructor(p){super(),this.Textures=p,this.type=1351298697}};class gi extends ir{constructor(h,u,I,f,D){super(),this.RepeatS=h,this.RepeatT=u,this.Mode=I,this.TextureTransform=f,this.Parameter=D,this.type=626085974}}t.IfcSurfaceTexture=gi,t.IfcTable=class extends ae{constructor(p,h,u){super(),this.Name=p,this.Rows=h,this.Columns=u,this.type=985171141}},t.IfcTableColumn=class extends ae{constructor(p,h,u,I,f){super(),this.Identifier=p,this.Name=h,this.Description=u,this.Unit=I,this.ReferencePath=f,this.type=2043862942}},t.IfcTableRow=class extends ae{constructor(p,h){super(),this.RowCells=p,this.IsHeading=h,this.type=531007025}};class Jr extends Sn{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo,il,po,ns){super(h,u,I),this.Name=h,this.DataOrigin=u,this.UserDefinedDataOrigin=I,this.DurationType=f,this.ScheduleDuration=D,this.ScheduleStart=C,this.ScheduleFinish=b,this.EarlyStart=_,this.EarlyFinish=Y,this.LateStart=ue,this.LateFinish=me,this.FreeFloat=we,this.TotalFloat=St,this.IsCritical=zi,this.StatusTime=Or,this.ActualDuration=Pn,this.ActualStart=lo,this.ActualFinish=il,this.RemainingTime=po,this.Completion=ns,this.type=1549132990}}t.IfcTaskTime=Jr,t.IfcTaskTimeRecurring=class extends Jr{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo,il,po,ns){super(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo,il,po),this.Name=p,this.DataOrigin=h,this.UserDefinedDataOrigin=u,this.DurationType=I,this.ScheduleDuration=f,this.ScheduleStart=D,this.ScheduleFinish=C,this.EarlyStart=b,this.EarlyFinish=_,this.LateStart=Y,this.LateFinish=ue,this.FreeFloat=me,this.TotalFloat=we,this.IsCritical=St,this.StatusTime=zi,this.ActualDuration=Or,this.ActualStart=Pn,this.ActualFinish=lo,this.RemainingTime=il,this.Completion=po,this.Recurrence=ns,this.type=2771591690}},t.IfcTelecomAddress=class extends Qr{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u),this.Purpose=p,this.Description=h,this.UserDefinedPurpose=u,this.TelephoneNumbers=I,this.FacsimileNumbers=f,this.PagerNumber=D,this.ElectronicMailAddresses=C,this.WWWHomePageURL=b,this.MessagingIDs=_,this.type=912023232}},t.IfcTextStyle=class extends cc{constructor(p,h,u,I,f){super(p),this.Name=p,this.TextCharacterAppearance=h,this.TextStyle=u,this.TextFontStyle=I,this.ModelOrDraughting=f,this.type=1447204868}},t.IfcTextStyleForDefinedFont=class extends ir{constructor(p,h){super(),this.Colour=p,this.BackgroundColour=h,this.type=2636378356}},t.IfcTextStyleTextModel=class extends ir{constructor(p,h,u,I,f,D,C){super(),this.TextIndent=p,this.TextAlign=h,this.TextDecoration=u,this.LetterSpacing=I,this.WordSpacing=f,this.TextTransform=D,this.LineHeight=C,this.type=1640371178}};class Cn extends ir{constructor(h){super(),this.Maps=h,this.type=280115917}}t.IfcTextureCoordinate=Cn,t.IfcTextureCoordinateGenerator=class extends Cn{constructor(p,h,u){super(p),this.Maps=p,this.Mode=h,this.Parameter=u,this.type=1742049831}},t.IfcTextureMap=class extends Cn{constructor(p,h,u){super(p),this.Maps=p,this.Vertices=h,this.MappedTo=u,this.type=2552916305}},t.IfcTextureVertex=class extends ir{constructor(p){super(),this.Coordinates=p,this.type=1210645708}},t.IfcTextureVertexList=class extends ir{constructor(p){super(),this.TexCoordsList=p,this.type=3611470254}},t.IfcTimePeriod=class extends ae{constructor(p,h){super(),this.StartTime=p,this.EndTime=h,this.type=1199560280}};class Vh extends ae{constructor(h,u,I,f,D,C,b,_){super(),this.Name=h,this.Description=u,this.StartTime=I,this.EndTime=f,this.TimeSeriesDataType=D,this.DataOrigin=C,this.UserDefinedDataOrigin=b,this.Unit=_,this.type=3101149627}}t.IfcTimeSeries=Vh,t.IfcTimeSeriesValue=class extends ae{constructor(p){super(),this.ListValues=p,this.type=581633288}};class mt extends pc{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=mt,t.IfcTopologyRepresentation=class extends Wl{constructor(p,h,u,I){super(p,h,u,I),this.ContextOfItems=p,this.RepresentationIdentifier=h,this.RepresentationType=u,this.Items=I,this.type=1735638870}},t.IfcUnitAssignment=class extends ae{constructor(p){super(),this.Units=p,this.type=180925521}};class Ta extends mt{constructor(){super(),this.type=2799835756}}t.IfcVertex=Ta,t.IfcVertexPoint=class extends Ta{constructor(p){super(),this.VertexGeometry=p,this.type=1907098498}},t.IfcVirtualGridIntersection=class extends ae{constructor(p,h){super(),this.IntersectingAxes=p,this.OffsetDistances=h,this.type=891718957}},t.IfcWorkTime=class extends Sn{constructor(p,h,u,I,f,D){super(p,h,u),this.Name=p,this.DataOrigin=h,this.UserDefinedDataOrigin=u,this.RecurrencePattern=I,this.Start=f,this.Finish=D,this.type=1236880293}},t.IfcApprovalRelationship=class extends hn{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.RelatingApproval=u,this.RelatedApprovals=I,this.type=3869604511}};class Xn extends hc{constructor(h,u,I){super(h,u),this.ProfileType=h,this.ProfileName=u,this.OuterCurve=I,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=Xn;class zl extends hc{constructor(h,u,I){super(h,u),this.ProfileType=h,this.ProfileName=u,this.Curve=I,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=zl,t.IfcArbitraryProfileDefWithVoids=class extends Xn{constructor(p,h,u,I){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.OuterCurve=u,this.InnerCurves=I,this.type=2705031697}},t.IfcBlobTexture=class extends gi{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f),this.RepeatS=p,this.RepeatT=h,this.Mode=u,this.TextureTransform=I,this.Parameter=f,this.RasterFormat=D,this.RasterCode=C,this.type=616511568}},t.IfcCenterLineProfileDef=class extends zl{constructor(p,h,u,I){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Curve=u,this.Thickness=I,this.type=3150382593}},t.IfcClassification=class extends Hh{constructor(p,h,u,I,f,D,C){super(),this.Source=p,this.Edition=h,this.EditionDate=u,this.Name=I,this.Description=f,this.Location=D,this.ReferenceTokens=C,this.type=747523909}},t.IfcClassificationReference=class extends Ea{constructor(p,h,u,I,f,D){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.ReferencedSource=I,this.Description=f,this.Sort=D,this.type=647927063}},t.IfcColourRgbList=class extends ir{constructor(p){super(),this.ColourList=p,this.type=3285139300}};class vs extends ir{constructor(h){super(),this.Name=h,this.type=3264961684}}t.IfcColourSpecification=vs,t.IfcCompositeProfileDef=class extends hc{constructor(p,h,u,I){super(p,h),this.ProfileType=p,this.ProfileName=h,this.Profiles=u,this.Label=I,this.type=1485152156}};class kl extends mt{constructor(h){super(),this.CfsFaces=h,this.type=370225590}}t.IfcConnectedFaceSet=kl,t.IfcConnectionCurveGeometry=class extends sr{constructor(p,h){super(),this.CurveOnRelatingElement=p,this.CurveOnRelatedElement=h,this.type=1981873012}},t.IfcConnectionPointEccentricity=class extends Ao{constructor(p,h,u,I,f){super(p,h),this.PointOnRelatingElement=p,this.PointOnRelatedElement=h,this.EccentricityInX=u,this.EccentricityInY=I,this.EccentricityInZ=f,this.type=45288368}},t.IfcContextDependentUnit=class extends Bh{constructor(p,h,u){super(p,h),this.Dimensions=p,this.UnitType=h,this.Name=u,this.type=3050246964}};class Co extends Bh{constructor(h,u,I,f){super(h,u),this.Dimensions=h,this.UnitType=u,this.Name=I,this.ConversionFactor=f,this.type=2889183280}}t.IfcConversionBasedUnit=Co,t.IfcConversionBasedUnitWithOffset=class extends Co{constructor(p,h,u,I,f){super(p,h,u,I),this.Dimensions=p,this.UnitType=h,this.Name=u,this.ConversionFactor=I,this.ConversionOffset=f,this.type=2713554722}},t.IfcCurrencyRelationship=class extends hn{constructor(p,h,u,I,f,D,C){super(p,h),this.Name=p,this.Description=h,this.RelatingMonetaryUnit=u,this.RelatedMonetaryUnit=I,this.ExchangeRate=f,this.RateDateTime=D,this.RateSource=C,this.type=539742890}},t.IfcCurveStyle=class extends cc{constructor(p,h,u,I,f){super(p),this.Name=p,this.CurveFont=h,this.CurveWidth=u,this.CurveColour=I,this.ModelOrDraughting=f,this.type=3800577675}},t.IfcCurveStyleFont=class extends ir{constructor(p,h){super(),this.Name=p,this.PatternList=h,this.type=1105321065}},t.IfcCurveStyleFontAndScaling=class extends ir{constructor(p,h,u){super(),this.Name=p,this.CurveFont=h,this.CurveFontScaling=u,this.type=2367409068}},t.IfcCurveStyleFontPattern=class extends ir{constructor(p,h){super(),this.VisibleSegmentLength=p,this.InvisibleSegmentLength=h,this.type=3510044353}};class Xl extends hc{constructor(h,u,I,f,D){super(h,u),this.ProfileType=h,this.ProfileName=u,this.ParentProfile=I,this.Operator=f,this.Label=D,this.type=3632507154}}t.IfcDerivedProfileDef=Xl,t.IfcDocumentInformation=class extends Hh{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn){super(),this.Identification=p,this.Name=h,this.Description=u,this.Location=I,this.Purpose=f,this.IntendedUse=D,this.Scope=C,this.Revision=b,this.DocumentOwner=_,this.Editors=Y,this.CreationTime=ue,this.LastRevisionTime=me,this.ElectronicFormat=we,this.ValidFrom=St,this.ValidUntil=zi,this.Confidentiality=Or,this.Status=Pn,this.type=1154170062}},t.IfcDocumentInformationRelationship=class extends hn{constructor(p,h,u,I,f){super(p,h),this.Name=p,this.Description=h,this.RelatingDocument=u,this.RelatedDocuments=I,this.RelationshipType=f,this.type=770865208}},t.IfcDocumentReference=class extends Ea{constructor(p,h,u,I,f){super(p,h,u),this.Location=p,this.Identification=h,this.Name=u,this.Description=I,this.ReferencedDocument=f,this.type=3732053477}};class za extends mt{constructor(h,u){super(),this.EdgeStart=h,this.EdgeEnd=u,this.type=3900360178}}t.IfcEdge=za,t.IfcEdgeCurve=class extends za{constructor(p,h,u,I){super(p,h),this.EdgeStart=p,this.EdgeEnd=h,this.EdgeGeometry=u,this.SameSense=I,this.type=476780140}},t.IfcEventTime=class extends Sn{constructor(p,h,u,I,f,D,C){super(p,h,u),this.Name=p,this.DataOrigin=h,this.UserDefinedDataOrigin=u,this.ActualDate=I,this.EarlyDate=f,this.LateDate=D,this.ScheduleDate=C,this.type=211053100}};class Wh extends cn{constructor(h,u,I){super(),this.Name=h,this.Description=u,this.Properties=I,this.type=297599258}}t.IfcExtendedProperties=Wh,t.IfcExternalReferenceRelationship=class extends hn{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.RelatingReference=u,this.RelatedResourceObjects=I,this.type=1437805879}};class $r extends mt{constructor(h){super(),this.Bounds=h,this.type=2556980723}}t.IfcFace=$r;class Vc extends mt{constructor(h,u){super(),this.Bound=h,this.Orientation=u,this.type=1809719519}}t.IfcFaceBound=Vc,t.IfcFaceOuterBound=class extends Vc{constructor(p,h){super(p,h),this.Bound=p,this.Orientation=h,this.type=803316827}};class Ur extends $r{constructor(h,u,I){super(h),this.Bounds=h,this.FaceSurface=u,this.SameSense=I,this.type=3008276851}}t.IfcFaceSurface=Ur,t.IfcFailureConnectionCondition=class extends So{constructor(p,h,u,I,f,D,C){super(p),this.Name=p,this.TensionFailureX=h,this.TensionFailureY=u,this.TensionFailureZ=I,this.CompressionFailureX=f,this.CompressionFailureY=D,this.CompressionFailureZ=C,this.type=4219587988}},t.IfcFillAreaStyle=class extends cc{constructor(p,h,u){super(p),this.Name=p,this.FillStyles=h,this.ModelorDraughting=u,this.type=738692330}};class Wc extends ya{constructor(h,u,I,f,D,C){super(h,u),this.ContextIdentifier=h,this.ContextType=u,this.CoordinateSpaceDimension=I,this.Precision=f,this.WorldCoordinateSystem=D,this.TrueNorth=C,this.type=3448662350}}t.IfcGeometricRepresentationContext=Wc;class vt extends pc{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=vt,t.IfcGeometricRepresentationSubContext=class extends Wc{constructor(p,h,u,I,f,D){super(p,h,new e(0),null,new Za(0),null),this.ContextIdentifier=p,this.ContextType=h,this.ParentContext=u,this.TargetScale=I,this.TargetView=f,this.UserDefinedTargetView=D,this.type=4142052618}};class Kn extends vt{constructor(h){super(),this.Elements=h,this.type=3590301190}}t.IfcGeometricSet=Kn,t.IfcGridPlacement=class extends kn{constructor(p,h){super(),this.PlacementLocation=p,this.PlacementRefDirection=h,this.type=178086475}};class fr extends vt{constructor(h,u){super(),this.BaseSurface=h,this.AgreementFlag=u,this.type=812098782}}t.IfcHalfSpaceSolid=fr,t.IfcImageTexture=class extends gi{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.RepeatS=p,this.RepeatT=h,this.Mode=u,this.TextureTransform=I,this.Parameter=f,this.URLReference=D,this.type=3905492369}},t.IfcIndexedColourMap=class extends ir{constructor(p,h,u,I){super(),this.MappedTo=p,this.Opacity=h,this.Colours=u,this.ColourIndex=I,this.type=3570813810}};class no extends Cn{constructor(h,u,I){super(h),this.Maps=h,this.MappedTo=u,this.TexCoords=I,this.type=1437953363}}t.IfcIndexedTextureMap=no,t.IfcIndexedTriangleTextureMap=class extends no{constructor(p,h,u,I){super(p,h,u),this.Maps=p,this.MappedTo=h,this.TexCoords=u,this.TexCoordIndex=I,this.type=2133299955}},t.IfcIrregularTimeSeries=class extends Vh{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.Name=p,this.Description=h,this.StartTime=u,this.EndTime=I,this.TimeSeriesDataType=f,this.DataOrigin=D,this.UserDefinedDataOrigin=C,this.Unit=b,this.Values=_,this.type=3741457305}},t.IfcLagTime=class extends Sn{constructor(p,h,u,I,f){super(p,h,u),this.Name=p,this.DataOrigin=h,this.UserDefinedDataOrigin=u,this.LagValue=I,this.DurationType=f,this.type=1585845231}};class da extends vt{constructor(h,u,I,f){super(),this.Name=h,this.LightColour=u,this.AmbientIntensity=I,this.Intensity=f,this.type=1402838566}}t.IfcLightSource=da,t.IfcLightSourceAmbient=class extends da{constructor(p,h,u,I){super(p,h,u,I),this.Name=p,this.LightColour=h,this.AmbientIntensity=u,this.Intensity=I,this.type=125510826}},t.IfcLightSourceDirectional=class extends da{constructor(p,h,u,I,f){super(p,h,u,I),this.Name=p,this.LightColour=h,this.AmbientIntensity=u,this.Intensity=I,this.Orientation=f,this.type=2604431987}},t.IfcLightSourceGoniometric=class extends da{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I),this.Name=p,this.LightColour=h,this.AmbientIntensity=u,this.Intensity=I,this.Position=f,this.ColourAppearance=D,this.ColourTemperature=C,this.LuminousFlux=b,this.LightEmissionSource=_,this.LightDistributionDataSource=Y,this.type=4266656042}};class jh extends da{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f),this.Name=h,this.LightColour=u,this.AmbientIntensity=I,this.Intensity=f,this.Position=D,this.Radius=C,this.ConstantAttenuation=b,this.DistanceAttenuation=_,this.QuadricAttenuation=Y,this.type=1520743889}}t.IfcLightSourcePositional=jh,t.IfcLightSourceSpot=class extends jh{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_),this.Name=p,this.LightColour=h,this.AmbientIntensity=u,this.Intensity=I,this.Position=f,this.Radius=D,this.ConstantAttenuation=C,this.DistanceAttenuation=b,this.QuadricAttenuation=_,this.Orientation=Y,this.ConcentrationExponent=ue,this.SpreadAngle=me,this.BeamWidthAngle=we,this.type=3422422726}},t.IfcLocalPlacement=class extends kn{constructor(p,h){super(),this.PlacementRelTo=p,this.RelativePlacement=h,this.type=2624227202}};class Na extends mt{constructor(){super(),this.type=1008929658}}t.IfcLoop=Na,t.IfcMappedItem=class extends pc{constructor(p,h){super(),this.MappingSource=p,this.MappingTarget=h,this.type=2347385850}},t.IfcMaterial=class extends An{constructor(p,h,u){super(),this.Name=p,this.Description=h,this.Category=u,this.type=1838606355}},t.IfcMaterialConstituent=class extends An{constructor(p,h,u,I,f){super(),this.Name=p,this.Description=h,this.Material=u,this.Fraction=I,this.Category=f,this.type=3708119e3}},t.IfcMaterialConstituentSet=class extends An{constructor(p,h,u){super(),this.Name=p,this.Description=h,this.MaterialConstituents=u,this.type=2852063980}},t.IfcMaterialDefinitionRepresentation=class extends Ia{constructor(p,h,u,I){super(p,h,u),this.Name=p,this.Description=h,this.Representations=u,this.RepresentedMaterial=I,this.type=2022407955}},t.IfcMaterialLayerSetUsage=class extends Bn{constructor(p,h,u,I,f){super(),this.ForLayerSet=p,this.LayerSetDirection=h,this.DirectionSense=u,this.OffsetFromReferenceLine=I,this.ReferenceExtent=f,this.type=1303795690}};class fu extends Bn{constructor(h,u,I){super(),this.ForProfileSet=h,this.CardinalPoint=u,this.ReferenceExtent=I,this.type=3079605661}}t.IfcMaterialProfileSetUsage=fu,t.IfcMaterialProfileSetUsageTapering=class extends fu{constructor(p,h,u,I,f){super(p,h,u),this.ForProfileSet=p,this.CardinalPoint=h,this.ReferenceExtent=u,this.ForProfileEndSet=I,this.CardinalEndPoint=f,this.type=3404854881}},t.IfcMaterialProperties=class extends Wh{constructor(p,h,u,I){super(p,h,u),this.Name=p,this.Description=h,this.Properties=u,this.Material=I,this.type=3265635763}},t.IfcMaterialRelationship=class extends hn{constructor(p,h,u,I,f){super(p,h),this.Name=p,this.Description=h,this.RelatingMaterial=u,this.RelatedMaterials=I,this.Expression=f,this.type=853536259}},t.IfcMirroredProfileDef=class extends Xl{constructor(p,h,u,I){super(p,h,u,new Za(0),I),this.ProfileType=p,this.ProfileName=h,this.ParentProfile=u,this.Label=I,this.type=2998442950}};class ln extends Bc{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=219451334}}t.IfcObjectDefinition=ln,t.IfcOpenShell=class extends kl{constructor(p){super(p),this.CfsFaces=p,this.type=2665983363}},t.IfcOrganizationRelationship=class extends hn{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.RelatingOrganization=u,this.RelatedOrganizations=I,this.type=1411181986}},t.IfcOrientedEdge=class extends za{constructor(p,h){super(new Za(0),new Za(0)),this.EdgeElement=p,this.Orientation=h,this.type=1029017970}};class Zn extends hc{constructor(h,u,I){super(h,u),this.ProfileType=h,this.ProfileName=u,this.Position=I,this.type=2529465313}}t.IfcParameterizedProfileDef=Zn,t.IfcPath=class extends mt{constructor(p){super(),this.EdgeList=p,this.type=2519244187}},t.IfcPhysicalComplexQuantity=class extends va{constructor(p,h,u,I,f,D){super(p,h),this.Name=p,this.Description=h,this.HasQuantities=u,this.Discrimination=I,this.Quality=f,this.Usage=D,this.type=3021840470}},t.IfcPixelTexture=class extends gi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f),this.RepeatS=p,this.RepeatT=h,this.Mode=u,this.TextureTransform=I,this.Parameter=f,this.Width=D,this.Height=C,this.ColourComponents=b,this.Pixel=_,this.type=597895409}};class ba extends vt{constructor(h){super(),this.Location=h,this.type=2004835150}}t.IfcPlacement=ba;class Kl extends vt{constructor(h,u){super(),this.SizeInX=h,this.SizeInY=u,this.type=1663979128}}t.IfcPlanarExtent=Kl;class ka extends vt{constructor(){super(),this.type=2067069095}}t.IfcPoint=ka,t.IfcPointOnCurve=class extends ka{constructor(p,h){super(),this.BasisCurve=p,this.PointParameter=h,this.type=4022376103}},t.IfcPointOnSurface=class extends ka{constructor(p,h,u){super(),this.BasisSurface=p,this.PointParameterU=h,this.PointParameterV=u,this.type=1423911732}},t.IfcPolyLoop=class extends Na{constructor(p){super(),this.Polygon=p,this.type=2924175390}},t.IfcPolygonalBoundedHalfSpace=class extends fr{constructor(p,h,u,I){super(p,h),this.BaseSurface=p,this.AgreementFlag=h,this.Position=u,this.PolygonalBoundary=I,this.type=2775532180}};class Yh extends ir{constructor(h){super(),this.Name=h,this.type=3727388367}}t.IfcPreDefinedItem=Yh;class Ns extends cn{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=Ns;class Zl extends Yh{constructor(h){super(h),this.Name=h,this.type=1775413392}}t.IfcPreDefinedTextFont=Zl,t.IfcProductDefinitionShape=class extends Ia{constructor(p,h,u){super(p,h,u),this.Name=p,this.Description=h,this.Representations=u,this.type=673634403}},t.IfcProfileProperties=class extends Wh{constructor(p,h,u,I){super(p,h,u),this.Name=p,this.Description=h,this.Properties=u,this.ProfileDefinition=I,this.type=2802850158}};class jc extends cn{constructor(h,u){super(),this.Name=h,this.Description=u,this.type=2598011224}}t.IfcProperty=jc;class La extends Bc{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=1680319473}}t.IfcPropertyDefinition=La,t.IfcPropertyDependencyRelationship=class extends hn{constructor(p,h,u,I,f){super(p,h),this.Name=p,this.Description=h,this.DependingProperty=u,this.DependantProperty=I,this.Expression=f,this.type=148025276}};class uc extends La{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=3357820518}}t.IfcPropertySetDefinition=uc;class vn extends La{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=1482703590}}t.IfcPropertyTemplateDefinition=vn;class zh extends uc{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=2090586900}}t.IfcQuantitySet=zh;class vo extends Zn{constructor(h,u,I,f,D){super(h,u,I),this.ProfileType=h,this.ProfileName=u,this.Position=I,this.XDim=f,this.YDim=D,this.type=3615266464}}t.IfcRectangleProfileDef=vo,t.IfcRegularTimeSeries=class extends Vh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b),this.Name=p,this.Description=h,this.StartTime=u,this.EndTime=I,this.TimeSeriesDataType=f,this.DataOrigin=D,this.UserDefinedDataOrigin=C,this.Unit=b,this.TimeStep=_,this.Values=Y,this.type=3413951693}},t.IfcReinforcementBarProperties=class extends Ns{constructor(p,h,u,I,f,D){super(),this.TotalCrossSectionArea=p,this.SteelGrade=h,this.BarSurface=u,this.EffectiveDepth=I,this.NominalBarDiameter=f,this.BarCount=D,this.type=1580146022}};class Ra extends Bc{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=478536968}}t.IfcRelationship=Ra,t.IfcResourceApprovalRelationship=class extends hn{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.RelatedResourceObjects=u,this.RelatingApproval=I,this.type=2943643501}},t.IfcResourceConstraintRelationship=class extends hn{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.RelatingConstraint=u,this.RelatedResourceObjects=I,this.type=1608871552}},t.IfcResourceTime=class extends Sn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo){super(p,h,u),this.Name=p,this.DataOrigin=h,this.UserDefinedDataOrigin=u,this.ScheduleWork=I,this.ScheduleUsage=f,this.ScheduleStart=D,this.ScheduleFinish=C,this.ScheduleContour=b,this.LevelingDelay=_,this.IsOverAllocated=Y,this.StatusTime=ue,this.ActualWork=me,this.ActualUsage=we,this.ActualStart=St,this.ActualFinish=zi,this.RemainingWork=Or,this.RemainingUsage=Pn,this.Completion=lo,this.type=1042787934}},t.IfcRoundedRectangleProfileDef=class extends vo{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.XDim=I,this.YDim=f,this.RoundingRadius=D,this.type=2778083089}},t.IfcSectionProperties=class extends Ns{constructor(p,h,u){super(),this.SectionType=p,this.StartProfile=h,this.EndProfile=u,this.type=2042790032}},t.IfcSectionReinforcementProperties=class extends Ns{constructor(p,h,u,I,f,D){super(),this.LongitudinalStartPosition=p,this.LongitudinalEndPosition=h,this.TransversePosition=u,this.ReinforcementRole=I,this.SectionDefinition=f,this.CrossSectionReinforcementDefinitions=D,this.type=4165799628}},t.IfcSectionedSpine=class extends vt{constructor(p,h,u){super(),this.SpineCurve=p,this.CrossSections=h,this.CrossSectionPositions=u,this.type=1509187699}},t.IfcShellBasedSurfaceModel=class extends vt{constructor(p){super(),this.SbsmBoundary=p,this.type=4124623270}};class Xa extends jc{constructor(h,u){super(h,u),this.Name=h,this.Description=u,this.type=3692461612}}t.IfcSimpleProperty=Xa,t.IfcSlippageConnectionCondition=class extends So{constructor(p,h,u,I){super(p),this.Name=p,this.SlippageX=h,this.SlippageY=u,this.SlippageZ=I,this.type=2609359061}};class N extends vt{constructor(){super(),this.type=723233188}}t.IfcSolidModel=N,t.IfcStructuralLoadLinearForce=class extends Fr{constructor(p,h,u,I,f,D,C){super(p),this.Name=p,this.LinearForceX=h,this.LinearForceY=u,this.LinearForceZ=I,this.LinearMomentX=f,this.LinearMomentY=D,this.LinearMomentZ=C,this.type=1595516126}},t.IfcStructuralLoadPlanarForce=class extends Fr{constructor(p,h,u,I){super(p),this.Name=p,this.PlanarForceX=h,this.PlanarForceY=u,this.PlanarForceZ=I,this.type=2668620305}};class T extends Fr{constructor(h,u,I,f,D,C,b){super(h),this.Name=h,this.DisplacementX=u,this.DisplacementY=I,this.DisplacementZ=f,this.RotationalDisplacementRX=D,this.RotationalDisplacementRY=C,this.RotationalDisplacementRZ=b,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=T,t.IfcStructuralLoadSingleDisplacementDistortion=class extends T{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C),this.Name=p,this.DisplacementX=h,this.DisplacementY=u,this.DisplacementZ=I,this.RotationalDisplacementRX=f,this.RotationalDisplacementRY=D,this.RotationalDisplacementRZ=C,this.Distortion=b,this.type=1973038258}};class O extends Fr{constructor(h,u,I,f,D,C,b){super(h),this.Name=h,this.ForceX=u,this.ForceY=I,this.ForceZ=f,this.MomentX=D,this.MomentY=C,this.MomentZ=b,this.type=1597423693}}t.IfcStructuralLoadSingleForce=O,t.IfcStructuralLoadSingleForceWarping=class extends O{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C),this.Name=p,this.ForceX=h,this.ForceY=u,this.ForceZ=I,this.MomentX=f,this.MomentY=D,this.MomentZ=C,this.WarpingMoment=b,this.type=1190533807}},t.IfcSubedge=class extends za{constructor(p,h,u){super(p,h),this.EdgeStart=p,this.EdgeEnd=h,this.ParentEdge=u,this.type=2233826070}};class S extends vt{constructor(){super(),this.type=2513912981}}t.IfcSurface=S,t.IfcSurfaceStyleRendering=class extends Yl{constructor(p,h,u,I,f,D,C,b,_){super(p,h),this.SurfaceColour=p,this.Transparency=h,this.DiffuseColour=u,this.TransmissionColour=I,this.DiffuseTransmissionColour=f,this.ReflectionColour=D,this.SpecularColour=C,this.SpecularHighlight=b,this.ReflectanceMethod=_,this.type=1878645084}};class L extends N{constructor(h,u){super(),this.SweptArea=h,this.Position=u,this.type=2247615214}}t.IfcSweptAreaSolid=L;class x extends N{constructor(h,u,I,f,D){super(),this.Directrix=h,this.Radius=u,this.InnerRadius=I,this.StartParam=f,this.EndParam=D,this.type=1260650574}}t.IfcSweptDiskSolid=x,t.IfcSweptDiskSolidPolygonal=class extends x{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.Directrix=p,this.Radius=h,this.InnerRadius=u,this.StartParam=I,this.EndParam=f,this.FilletRadius=D,this.type=1096409881}};class F extends S{constructor(h,u){super(),this.SweptCurve=h,this.Position=u,this.type=230924584}}t.IfcSweptSurface=F,t.IfcTShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Depth=I,this.FlangeWidth=f,this.WebThickness=D,this.FlangeThickness=C,this.FilletRadius=b,this.FlangeEdgeRadius=_,this.WebEdgeRadius=Y,this.WebSlope=ue,this.FlangeSlope=me,this.type=3071757647}};class U extends vt{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=U;class B extends vt{constructor(h,u,I){super(),this.Literal=h,this.Placement=u,this.Path=I,this.type=4282788508}}t.IfcTextLiteral=B,t.IfcTextLiteralWithExtent=class extends B{constructor(p,h,u,I,f){super(p,h,u),this.Literal=p,this.Placement=h,this.Path=u,this.Extent=I,this.BoxAlignment=f,this.type=3124975700}},t.IfcTextStyleFontModel=class extends Zl{constructor(p,h,u,I,f,D){super(p),this.Name=p,this.FontFamily=h,this.FontStyle=u,this.FontVariant=I,this.FontWeight=f,this.FontSize=D,this.type=1983826977}},t.IfcTrapeziumProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.BottomXDim=I,this.TopXDim=f,this.YDim=D,this.TopXOffset=C,this.type=2715220739}};class Z extends ln{constructor(h,u,I,f,D,C){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.type=1628702193}}t.IfcTypeObject=Z;class de extends Z{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.Identification=b,this.LongDescription=_,this.ProcessType=Y,this.type=3736923433}}t.IfcTypeProcess=de;class ve extends Z{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.type=2347495698}}t.IfcTypeProduct=ve;class Ve extends Z{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.Identification=b,this.LongDescription=_,this.ResourceType=Y,this.type=3698973494}}t.IfcTypeResource=Ve,t.IfcUShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Depth=I,this.FlangeWidth=f,this.WebThickness=D,this.FlangeThickness=C,this.FilletRadius=b,this.EdgeRadius=_,this.FlangeSlope=Y,this.type=427810014}},t.IfcVector=class extends vt{constructor(p,h){super(),this.Orientation=p,this.Magnitude=h,this.type=1417489154}},t.IfcVertexLoop=class extends Na{constructor(p){super(),this.LoopVertex=p,this.type=2759199220}},t.IfcWindowStyle=class extends ve{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ConstructionType=_,this.OperationType=Y,this.ParameterTakesPrecedence=ue,this.Sizeable=me,this.type=1299126871}},t.IfcZShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Depth=I,this.FlangeWidth=f,this.WebThickness=D,this.FlangeThickness=C,this.FilletRadius=b,this.EdgeRadius=_,this.type=2543172580}},t.IfcAdvancedFace=class extends Ur{constructor(p,h,u){super(p,h,u),this.Bounds=p,this.FaceSurface=h,this.SameSense=u,this.type=3406155212}},t.IfcAnnotationFillArea=class extends vt{constructor(p,h){super(),this.OuterBoundary=p,this.InnerBoundaries=h,this.type=669184980}},t.IfcAsymmetricIShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.BottomFlangeWidth=I,this.OverallDepth=f,this.WebThickness=D,this.BottomFlangeThickness=C,this.BottomFlangeFilletRadius=b,this.TopFlangeWidth=_,this.TopFlangeThickness=Y,this.TopFlangeFilletRadius=ue,this.BottomFlangeEdgeRadius=me,this.BottomFlangeSlope=we,this.TopFlangeEdgeRadius=St,this.TopFlangeSlope=zi,this.type=3207858831}},t.IfcAxis1Placement=class extends ba{constructor(p,h){super(p),this.Location=p,this.Axis=h,this.type=4261334040}},t.IfcAxis2Placement2D=class extends ba{constructor(p,h){super(p),this.Location=p,this.RefDirection=h,this.type=3125803723}},t.IfcAxis2Placement3D=class extends ba{constructor(p,h,u){super(p),this.Location=p,this.Axis=h,this.RefDirection=u,this.type=2740243338}};class Ze extends vt{constructor(h,u,I){super(),this.Operator=h,this.FirstOperand=u,this.SecondOperand=I,this.type=2736907675}}t.IfcBooleanResult=Ze;class Jt extends S{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Jt,t.IfcBoundingBox=class extends vt{constructor(p,h,u,I){super(),this.Corner=p,this.XDim=h,this.YDim=u,this.ZDim=I,this.type=2581212453}},t.IfcBoxedHalfSpace=class extends fr{constructor(p,h,u){super(p,h),this.BaseSurface=p,this.AgreementFlag=h,this.Enclosure=u,this.type=2713105998}},t.IfcCShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Depth=I,this.Width=f,this.WallThickness=D,this.Girth=C,this.InternalFilletRadius=b,this.type=2898889636}},t.IfcCartesianPoint=class extends ka{constructor(p){super(),this.Coordinates=p,this.type=1123145078}};class Pi extends vt{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=Pi,t.IfcCartesianPointList2D=class extends Pi{constructor(p){super(),this.CoordList=p,this.type=1675464909}},t.IfcCartesianPointList3D=class extends Pi{constructor(p){super(),this.CoordList=p,this.type=2059837836}};class wr extends vt{constructor(h,u,I,f){super(),this.Axis1=h,this.Axis2=u,this.LocalOrigin=I,this.Scale=f,this.type=59481748}}t.IfcCartesianTransformationOperator=wr;class bn extends wr{constructor(h,u,I,f){super(h,u,I,f),this.Axis1=h,this.Axis2=u,this.LocalOrigin=I,this.Scale=f,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=bn,t.IfcCartesianTransformationOperator2DnonUniform=class extends bn{constructor(p,h,u,I,f){super(p,h,u,I),this.Axis1=p,this.Axis2=h,this.LocalOrigin=u,this.Scale=I,this.Scale2=f,this.type=3486308946}};class qn extends wr{constructor(h,u,I,f,D){super(h,u,I,f),this.Axis1=h,this.Axis2=u,this.LocalOrigin=I,this.Scale=f,this.Axis3=D,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=qn,t.IfcCartesianTransformationOperator3DnonUniform=class extends qn{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f),this.Axis1=p,this.Axis2=h,this.LocalOrigin=u,this.Scale=I,this.Axis3=f,this.Scale2=D,this.Scale3=C,this.type=1416205885}};class ao extends Zn{constructor(h,u,I,f){super(h,u,I),this.ProfileType=h,this.ProfileName=u,this.Position=I,this.Radius=f,this.type=1383045692}}t.IfcCircleProfileDef=ao,t.IfcClosedShell=class extends kl{constructor(p){super(p),this.CfsFaces=p,this.type=2205249479}},t.IfcColourRgb=class extends vs{constructor(p,h,u,I){super(p),this.Name=p,this.Red=h,this.Green=u,this.Blue=I,this.type=776857604}},t.IfcComplexProperty=class extends jc{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.UsageName=u,this.HasProperties=I,this.type=2542286263}};class bo extends vt{constructor(h,u,I){super(),this.Transition=h,this.SameSense=u,this.ParentCurve=I,this.type=2485617015}}t.IfcCompositeCurveSegment=bo;class pn extends Ve{constructor(h,u,I,f,D,C,b,_,Y,ue,me){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.Identification=b,this.LongDescription=_,this.ResourceType=Y,this.BaseCosts=ue,this.BaseQuantity=me,this.type=2574617495}}t.IfcConstructionResourceType=pn;class en extends ln{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.LongName=C,this.Phase=b,this.RepresentationContexts=_,this.UnitsInContext=Y,this.type=3419103109}}t.IfcContext=en,t.IfcCrewResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=1815067380}};class ga extends vt{constructor(h){super(),this.Position=h,this.type=2506170314}}t.IfcCsgPrimitive3D=ga,t.IfcCsgSolid=class extends N{constructor(p){super(),this.TreeRootExpression=p,this.type=2147822146}};class Qn extends vt{constructor(){super(),this.type=2601014836}}t.IfcCurve=Qn,t.IfcCurveBoundedPlane=class extends Jt{constructor(p,h,u){super(),this.BasisSurface=p,this.OuterBoundary=h,this.InnerBoundaries=u,this.type=2827736869}},t.IfcCurveBoundedSurface=class extends Jt{constructor(p,h,u){super(),this.BasisSurface=p,this.Boundaries=h,this.ImplicitOuter=u,this.type=2629017746}},t.IfcDirection=class extends vt{constructor(p){super(),this.DirectionRatios=p,this.type=32440307}},t.IfcDoorStyle=class extends ve{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.OperationType=_,this.ConstructionType=Y,this.ParameterTakesPrecedence=ue,this.Sizeable=me,this.type=526551008}},t.IfcEdgeLoop=class extends Na{constructor(p){super(),this.EdgeList=p,this.type=1472233963}},t.IfcElementQuantity=class extends zh{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.MethodOfMeasurement=f,this.Quantities=D,this.type=1883228015}};class Pa extends ve{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=339256511}}t.IfcElementType=Pa;class Ec extends S{constructor(h){super(),this.Position=h,this.type=2777663545}}t.IfcElementarySurface=Ec,t.IfcEllipseProfileDef=class extends Zn{constructor(p,h,u,I,f){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.SemiAxis1=I,this.SemiAxis2=f,this.type=2835456948}},t.IfcEventType=class extends de{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ProcessType=_,this.PredefinedType=Y,this.EventTriggerType=ue,this.UserDefinedEventTriggerType=me,this.type=4024345920}};class yE extends L{constructor(h,u,I,f){super(h,u),this.SweptArea=h,this.Position=u,this.ExtrudedDirection=I,this.Depth=f,this.type=477187591}}t.IfcExtrudedAreaSolid=yE,t.IfcExtrudedAreaSolidTapered=class extends yE{constructor(p,h,u,I,f){super(p,h,u,I),this.SweptArea=p,this.Position=h,this.ExtrudedDirection=u,this.Depth=I,this.EndSweptArea=f,this.type=2804161546}},t.IfcFaceBasedSurfaceModel=class extends vt{constructor(p){super(),this.FbsmFaces=p,this.type=2047409740}},t.IfcFillAreaStyleHatching=class extends vt{constructor(p,h,u,I,f){super(),this.HatchLineAppearance=p,this.StartOfNextHatchLine=h,this.PointOfReferenceHatchLine=u,this.PatternStart=I,this.HatchLineAngle=f,this.type=374418227}},t.IfcFillAreaStyleTiles=class extends vt{constructor(p,h,u){super(),this.TilingPattern=p,this.Tiles=h,this.TilingScale=u,this.type=315944413}},t.IfcFixedReferenceSweptAreaSolid=class extends L{constructor(p,h,u,I,f,D){super(p,h),this.SweptArea=p,this.Position=h,this.Directrix=u,this.StartParam=I,this.EndParam=f,this.FixedReference=D,this.type=2652556860}};class Ou extends Pa{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=4238390223}}t.IfcFurnishingElementType=Ou,t.IfcFurnitureType=class extends Ou{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.AssemblyPlace=Y,this.PredefinedType=ue,this.type=1268542332}},t.IfcGeographicElementType=class extends Pa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4095422895}},t.IfcGeometricCurveSet=class extends Kn{constructor(p){super(p),this.Elements=p,this.type=987898635}},t.IfcIShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.OverallWidth=I,this.OverallDepth=f,this.WebThickness=D,this.FlangeThickness=C,this.FilletRadius=b,this.FlangeEdgeRadius=_,this.FlangeSlope=Y,this.type=1484403080}};class kh extends U{constructor(h){super(),this.CoordIndex=h,this.type=178912537}}t.IfcIndexedPolygonalFace=kh,t.IfcIndexedPolygonalFaceWithVoids=class extends kh{constructor(p,h){super(p),this.CoordIndex=p,this.InnerCoordIndices=h,this.type=2294589976}},t.IfcLShapeProfileDef=class extends Zn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Depth=I,this.Width=f,this.Thickness=D,this.FilletRadius=C,this.EdgeRadius=b,this.LegSlope=_,this.type=572779678}},t.IfcLaborResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=428585644}},t.IfcLine=class extends Qn{constructor(p,h){super(),this.Pnt=p,this.Dir=h,this.type=1281925730}};class TE extends N{constructor(h){super(),this.Outer=h,this.type=1425443689}}t.IfcManifoldSolidBrep=TE;class Yc extends ln{constructor(h,u,I,f,D){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.type=3888040117}}t.IfcObject=Yc,t.IfcOffsetCurve2D=class extends Qn{constructor(p,h,u){super(),this.BasisCurve=p,this.Distance=h,this.SelfIntersect=u,this.type=3388369263}},t.IfcOffsetCurve3D=class extends Qn{constructor(p,h,u,I){super(),this.BasisCurve=p,this.Distance=h,this.SelfIntersect=u,this.RefDirection=I,this.type=3505215534}},t.IfcPcurve=class extends Qn{constructor(p,h){super(),this.BasisSurface=p,this.ReferenceCurve=h,this.type=1682466193}},t.IfcPlanarBox=class extends Kl{constructor(p,h,u){super(p,h),this.SizeInX=p,this.SizeInY=h,this.Placement=u,this.type=603570806}},t.IfcPlane=class extends Ec{constructor(p){super(p),this.Position=p,this.type=220341763}};class mu extends Yh{constructor(h){super(h),this.Name=h,this.type=759155922}}t.IfcPreDefinedColour=mu;class Wy extends Yh{constructor(h){super(h),this.Name=h,this.type=2559016684}}t.IfcPreDefinedCurveFont=Wy;class Lo extends uc{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=3967405729}}t.IfcPreDefinedPropertySet=Lo,t.IfcProcedureType=class extends de{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ProcessType=_,this.PredefinedType=Y,this.type=569719735}};class Du extends Yc{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.Identification=C,this.LongDescription=b,this.type=2945172077}}t.IfcProcess=Du;class oo extends Yc{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.type=4208778838}}t.IfcProduct=oo,t.IfcProject=class extends en{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.LongName=D,this.Phase=C,this.RepresentationContexts=b,this.UnitsInContext=_,this.type=103090709}},t.IfcProjectLibrary=class extends en{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.LongName=D,this.Phase=C,this.RepresentationContexts=b,this.UnitsInContext=_,this.type=653396225}},t.IfcPropertyBoundedValue=class extends Xa{constructor(p,h,u,I,f,D){super(p,h),this.Name=p,this.Description=h,this.UpperBoundValue=u,this.LowerBoundValue=I,this.Unit=f,this.SetPointValue=D,this.type=871118103}},t.IfcPropertyEnumeratedValue=class extends Xa{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.EnumerationValues=u,this.EnumerationReference=I,this.type=4166981789}},t.IfcPropertyListValue=class extends Xa{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.ListValues=u,this.Unit=I,this.type=2752243245}},t.IfcPropertyReferenceValue=class extends Xa{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.UsageName=u,this.PropertyReference=I,this.type=941946838}},t.IfcPropertySet=class extends uc{constructor(p,h,u,I,f){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.HasProperties=f,this.type=1451395588}},t.IfcPropertySetTemplate=class extends vn{constructor(p,h,u,I,f,D,C){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.TemplateType=f,this.ApplicableEntity=D,this.HasPropertyTemplates=C,this.type=492091185}},t.IfcPropertySingleValue=class extends Xa{constructor(p,h,u,I){super(p,h),this.Name=p,this.Description=h,this.NominalValue=u,this.Unit=I,this.type=3650150729}},t.IfcPropertyTableValue=class extends Xa{constructor(p,h,u,I,f,D,C,b){super(p,h),this.Name=p,this.Description=h,this.DefiningValues=u,this.DefinedValues=I,this.Expression=f,this.DefiningUnit=D,this.DefinedUnit=C,this.CurveInterpolation=b,this.type=110355661}};class go extends vn{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=3521284610}}t.IfcPropertyTemplate=go,t.IfcProxy=class extends oo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.ProxyType=b,this.Tag=_,this.type=3219374653}},t.IfcRectangleHollowProfileDef=class extends vo{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.XDim=I,this.YDim=f,this.WallThickness=D,this.InnerFilletRadius=C,this.OuterFilletRadius=b,this.type=2770003689}},t.IfcRectangularPyramid=class extends ga{constructor(p,h,u,I){super(p),this.Position=p,this.XLength=h,this.YLength=u,this.Height=I,this.type=2798486643}},t.IfcRectangularTrimmedSurface=class extends Jt{constructor(p,h,u,I,f,D,C){super(),this.BasisSurface=p,this.U1=h,this.V1=u,this.U2=I,this.V2=f,this.Usense=D,this.Vsense=C,this.type=3454111270}},t.IfcReinforcementDefinitionProperties=class extends Lo{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.DefinitionType=f,this.ReinforcementSectionDefinitions=D,this.type=3765753017}};class zc extends Ra{constructor(h,u,I,f,D,C){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatedObjects=D,this.RelatedObjectsType=C,this.type=3939117080}}t.IfcRelAssigns=zc,t.IfcRelAssignsToActor=class extends zc{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingActor=C,this.ActingRole=b,this.type=1683148259}},t.IfcRelAssignsToControl=class extends zc{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingControl=C,this.type=2495723537}};class jy extends zc{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D,C),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatedObjects=D,this.RelatedObjectsType=C,this.RelatingGroup=b,this.type=1307041759}}t.IfcRelAssignsToGroup=jy,t.IfcRelAssignsToGroupByFactor=class extends jy{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingGroup=C,this.Factor=b,this.type=1027710054}},t.IfcRelAssignsToProcess=class extends zc{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingProcess=C,this.QuantityInProcess=b,this.type=4278684876}},t.IfcRelAssignsToProduct=class extends zc{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingProduct=C,this.type=2857406711}},t.IfcRelAssignsToResource=class extends zc{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatedObjectsType=D,this.RelatingResource=C,this.type=205026976}};class kc extends Ra{constructor(h,u,I,f,D){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatedObjects=D,this.type=1865459582}}t.IfcRelAssociates=kc,t.IfcRelAssociatesApproval=class extends kc{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingApproval=D,this.type=4095574036}},t.IfcRelAssociatesClassification=class extends kc{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingClassification=D,this.type=919958153}},t.IfcRelAssociatesConstraint=class extends kc{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.Intent=D,this.RelatingConstraint=C,this.type=2728634034}},t.IfcRelAssociatesDocument=class extends kc{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingDocument=D,this.type=982818633}},t.IfcRelAssociatesLibrary=class extends kc{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingLibrary=D,this.type=3840914261}},t.IfcRelAssociatesMaterial=class extends kc{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingMaterial=D,this.type=2655215786}};class Ln extends Ra{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=826625072}}t.IfcRelConnects=Ln;class Au extends Ln{constructor(h,u,I,f,D,C,b){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ConnectionGeometry=D,this.RelatingElement=C,this.RelatedElement=b,this.type=1204542856}}t.IfcRelConnectsElements=Au,t.IfcRelConnectsPathElements=class extends Au{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ConnectionGeometry=f,this.RelatingElement=D,this.RelatedElement=C,this.RelatingPriorities=b,this.RelatedPriorities=_,this.RelatedConnectionType=Y,this.RelatingConnectionType=ue,this.type=3945020480}},t.IfcRelConnectsPortToElement=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingPort=f,this.RelatedElement=D,this.type=4201705270}},t.IfcRelConnectsPorts=class extends Ln{constructor(p,h,u,I,f,D,C){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingPort=f,this.RelatedPort=D,this.RealizingElement=C,this.type=3190031847}},t.IfcRelConnectsStructuralActivity=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingElement=f,this.RelatedStructuralActivity=D,this.type=2127690289}};class Yy extends Ln{constructor(h,u,I,f,D,C,b,_,Y,ue){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatingStructuralMember=D,this.RelatedStructuralConnection=C,this.AppliedCondition=b,this.AdditionalConditions=_,this.SupportedLength=Y,this.ConditionCoordinateSystem=ue,this.type=1638771189}}t.IfcRelConnectsStructuralMember=Yy,t.IfcRelConnectsWithEccentricity=class extends Yy{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingStructuralMember=f,this.RelatedStructuralConnection=D,this.AppliedCondition=C,this.AdditionalConditions=b,this.SupportedLength=_,this.ConditionCoordinateSystem=Y,this.ConnectionConstraint=ue,this.type=504942748}},t.IfcRelConnectsWithRealizingElements=class extends Au{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ConnectionGeometry=f,this.RelatingElement=D,this.RelatedElement=C,this.RealizingElements=b,this.ConnectionType=_,this.type=3678494232}},t.IfcRelContainedInSpatialStructure=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedElements=f,this.RelatingStructure=D,this.type=3242617779}},t.IfcRelCoversBldgElements=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingBuildingElement=f,this.RelatedCoverings=D,this.type=886880790}},t.IfcRelCoversSpaces=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingSpace=f,this.RelatedCoverings=D,this.type=2802773753}},t.IfcRelDeclares=class extends Ra{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingContext=f,this.RelatedDefinitions=D,this.type=2565941209}};class ql extends Ra{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=2551354335}}t.IfcRelDecomposes=ql;class Xc extends Ra{constructor(h,u,I,f){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.type=693640335}}t.IfcRelDefines=Xc,t.IfcRelDefinesByObject=class extends Xc{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingObject=D,this.type=1462361463}},t.IfcRelDefinesByProperties=class extends Xc{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingPropertyDefinition=D,this.type=4186316022}},t.IfcRelDefinesByTemplate=class extends Xc{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedPropertySets=f,this.RelatingTemplate=D,this.type=307848117}},t.IfcRelDefinesByType=class extends Xc{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedObjects=f,this.RelatingType=D,this.type=781010003}},t.IfcRelFillsElement=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingOpeningElement=f,this.RelatedBuildingElement=D,this.type=3940055652}},t.IfcRelFlowControlElements=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedControlElements=f,this.RelatingFlowElement=D,this.type=279856033}},t.IfcRelInterferesElements=class extends Ln{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingElement=f,this.RelatedElement=D,this.InterferenceGeometry=C,this.InterferenceType=b,this.ImpliedOrder=_,this.type=427948657}},t.IfcRelNests=class extends ql{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingObject=f,this.RelatedObjects=D,this.type=3268803585}},t.IfcRelProjectsElement=class extends ql{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingElement=f,this.RelatedFeatureElement=D,this.type=750771296}},t.IfcRelReferencedInSpatialStructure=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatedElements=f,this.RelatingStructure=D,this.type=1245217292}},t.IfcRelSequence=class extends Ln{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingProcess=f,this.RelatedProcess=D,this.TimeLag=C,this.SequenceType=b,this.UserDefinedSequenceType=_,this.type=4122056220}},t.IfcRelServicesBuildings=class extends Ln{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingSystem=f,this.RelatedBuildings=D,this.type=366585022}};class dE extends Ln{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatingSpace=D,this.RelatedBuildingElement=C,this.ConnectionGeometry=b,this.PhysicalOrVirtualBoundary=_,this.InternalOrExternalBoundary=Y,this.type=3451746338}}t.IfcRelSpaceBoundary=dE;class zy extends dE{constructor(h,u,I,f,D,C,b,_,Y,ue){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.RelatingSpace=D,this.RelatedBuildingElement=C,this.ConnectionGeometry=b,this.PhysicalOrVirtualBoundary=_,this.InternalOrExternalBoundary=Y,this.ParentBoundary=ue,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=zy,t.IfcRelSpaceBoundary2ndLevel=class extends zy{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingSpace=f,this.RelatedBuildingElement=D,this.ConnectionGeometry=C,this.PhysicalOrVirtualBoundary=b,this.InternalOrExternalBoundary=_,this.ParentBoundary=Y,this.CorrespondingBoundary=ue,this.type=1521410863}},t.IfcRelVoidsElement=class extends ql{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingBuildingElement=f,this.RelatedOpeningElement=D,this.type=1401173127}},t.IfcReparametrisedCompositeCurveSegment=class extends bo{constructor(p,h,u,I){super(p,h,u),this.Transition=p,this.SameSense=h,this.ParentCurve=u,this.ParamLength=I,this.type=816062949}};class ky extends Yc{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.Identification=C,this.LongDescription=b,this.type=2914609552}}t.IfcResource=ky;class Xy extends L{constructor(h,u,I,f){super(h,u),this.SweptArea=h,this.Position=u,this.Axis=I,this.Angle=f,this.type=1856042241}}t.IfcRevolvedAreaSolid=Xy,t.IfcRevolvedAreaSolidTapered=class extends Xy{constructor(p,h,u,I,f){super(p,h,u,I),this.SweptArea=p,this.Position=h,this.Axis=u,this.Angle=I,this.EndSweptArea=f,this.type=3243963512}},t.IfcRightCircularCone=class extends ga{constructor(p,h,u){super(p),this.Position=p,this.Height=h,this.BottomRadius=u,this.type=4158566097}},t.IfcRightCircularCylinder=class extends ga{constructor(p,h,u){super(p),this.Position=p,this.Height=h,this.Radius=u,this.type=3626867408}},t.IfcSimplePropertyTemplate=class extends go{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.TemplateType=f,this.PrimaryMeasureType=D,this.SecondaryMeasureType=C,this.Enumerators=b,this.PrimaryUnit=_,this.SecondaryUnit=Y,this.Expression=ue,this.AccessState=me,this.type=3663146110}};class Su extends oo{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.LongName=_,this.type=1412071761}}t.IfcSpatialElement=Su;class Vs extends ve{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=710998568}}t.IfcSpatialElementType=Vs;class Ql extends Su{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.LongName=_,this.CompositionType=Y,this.type=2706606064}}t.IfcSpatialStructureElement=Ql;class NE extends Vs{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3893378262}}t.IfcSpatialStructureElementType=NE,t.IfcSpatialZone=class extends Su{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.PredefinedType=_,this.type=463610769}},t.IfcSpatialZoneType=class extends Vs{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.LongName=ue,this.type=2481509218}},t.IfcSphere=class extends ga{constructor(p,h){super(p),this.Position=p,this.Radius=h,this.type=451544542}},t.IfcSphericalSurface=class extends Ec{constructor(p,h){super(p),this.Position=p,this.Radius=h,this.type=4015995234}};class Cu extends oo{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedLoad=_,this.GlobalOrLocal=Y,this.type=3544373492}}t.IfcStructuralActivity=Cu;class Xh extends oo{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.type=3136571912}}t.IfcStructuralItem=Xh;class RE extends Xh{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.type=530289379}}t.IfcStructuralMember=RE;class Kh extends Cu{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedLoad=_,this.GlobalOrLocal=Y,this.type=3689010777}}t.IfcStructuralReaction=Kh;class Ky extends RE{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.PredefinedType=_,this.Thickness=Y,this.type=3979015343}}t.IfcStructuralSurfaceMember=Ky,t.IfcStructuralSurfaceMemberVarying=class extends Ky{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.PredefinedType=b,this.Thickness=_,this.type=2218152070}},t.IfcStructuralSurfaceReaction=class extends Kh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.PredefinedType=Y,this.type=603775116}},t.IfcSubContractResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=4095615324}};class Jl extends Qn{constructor(h,u,I){super(),this.Curve3D=h,this.AssociatedGeometry=u,this.MasterRepresentation=I,this.type=699246055}}t.IfcSurfaceCurve=Jl,t.IfcSurfaceCurveSweptAreaSolid=class extends L{constructor(p,h,u,I,f,D){super(p,h),this.SweptArea=p,this.Position=h,this.Directrix=u,this.StartParam=I,this.EndParam=f,this.ReferenceSurface=D,this.type=2028607225}},t.IfcSurfaceOfLinearExtrusion=class extends F{constructor(p,h,u,I){super(p,h),this.SweptCurve=p,this.Position=h,this.ExtrudedDirection=u,this.Depth=I,this.type=2809605785}},t.IfcSurfaceOfRevolution=class extends F{constructor(p,h,u){super(p,h),this.SweptCurve=p,this.Position=h,this.AxisPosition=u,this.type=4124788165}},t.IfcSystemFurnitureElementType=class extends Ou{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1580310250}},t.IfcTask=class extends Du{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Status=b,this.WorkMethod=_,this.IsMilestone=Y,this.Priority=ue,this.TaskTime=me,this.PredefinedType=we,this.type=3473067441}},t.IfcTaskType=class extends de{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ProcessType=_,this.PredefinedType=Y,this.WorkMethod=ue,this.type=3206491090}};class fa extends U{constructor(h){super(),this.Coordinates=h,this.type=2387106220}}t.IfcTessellatedFaceSet=fa,t.IfcToroidalSurface=class extends Ec{constructor(p,h,u){super(p),this.Position=p,this.MajorRadius=h,this.MinorRadius=u,this.type=1935646853}},t.IfcTransportElementType=class extends Pa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2097647324}},t.IfcTriangulatedFaceSet=class extends fa{constructor(p,h,u,I,f){super(p),this.Coordinates=p,this.Normals=h,this.Closed=u,this.CoordIndex=I,this.PnIndex=f,this.type=2916149573}},t.IfcWindowLiningProperties=class extends Lo{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.LiningDepth=f,this.LiningThickness=D,this.TransomThickness=C,this.MullionThickness=b,this.FirstTransomOffset=_,this.SecondTransomOffset=Y,this.FirstMullionOffset=ue,this.SecondMullionOffset=me,this.ShapeAspectStyle=we,this.LiningOffset=St,this.LiningToPanelOffsetX=zi,this.LiningToPanelOffsetY=Or,this.type=336235671}},t.IfcWindowPanelProperties=class extends Lo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.OperationType=f,this.PanelPosition=D,this.FrameDepth=C,this.FrameThickness=b,this.ShapeAspectStyle=_,this.type=512836454}};class $l extends Yc{constructor(h,u,I,f,D,C){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.TheActor=C,this.type=2296667514}}t.IfcActor=$l;class Zy extends TE{constructor(h){super(h),this.Outer=h,this.type=1635779807}}t.IfcAdvancedBrep=Zy,t.IfcAdvancedBrepWithVoids=class extends Zy{constructor(p,h){super(p),this.Outer=p,this.Voids=h,this.type=2603310189}},t.IfcAnnotation=class extends oo{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.type=1674181508}};class ep extends Jt{constructor(h,u,I,f,D,C,b){super(),this.UDegree=h,this.VDegree=u,this.ControlPointsList=I,this.SurfaceForm=f,this.UClosed=D,this.VClosed=C,this.SelfIntersect=b,this.type=2887950389}}t.IfcBSplineSurface=ep;class vu extends ep{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we){super(h,u,I,f,D,C,b),this.UDegree=h,this.VDegree=u,this.ControlPointsList=I,this.SurfaceForm=f,this.UClosed=D,this.VClosed=C,this.SelfIntersect=b,this.UMultiplicities=_,this.VMultiplicities=Y,this.UKnots=ue,this.VKnots=me,this.KnotSpec=we,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=vu,t.IfcBlock=class extends ga{constructor(p,h,u,I){super(p),this.Position=p,this.XLength=h,this.YLength=u,this.ZLength=I,this.type=1334484129}},t.IfcBooleanClippingResult=class extends Ze{constructor(p,h,u){super(p,h,u),this.Operator=p,this.FirstOperand=h,this.SecondOperand=u,this.type=3649129432}};class Ic extends Qn{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=Ic,t.IfcBuilding=class extends Ql{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.CompositionType=_,this.ElevationOfRefHeight=Y,this.ElevationOfTerrain=ue,this.BuildingAddress=me,this.type=4031249490}};class ji extends Pa{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=1950629157}}t.IfcBuildingElementType=ji,t.IfcBuildingStorey=class extends Ql{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.CompositionType=_,this.Elevation=Y,this.type=3124254112}},t.IfcChimneyType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2197970202}},t.IfcCircleHollowProfileDef=class extends ao{constructor(p,h,u,I,f){super(p,h,u,I),this.ProfileType=p,this.ProfileName=h,this.Position=u,this.Radius=I,this.WallThickness=f,this.type=2937912522}},t.IfcCivilElementType=class extends Pa{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.type=3893394355}},t.IfcColumnType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=300633059}},t.IfcComplexPropertyTemplate=class extends go{constructor(p,h,u,I,f,D,C){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.UsageName=f,this.TemplateType=D,this.HasPropertyTemplates=C,this.type=3875453745}};class fE extends Ic{constructor(h,u){super(),this.Segments=h,this.SelfIntersect=u,this.type=3732776249}}t.IfcCompositeCurve=fE;class OE extends fE{constructor(h,u){super(h,u),this.Segments=h,this.SelfIntersect=u,this.type=15328376}}t.IfcCompositeCurveOnSurface=OE;class tp extends Qn{constructor(h){super(),this.Position=h,this.type=2510884976}}t.IfcConic=tp,t.IfcConstructionEquipmentResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=2185764099}},t.IfcConstructionMaterialResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=4105962743}},t.IfcConstructionProductResourceType=class extends pn{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.Identification=C,this.LongDescription=b,this.ResourceType=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.PredefinedType=me,this.type=1525564444}};class yc extends ky{constructor(h,u,I,f,D,C,b,_,Y,ue){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.Identification=C,this.LongDescription=b,this.Usage=_,this.BaseCosts=Y,this.BaseQuantity=ue,this.type=2559216714}}t.IfcConstructionResource=yc;class Po extends Yc{constructor(h,u,I,f,D,C){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.Identification=C,this.type=3293443760}}t.IfcControl=Po,t.IfcCostItem=class extends Po{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.PredefinedType=C,this.CostValues=b,this.CostQuantities=_,this.type=3895139033}},t.IfcCostSchedule=class extends Po{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.PredefinedType=C,this.Status=b,this.SubmittedOn=_,this.UpdateDate=Y,this.type=1419761937}},t.IfcCoveringType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1916426348}},t.IfcCrewResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=3295246426}},t.IfcCurtainWallType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1457835157}},t.IfcCylindricalSurface=class extends Ec{constructor(p,h){super(p),this.Position=p,this.Radius=h,this.type=1213902940}};class bu extends Pa{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3256556792}}t.IfcDistributionElementType=bu;class Vn extends bu{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3849074793}}t.IfcDistributionFlowElementType=Vn,t.IfcDoorLiningProperties=class extends Lo{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.LiningDepth=f,this.LiningThickness=D,this.ThresholdDepth=C,this.ThresholdThickness=b,this.TransomThickness=_,this.TransomOffset=Y,this.LiningOffset=ue,this.ThresholdOffset=me,this.CasingThickness=we,this.CasingDepth=St,this.ShapeAspectStyle=zi,this.LiningToPanelOffsetX=Or,this.LiningToPanelOffsetY=Pn,this.type=2963535650}},t.IfcDoorPanelProperties=class extends Lo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.PanelDepth=f,this.PanelOperation=D,this.PanelWidth=C,this.PanelPosition=b,this.ShapeAspectStyle=_,this.type=1714330368}},t.IfcDoorType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.OperationType=ue,this.ParameterTakesPrecedence=me,this.UserDefinedOperationType=we,this.type=2323601079}},t.IfcDraughtingPreDefinedColour=class extends mu{constructor(p){super(p),this.Name=p,this.type=445594917}},t.IfcDraughtingPreDefinedCurveFont=class extends Wy{constructor(p){super(p),this.Name=p,this.type=4006246654}};class xa extends oo{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1758889154}}t.IfcElement=xa,t.IfcElementAssembly=class extends xa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.AssemblyPlace=_,this.PredefinedType=Y,this.type=4123344466}},t.IfcElementAssemblyType=class extends Pa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2397081782}};class _a extends xa{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1623761950}}t.IfcElementComponent=_a;class Ka extends Pa{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=2590856083}}t.IfcElementComponentType=Ka,t.IfcEllipse=class extends tp{constructor(p,h,u){super(p),this.Position=p,this.SemiAxis1=h,this.SemiAxis2=u,this.type=1704287377}};class rr extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=2107101300}}t.IfcEnergyConversionDeviceType=rr,t.IfcEngineType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=132023988}},t.IfcEvaporativeCoolerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3174744832}},t.IfcEvaporatorType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3390157468}},t.IfcEvent=class extends Du{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.PredefinedType=b,this.EventTriggerType=_,this.UserDefinedEventTriggerType=Y,this.EventOccurenceTime=ue,this.type=4148101412}};class qy extends Su{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.LongName=_,this.type=2853485674}}t.IfcExternalSpatialStructureElement=qy;class sp extends TE{constructor(h){super(h),this.Outer=h,this.type=807026263}}t.IfcFacetedBrep=sp,t.IfcFacetedBrepWithVoids=class extends sp{constructor(p,h){super(p),this.Outer=p,this.Voids=h,this.type=3737207727}},t.IfcFastener=class extends _a{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=647756555}},t.IfcFastenerType=class extends Ka{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2489546625}};class Zh extends xa{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=2827207264}}t.IfcFeatureElement=Zh;class Qy extends Zh{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=2143335405}}t.IfcFeatureElementAddition=Qy;class Lu extends Zh{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1287392070}}t.IfcFeatureElementSubtraction=Lu;class co extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3907093117}}t.IfcFlowControllerType=co;class qh extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3198132628}}t.IfcFlowFittingType=qh,t.IfcFlowMeterType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3815607619}};class Qh extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=1482959167}}t.IfcFlowMovingDeviceType=Qh;class Kc extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=1834744321}}t.IfcFlowSegmentType=Kc;class gu extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=1339347760}}t.IfcFlowStorageDeviceType=gu;class Jn extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=2297155007}}t.IfcFlowTerminalType=Jn;class Pu extends Vn{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=Pu,t.IfcFootingType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1893162501}};class Jh extends xa{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=263784265}}t.IfcFurnishingElement=Jh,t.IfcFurniture=class extends Jh{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1509553395}},t.IfcGeographicElement=class extends xa{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3493046030}},t.IfcGrid=class extends oo{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.UAxes=b,this.VAxes=_,this.WAxes=Y,this.PredefinedType=ue,this.type=3009204131}};class Zc extends Yc{constructor(h,u,I,f,D){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.type=2706460486}}t.IfcGroup=Zc,t.IfcHeatExchangerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1251058090}},t.IfcHumidifierType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1806887404}},t.IfcIndexedPolyCurve=class extends Ic{constructor(p,h,u){super(),this.Points=p,this.Segments=h,this.SelfIntersect=u,this.type=2571569899}},t.IfcInterceptorType=class extends Pu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3946677679}},t.IfcIntersectionCurve=class extends Jl{constructor(p,h,u){super(p,h,u),this.Curve3D=p,this.AssociatedGeometry=h,this.MasterRepresentation=u,this.type=3113134337}},t.IfcInventory=class extends Zc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.PredefinedType=D,this.Jurisdiction=C,this.ResponsiblePersons=b,this.LastUpdateDate=_,this.CurrentValue=Y,this.OriginalValue=ue,this.type=2391368822}},t.IfcJunctionBoxType=class extends qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4288270099}},t.IfcLaborResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=3827777499}},t.IfcLampType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1051575348}},t.IfcLightFixtureType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1161773419}},t.IfcMechanicalFastener=class extends _a{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.NominalDiameter=_,this.NominalLength=Y,this.PredefinedType=ue,this.type=377706215}},t.IfcMechanicalFastenerType=class extends Ka{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.NominalDiameter=ue,this.NominalLength=me,this.type=2108223431}},t.IfcMedicalDeviceType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1114901282}},t.IfcMemberType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3181161470}},t.IfcMotorConnectionType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=977012517}},t.IfcOccupant=class extends $l{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.TheActor=D,this.PredefinedType=C,this.type=4143007308}};class mE extends Lu{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=3588315303}}t.IfcOpeningElement=mE,t.IfcOpeningStandardCase=class extends mE{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3079942009}},t.IfcOutletType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2837617999}},t.IfcPerformanceHistory=class extends Po{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LifeCyclePhase=C,this.PredefinedType=b,this.type=2382730787}},t.IfcPermeableCoveringProperties=class extends Lo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.OperationType=f,this.PanelPosition=D,this.FrameDepth=C,this.FrameThickness=b,this.ShapeAspectStyle=_,this.type=3566463478}},t.IfcPermit=class extends Po{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.PredefinedType=C,this.Status=b,this.LongDescription=_,this.type=3327091369}},t.IfcPileType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1158309216}},t.IfcPipeFittingType=class extends qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=804291784}},t.IfcPipeSegmentType=class extends Kc{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4231323485}},t.IfcPlateType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4017108033}},t.IfcPolygonalFaceSet=class extends fa{constructor(p,h,u,I){super(p),this.Coordinates=p,this.Closed=h,this.Faces=u,this.PnIndex=I,this.type=2839578677}},t.IfcPolyline=class extends Ic{constructor(p){super(),this.Points=p,this.type=3724593414}};class Jy extends oo{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.type=3740093272}}t.IfcPort=Jy,t.IfcProcedure=class extends Du{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.PredefinedType=b,this.type=2744685151}},t.IfcProjectOrder=class extends Po{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.PredefinedType=C,this.Status=b,this.LongDescription=_,this.type=2904328755}},t.IfcProjectionElement=class extends Qy{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3651124850}},t.IfcProtectiveDeviceType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1842657554}},t.IfcPumpType=class extends Qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2250791053}},t.IfcRailingType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2893384427}},t.IfcRampFlightType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2324767716}},t.IfcRampType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1469900589}},t.IfcRationalBSplineSurfaceWithKnots=class extends vu{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_,Y,ue,me),this.UDegree=p,this.VDegree=h,this.ControlPointsList=u,this.SurfaceForm=I,this.UClosed=f,this.VClosed=D,this.SelfIntersect=C,this.UMultiplicities=b,this.VMultiplicities=_,this.UKnots=Y,this.VKnots=ue,this.KnotSpec=me,this.WeightsData=we,this.type=683857671}};class ip extends _a{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.SteelGrade=Y,this.type=3027567501}}t.IfcReinforcingElement=ip;class rp extends Ka{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=964333572}}t.IfcReinforcingElementType=rp,t.IfcReinforcingMesh=class extends ip{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.SteelGrade=_,this.MeshLength=Y,this.MeshWidth=ue,this.LongitudinalBarNominalDiameter=me,this.TransverseBarNominalDiameter=we,this.LongitudinalBarCrossSectionArea=St,this.TransverseBarCrossSectionArea=zi,this.LongitudinalBarSpacing=Or,this.TransverseBarSpacing=Pn,this.PredefinedType=lo,this.type=2320036040}},t.IfcReinforcingMeshType=class extends rp{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn,lo,il,po){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.MeshLength=ue,this.MeshWidth=me,this.LongitudinalBarNominalDiameter=we,this.TransverseBarNominalDiameter=St,this.LongitudinalBarCrossSectionArea=zi,this.TransverseBarCrossSectionArea=Or,this.LongitudinalBarSpacing=Pn,this.TransverseBarSpacing=lo,this.BendingShapeCode=il,this.BendingParameters=po,this.type=2310774935}},t.IfcRelAggregates=class extends ql{constructor(p,h,u,I,f,D){super(p,h,u,I),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.RelatingObject=f,this.RelatedObjects=D,this.type=160246688}},t.IfcRoofType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2781568857}},t.IfcSanitaryTerminalType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1768891740}},t.IfcSeamCurve=class extends Jl{constructor(p,h,u){super(p,h,u),this.Curve3D=p,this.AssociatedGeometry=h,this.MasterRepresentation=u,this.type=2157484638}},t.IfcShadingDeviceType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4074543187}},t.IfcSite=class extends Ql{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.CompositionType=_,this.RefLatitude=Y,this.RefLongitude=ue,this.RefElevation=me,this.LandTitleNumber=we,this.SiteAddress=St,this.type=4097777520}},t.IfcSlabType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2533589738}},t.IfcSolarDeviceType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1072016465}},t.IfcSpace=class extends Ql{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.CompositionType=_,this.PredefinedType=Y,this.ElevationWithFlooring=ue,this.type=3856911033}},t.IfcSpaceHeaterType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1305183839}},t.IfcSpaceType=class extends NE{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.LongName=ue,this.type=3812236995}},t.IfcStackTerminalType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3112655638}},t.IfcStairFlightType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1039846685}},t.IfcStairType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=338393293}};class xu extends Cu{constructor(h,u,I,f,D,C,b,_,Y,ue){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedLoad=_,this.GlobalOrLocal=Y,this.DestabilizingLoad=ue,this.type=682877961}}t.IfcStructuralAction=xu;class xo extends Xh{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedCondition=_,this.type=1179482911}}t.IfcStructuralConnection=xo;class DE extends xu{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we){super(h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedLoad=_,this.GlobalOrLocal=Y,this.DestabilizingLoad=ue,this.ProjectedOrTrue=me,this.PredefinedType=we,this.type=1004757350}}t.IfcStructuralCurveAction=DE,t.IfcStructuralCurveConnection=class extends xo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedCondition=b,this.Axis=_,this.type=4243806635}};class $h extends RE{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.PredefinedType=_,this.Axis=Y,this.type=214636428}}t.IfcStructuralCurveMember=$h,t.IfcStructuralCurveMemberVarying=class extends $h{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.PredefinedType=b,this.Axis=_,this.type=2445595289}},t.IfcStructuralCurveReaction=class extends Kh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.PredefinedType=Y,this.type=2757150158}},t.IfcStructuralLinearAction=class extends DE{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue,me),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.DestabilizingLoad=Y,this.ProjectedOrTrue=ue,this.PredefinedType=me,this.type=1807405624}};class _o extends Zc{constructor(h,u,I,f,D,C,b,_,Y,ue){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.PredefinedType=C,this.ActionType=b,this.ActionSource=_,this.Coefficient=Y,this.Purpose=ue,this.type=1252848954}}t.IfcStructuralLoadGroup=_o,t.IfcStructuralPointAction=class extends xu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.DestabilizingLoad=Y,this.type=2082059205}},t.IfcStructuralPointConnection=class extends xo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedCondition=b,this.ConditionCoordinateSystem=_,this.type=734778138}},t.IfcStructuralPointReaction=class extends Kh{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.type=1235345126}},t.IfcStructuralResultGroup=class extends Zc{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.TheoryType=D,this.ResultForLoadGroup=C,this.IsLinear=b,this.type=2986769608}};class AE extends xu{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we){super(h,u,I,f,D,C,b,_,Y,ue),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.AppliedLoad=_,this.GlobalOrLocal=Y,this.DestabilizingLoad=ue,this.ProjectedOrTrue=me,this.PredefinedType=we,this.type=3657597509}}t.IfcStructuralSurfaceAction=AE,t.IfcStructuralSurfaceConnection=class extends xo{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedCondition=b,this.type=1975003073}},t.IfcSubContractResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=148013059}},t.IfcSurfaceFeature=class extends Zh{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3101698114}},t.IfcSwitchingDeviceType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2315554128}};class Ma extends Zc{constructor(h,u,I,f,D){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.type=2254336722}}t.IfcSystem=Ma,t.IfcSystemFurnitureElement=class extends Jh{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=413509423}},t.IfcTankType=class extends gu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=5716631}},t.IfcTendon=class extends ip{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or,Pn){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.SteelGrade=_,this.PredefinedType=Y,this.NominalDiameter=ue,this.CrossSectionArea=me,this.TensionForce=we,this.PreStress=St,this.FrictionCoefficient=zi,this.AnchorageSlip=Or,this.MinCurvatureRadius=Pn,this.type=3824725483}},t.IfcTendonAnchor=class extends ip{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.SteelGrade=_,this.PredefinedType=Y,this.type=2347447852}},t.IfcTendonAnchorType=class extends rp{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3081323446}},t.IfcTendonType=class extends rp{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.NominalDiameter=ue,this.CrossSectionArea=me,this.SheathDiameter=we,this.type=2415094496}},t.IfcTransformerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1692211062}},t.IfcTransportElement=class extends xa{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1620046519}},t.IfcTrimmedCurve=class extends Ic{constructor(p,h,u,I,f){super(),this.BasisCurve=p,this.Trim1=h,this.Trim2=u,this.SenseAgreement=I,this.MasterRepresentation=f,this.type=3593883385}},t.IfcTubeBundleType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1600972822}},t.IfcUnitaryEquipmentType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1911125066}},t.IfcValveType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=728799441}},t.IfcVibrationIsolator=class extends _a{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2391383451}},t.IfcVibrationIsolatorType=class extends Ka{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3313531582}},t.IfcVirtualElement=class extends xa{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.type=2769231204}},t.IfcVoidingFeature=class extends Lu{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=926996030}},t.IfcWallType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1898987631}},t.IfcWasteTerminalType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1133259667}},t.IfcWindowType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.PartitioningType=ue,this.ParameterTakesPrecedence=me,this.UserDefinedPartitioningType=we,this.type=4009809668}},t.IfcWorkCalendar=class extends Po{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.WorkingTimes=C,this.ExceptionTimes=b,this.PredefinedType=_,this.type=4088093105}};class el extends Po{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(h,u,I,f,D,C),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.Identification=C,this.CreationDate=b,this.Creators=_,this.Purpose=Y,this.Duration=ue,this.TotalFloat=me,this.StartTime=we,this.FinishTime=St,this.type=1028945134}}t.IfcWorkControl=el,t.IfcWorkPlan=class extends el{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(p,h,u,I,f,D,C,b,_,Y,ue,me,we),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.CreationDate=C,this.Creators=b,this.Purpose=_,this.Duration=Y,this.TotalFloat=ue,this.StartTime=me,this.FinishTime=we,this.PredefinedType=St,this.type=4218914973}},t.IfcWorkSchedule=class extends el{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(p,h,u,I,f,D,C,b,_,Y,ue,me,we),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.CreationDate=C,this.Creators=b,this.Purpose=_,this.Duration=Y,this.TotalFloat=ue,this.StartTime=me,this.FinishTime=we,this.PredefinedType=St,this.type=3342526732}},t.IfcZone=class extends Ma{constructor(p,h,u,I,f,D){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.LongName=D,this.type=1033361043}},t.IfcActionRequest=class extends Po{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.PredefinedType=C,this.Status=b,this.LongDescription=_,this.type=3821786052}},t.IfcAirTerminalBoxType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1411407467}},t.IfcAirTerminalType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3352864051}},t.IfcAirToAirHeatRecoveryType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1871374353}},t.IfcAsset=class extends Zc{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.OriginalValue=C,this.CurrentValue=b,this.TotalReplacementCost=_,this.Owner=Y,this.User=ue,this.ResponsiblePerson=me,this.IncorporationDate=we,this.DepreciatedValue=St,this.type=3460190687}},t.IfcAudioVisualApplianceType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1532957894}};class $y extends Ic{constructor(h,u,I,f,D){super(),this.Degree=h,this.ControlPointsList=u,this.CurveForm=I,this.ClosedCurve=f,this.SelfIntersect=D,this.type=1967976161}}t.IfcBSplineCurve=$y;class eT extends $y{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D),this.Degree=h,this.ControlPointsList=u,this.CurveForm=I,this.ClosedCurve=f,this.SelfIntersect=D,this.KnotMultiplicities=C,this.Knots=b,this.KnotSpec=_,this.type=2461110595}}t.IfcBSplineCurveWithKnots=eT,t.IfcBeamType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=819618141}},t.IfcBoilerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=231477066}};class SE extends OE{constructor(h,u){super(h,u),this.Segments=h,this.SelfIntersect=u,this.type=1136057603}}t.IfcBoundaryCurve=SE;class Yi extends xa{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=3299480353}}t.IfcBuildingElement=Yi,t.IfcBuildingElementPart=class extends _a{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2979338954}},t.IfcBuildingElementPartType=class extends Ka{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=39481116}},t.IfcBuildingElementProxy=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1095909175}},t.IfcBuildingElementProxyType=class extends ji{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1909888760}},t.IfcBuildingSystem=class extends Ma{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.PredefinedType=D,this.LongName=C,this.type=1177604601}},t.IfcBurnerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2188180465}},t.IfcCableCarrierFittingType=class extends qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=395041908}},t.IfcCableCarrierSegmentType=class extends Kc{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3293546465}},t.IfcCableFittingType=class extends qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2674252688}},t.IfcCableSegmentType=class extends Kc{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1285652485}},t.IfcChillerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2951183804}},t.IfcChimney=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3296154744}},t.IfcCircle=class extends tp{constructor(p,h){super(p),this.Position=p,this.Radius=h,this.type=2611217952}},t.IfcCivilElement=class extends xa{constructor(p,h,u,I,f,D,C,b){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.type=1677625105}},t.IfcCoilType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2301859152}};class CE extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=843113511}}t.IfcColumn=CE,t.IfcColumnStandardCase=class extends CE{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=905975707}},t.IfcCommunicationsApplianceType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=400855858}},t.IfcCompressorType=class extends Qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3850581409}},t.IfcCondenserType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2816379211}},t.IfcConstructionEquipmentResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=3898045240}},t.IfcConstructionMaterialResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=1060000209}},t.IfcConstructionProductResource=class extends yc{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.Identification=D,this.LongDescription=C,this.Usage=b,this.BaseCosts=_,this.BaseQuantity=Y,this.PredefinedType=ue,this.type=488727124}},t.IfcCooledBeamType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=335055490}},t.IfcCoolingTowerType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2954562838}},t.IfcCovering=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1973544240}},t.IfcCurtainWall=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3495092785}},t.IfcDamperType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3961806047}},t.IfcDiscreteAccessory=class extends _a{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1335981549}},t.IfcDiscreteAccessoryType=class extends Ka{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2635815018}},t.IfcDistributionChamberElementType=class extends Vn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1599208980}};class Oa extends bu{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_,Y),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ApplicableOccurrence=D,this.HasPropertySets=C,this.RepresentationMaps=b,this.Tag=_,this.ElementType=Y,this.type=2063403501}}t.IfcDistributionControlElementType=Oa;class np extends xa{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1945004755}}t.IfcDistributionElement=np;class ho extends np{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=3040386961}}t.IfcDistributionFlowElement=ho,t.IfcDistributionPort=class extends Jy{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.FlowDirection=b,this.PredefinedType=_,this.SystemType=Y,this.type=3041715199}};class tT extends Ma{constructor(h,u,I,f,D,C,b){super(h,u,I,f,D),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.LongName=C,this.PredefinedType=b,this.type=3205830791}}t.IfcDistributionSystem=tT;class qc extends Yi{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.OverallHeight=Y,this.OverallWidth=ue,this.PredefinedType=me,this.OperationType=we,this.UserDefinedOperationType=St,this.type=395920057}}t.IfcDoor=qc,t.IfcDoorStandardCase=class extends qc{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_,Y,ue,me,we),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.OverallHeight=_,this.OverallWidth=Y,this.PredefinedType=ue,this.OperationType=me,this.UserDefinedOperationType=we,this.type=3242481149}},t.IfcDuctFittingType=class extends qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=869906466}},t.IfcDuctSegmentType=class extends Kc{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3760055223}},t.IfcDuctSilencerType=class extends Pu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2030761528}},t.IfcElectricApplianceType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=663422040}},t.IfcElectricDistributionBoardType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2417008758}},t.IfcElectricFlowStorageDeviceType=class extends gu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3277789161}},t.IfcElectricGeneratorType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1534661035}},t.IfcElectricMotorType=class extends rr{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1217240411}},t.IfcElectricTimeControlType=class extends co{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=712377611}};class xi extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1658829314}}t.IfcEnergyConversionDevice=xi,t.IfcEngine=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2814081492}},t.IfcEvaporativeCooler=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3747195512}},t.IfcEvaporator=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=484807127}},t.IfcExternalSpatialElement=class extends qy{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.LongName=b,this.PredefinedType=_,this.type=1209101575}},t.IfcFanType=class extends Qh{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=346874300}},t.IfcFilterType=class extends Pu{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1810631287}},t.IfcFireSuppressionTerminalType=class extends Jn{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4222183408}};class gn extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=2058353004}}t.IfcFlowController=gn;class Qc extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=4278956645}}t.IfcFlowFitting=Qc,t.IfcFlowInstrumentType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=4037862832}},t.IfcFlowMeter=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2188021234}};class Mo extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=3132237377}}t.IfcFlowMovingDevice=Mo;class ap extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=987401354}}t.IfcFlowSegment=ap;class Fo extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=707683696}}t.IfcFlowStorageDevice=Fo;class bs extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=2223149337}}t.IfcFlowTerminal=bs;class op extends ho{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=3508470533}}t.IfcFlowTreatmentDevice=op,t.IfcFooting=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=900683007}},t.IfcHeatExchanger=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3319311131}},t.IfcHumidifier=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2068733104}},t.IfcInterceptor=class extends op{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4175244083}},t.IfcJunctionBox=class extends Qc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2176052936}},t.IfcLamp=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=76236018}},t.IfcLightFixture=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=629592764}},t.IfcMedicalDevice=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1437502449}};class sT extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=1073191201}}t.IfcMember=sT,t.IfcMemberStandardCase=class extends sT{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1911478936}},t.IfcMotorConnection=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2474470126}},t.IfcOuterBoundaryCurve=class extends SE{constructor(p,h){super(p,h),this.Segments=p,this.SelfIntersect=h,this.type=144952367}},t.IfcOutlet=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3694346114}},t.IfcPile=class extends Yi{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.ConstructionType=Y,this.type=1687234759}},t.IfcPipeFitting=class extends Qc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=310824031}},t.IfcPipeSegment=class extends ap{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3612865200}};class tl extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=3171933400}}t.IfcPlate=tl,t.IfcPlateStandardCase=class extends tl{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1156407060}},t.IfcProtectiveDevice=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=738039164}},t.IfcProtectiveDeviceTrippingUnitType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=655969474}},t.IfcPump=class extends Mo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=90941305}},t.IfcRailing=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2262370178}},t.IfcRamp=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3024970846}},t.IfcRampFlight=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3283111854}},t.IfcRationalBSplineCurveWithKnots=class extends eT{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.Degree=p,this.ControlPointsList=h,this.CurveForm=u,this.ClosedCurve=I,this.SelfIntersect=f,this.KnotMultiplicities=D,this.Knots=C,this.KnotSpec=b,this.WeightsData=_,this.type=1232101972}},t.IfcReinforcingBar=class extends ip{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.SteelGrade=_,this.NominalDiameter=Y,this.CrossSectionArea=ue,this.BarLength=me,this.PredefinedType=we,this.BarSurface=St,this.type=979691226}},t.IfcReinforcingBarType=class extends rp{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we,St,zi,Or){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.NominalDiameter=ue,this.CrossSectionArea=me,this.BarLength=we,this.BarSurface=St,this.BendingShapeCode=zi,this.BendingParameters=Or,this.type=2572171363}},t.IfcRoof=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2016517767}},t.IfcSanitaryTerminal=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3053780830}},t.IfcSensorType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=1783015770}},t.IfcShadingDevice=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1329646415}};class sl extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=1529196076}}t.IfcSlab=sl,t.IfcSlabElementedCase=class extends sl{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3127900445}},t.IfcSlabStandardCase=class extends sl{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3027962421}},t.IfcSolarDevice=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3420628829}},t.IfcSpaceHeater=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1999602285}},t.IfcStackTerminal=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1404847402}},t.IfcStair=class extends Yi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=331165859}},t.IfcStairFlight=class extends Yi{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.NumberOfRisers=_,this.NumberOfTreads=Y,this.RiserHeight=ue,this.TreadLength=me,this.PredefinedType=we,this.type=4252922144}},t.IfcStructuralAnalysisModel=class extends Ma{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.PredefinedType=D,this.OrientationOf2DPlane=C,this.LoadedBy=b,this.HasResults=_,this.SharedPlacement=Y,this.type=2515109513}},t.IfcStructuralLoadCase=class extends _o{constructor(p,h,u,I,f,D,C,b,_,Y,ue){super(p,h,u,I,f,D,C,b,_,Y),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.PredefinedType=D,this.ActionType=C,this.ActionSource=b,this.Coefficient=_,this.Purpose=Y,this.SelfWeightCoefficients=ue,this.type=385403989}},t.IfcStructuralPlanarAction=class extends AE{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me){super(p,h,u,I,f,D,C,b,_,Y,ue,me),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.AppliedLoad=b,this.GlobalOrLocal=_,this.DestabilizingLoad=Y,this.ProjectedOrTrue=ue,this.PredefinedType=me,this.type=1621171031}},t.IfcSwitchingDevice=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1162798199}},t.IfcTank=class extends Fo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=812556717}},t.IfcTransformer=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3825984169}},t.IfcTubeBundle=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3026737570}},t.IfcUnitaryControlElementType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3179687236}},t.IfcUnitaryEquipment=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4292641817}},t.IfcValve=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4207607924}};class vE extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=2391406946}}t.IfcWall=vE,t.IfcWallElementedCase=class extends vE{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4156078855}},t.IfcWallStandardCase=class extends vE{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3512223829}},t.IfcWasteTerminal=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4237592921}};class iT extends Yi{constructor(h,u,I,f,D,C,b,_,Y,ue,me,we,St){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.OverallHeight=Y,this.OverallWidth=ue,this.PredefinedType=me,this.PartitioningType=we,this.UserDefinedPartitioningType=St,this.type=3304561284}}t.IfcWindow=iT,t.IfcWindowStandardCase=class extends iT{constructor(p,h,u,I,f,D,C,b,_,Y,ue,me,we){super(p,h,u,I,f,D,C,b,_,Y,ue,me,we),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.OverallHeight=_,this.OverallWidth=Y,this.PredefinedType=ue,this.PartitioningType=me,this.UserDefinedPartitioningType=we,this.type=486154966}},t.IfcActuatorType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=2874132201}},t.IfcAirTerminal=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1634111441}},t.IfcAirTerminalBox=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=177149247}},t.IfcAirToAirHeatRecovery=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2056796094}},t.IfcAlarmType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=3001207471}},t.IfcAudioVisualAppliance=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=277319702}};class rT extends Yi{constructor(h,u,I,f,D,C,b,_,Y){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.PredefinedType=Y,this.type=753842376}}t.IfcBeam=rT,t.IfcBeamStandardCase=class extends rT{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2906023776}},t.IfcBoiler=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=32344328}},t.IfcBurner=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2938176219}},t.IfcCableCarrierFitting=class extends Qc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=635142910}},t.IfcCableCarrierSegment=class extends ap{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3758799889}},t.IfcCableFitting=class extends Qc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1051757585}},t.IfcCableSegment=class extends ap{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4217484030}},t.IfcChiller=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3902619387}},t.IfcCoil=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=639361253}},t.IfcCommunicationsAppliance=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3221913625}},t.IfcCompressor=class extends Mo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3571504051}},t.IfcCondenser=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2272882330}},t.IfcControllerType=class extends Oa{constructor(p,h,u,I,f,D,C,b,_,Y){super(p,h,u,I,f,D,C,b,_),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ApplicableOccurrence=f,this.HasPropertySets=D,this.RepresentationMaps=C,this.Tag=b,this.ElementType=_,this.PredefinedType=Y,this.type=578613899}},t.IfcCooledBeam=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4136498852}},t.IfcCoolingTower=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3640358203}},t.IfcDamper=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4074379575}},t.IfcDistributionChamberElement=class extends ho{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1052013943}},t.IfcDistributionCircuit=class extends tT{constructor(p,h,u,I,f,D,C){super(p,h,u,I,f,D,C),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.LongName=D,this.PredefinedType=C,this.type=562808652}};class Tc extends np{constructor(h,u,I,f,D,C,b,_){super(h,u,I,f,D,C,b,_),this.GlobalId=h,this.OwnerHistory=u,this.Name=I,this.Description=f,this.ObjectType=D,this.ObjectPlacement=C,this.Representation=b,this.Tag=_,this.type=1062813311}}t.IfcDistributionControlElement=Tc,t.IfcDuctFitting=class extends Qc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=342316401}},t.IfcDuctSegment=class extends ap{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3518393246}},t.IfcDuctSilencer=class extends op{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1360408905}},t.IfcElectricAppliance=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1904799276}},t.IfcElectricDistributionBoard=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=862014818}},t.IfcElectricFlowStorageDevice=class extends Fo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3310460725}},t.IfcElectricGenerator=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=264262732}},t.IfcElectricMotor=class extends xi{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=402227799}},t.IfcElectricTimeControl=class extends gn{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1003880860}},t.IfcFan=class extends Mo{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3415622556}},t.IfcFilter=class extends op{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=819412036}},t.IfcFireSuppressionTerminal=class extends bs{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=1426591983}},t.IfcFlowInstrument=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=182646315}},t.IfcProtectiveDeviceTrippingUnit=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=2295281155}},t.IfcSensor=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4086658281}},t.IfcUnitaryControlElement=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=630975310}},t.IfcActuator=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=4288193352}},t.IfcAlarm=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=3087945054}},t.IfcController=class extends Tc{constructor(p,h,u,I,f,D,C,b,_){super(p,h,u,I,f,D,C,b),this.GlobalId=p,this.OwnerHistory=h,this.Name=u,this.Description=I,this.ObjectType=f,this.ObjectPlacement=D,this.Representation=C,this.Tag=b,this.PredefinedType=_,this.type=25142252}}})(Te||(Te={})),bN[2]={3699917729:t=>new ye.IfcAbsorbedDoseMeasure(t),4182062534:t=>new ye.IfcAccelerationMeasure(t),360377573:t=>new ye.IfcAmountOfSubstanceMeasure(t),632304761:t=>new ye.IfcAngularVelocityMeasure(t),3683503648:t=>new ye.IfcArcIndex(t.map((e=>e.value))),1500781891:t=>new ye.IfcAreaDensityMeasure(t),2650437152:t=>new ye.IfcAreaMeasure(t),2314439260:t=>new ye.IfcBinary(t),2735952531:t=>new ye.IfcBoolean(t),1867003952:t=>new ye.IfcBoxAlignment(t),1683019596:t=>new ye.IfcCardinalPointReference(t),2991860651:t=>new ye.IfcComplexNumber(t.map((e=>e.value))),3812528620:t=>new ye.IfcCompoundPlaneAngleMeasure(t.map((e=>e.value))),3238673880:t=>new ye.IfcContextDependentMeasure(t),1778710042:t=>new ye.IfcCountMeasure(t),94842927:t=>new ye.IfcCurvatureMeasure(t),937566702:t=>new ye.IfcDate(t),2195413836:t=>new ye.IfcDateTime(t),86635668:t=>new ye.IfcDayInMonthNumber(t),3701338814:t=>new ye.IfcDayInWeekNumber(t),1514641115:t=>new ye.IfcDescriptiveMeasure(t),4134073009:t=>new ye.IfcDimensionCount(t),524656162:t=>new ye.IfcDoseEquivalentMeasure(t),2541165894:t=>new ye.IfcDuration(t),69416015:t=>new ye.IfcDynamicViscosityMeasure(t),1827137117:t=>new ye.IfcElectricCapacitanceMeasure(t),3818826038:t=>new ye.IfcElectricChargeMeasure(t),2093906313:t=>new ye.IfcElectricConductanceMeasure(t),3790457270:t=>new ye.IfcElectricCurrentMeasure(t),2951915441:t=>new ye.IfcElectricResistanceMeasure(t),2506197118:t=>new ye.IfcElectricVoltageMeasure(t),2078135608:t=>new ye.IfcEnergyMeasure(t),1102727119:t=>new ye.IfcFontStyle(t),2715512545:t=>new ye.IfcFontVariant(t),2590844177:t=>new ye.IfcFontWeight(t),1361398929:t=>new ye.IfcForceMeasure(t),3044325142:t=>new ye.IfcFrequencyMeasure(t),3064340077:t=>new ye.IfcGloballyUniqueId(t),3113092358:t=>new ye.IfcHeatFluxDensityMeasure(t),1158859006:t=>new ye.IfcHeatingValueMeasure(t),983778844:t=>new ye.IfcIdentifier(t),3358199106:t=>new ye.IfcIlluminanceMeasure(t),2679005408:t=>new ye.IfcInductanceMeasure(t),1939436016:t=>new ye.IfcInteger(t),3809634241:t=>new ye.IfcIntegerCountRateMeasure(t),3686016028:t=>new ye.IfcIonConcentrationMeasure(t),3192672207:t=>new ye.IfcIsothermalMoistureCapacityMeasure(t),2054016361:t=>new ye.IfcKinematicViscosityMeasure(t),3258342251:t=>new ye.IfcLabel(t),1275358634:t=>new ye.IfcLanguageId(t),1243674935:t=>new ye.IfcLengthMeasure(t),1774176899:t=>new ye.IfcLineIndex(t.map((e=>e.value))),191860431:t=>new ye.IfcLinearForceMeasure(t),2128979029:t=>new ye.IfcLinearMomentMeasure(t),1307019551:t=>new ye.IfcLinearStiffnessMeasure(t),3086160713:t=>new ye.IfcLinearVelocityMeasure(t),503418787:t=>new ye.IfcLogical(t),2095003142:t=>new ye.IfcLuminousFluxMeasure(t),2755797622:t=>new ye.IfcLuminousIntensityDistributionMeasure(t),151039812:t=>new ye.IfcLuminousIntensityMeasure(t),286949696:t=>new ye.IfcMagneticFluxDensityMeasure(t),2486716878:t=>new ye.IfcMagneticFluxMeasure(t),1477762836:t=>new ye.IfcMassDensityMeasure(t),4017473158:t=>new ye.IfcMassFlowRateMeasure(t),3124614049:t=>new ye.IfcMassMeasure(t),3531705166:t=>new ye.IfcMassPerLengthMeasure(t),3341486342:t=>new ye.IfcModulusOfElasticityMeasure(t),2173214787:t=>new ye.IfcModulusOfLinearSubgradeReactionMeasure(t),1052454078:t=>new ye.IfcModulusOfRotationalSubgradeReactionMeasure(t),1753493141:t=>new ye.IfcModulusOfSubgradeReactionMeasure(t),3177669450:t=>new ye.IfcMoistureDiffusivityMeasure(t),1648970520:t=>new ye.IfcMolecularWeightMeasure(t),3114022597:t=>new ye.IfcMomentOfInertiaMeasure(t),2615040989:t=>new ye.IfcMonetaryMeasure(t),765770214:t=>new ye.IfcMonthInYearNumber(t),525895558:t=>new ye.IfcNonNegativeLengthMeasure(t),2095195183:t=>new ye.IfcNormalisedRatioMeasure(t),2395907400:t=>new ye.IfcNumericMeasure(t),929793134:t=>new ye.IfcPHMeasure(t),2260317790:t=>new ye.IfcParameterValue(t),2642773653:t=>new ye.IfcPlanarForceMeasure(t),4042175685:t=>new ye.IfcPlaneAngleMeasure(t),1790229001:t=>new ye.IfcPositiveInteger(t),2815919920:t=>new ye.IfcPositiveLengthMeasure(t),3054510233:t=>new ye.IfcPositivePlaneAngleMeasure(t),1245737093:t=>new ye.IfcPositiveRatioMeasure(t),1364037233:t=>new ye.IfcPowerMeasure(t),2169031380:t=>new ye.IfcPresentableText(t),3665567075:t=>new ye.IfcPressureMeasure(t),2798247006:t=>new ye.IfcPropertySetDefinitionSet(t.map((e=>e.value))),3972513137:t=>new ye.IfcRadioActivityMeasure(t),96294661:t=>new ye.IfcRatioMeasure(t),200335297:t=>new ye.IfcReal(t),2133746277:t=>new ye.IfcRotationalFrequencyMeasure(t),1755127002:t=>new ye.IfcRotationalMassMeasure(t),3211557302:t=>new ye.IfcRotationalStiffnessMeasure(t),3467162246:t=>new ye.IfcSectionModulusMeasure(t),2190458107:t=>new ye.IfcSectionalAreaIntegralMeasure(t),408310005:t=>new ye.IfcShearModulusMeasure(t),3471399674:t=>new ye.IfcSolidAngleMeasure(t),4157543285:t=>new ye.IfcSoundPowerLevelMeasure(t),846465480:t=>new ye.IfcSoundPowerMeasure(t),3457685358:t=>new ye.IfcSoundPressureLevelMeasure(t),993287707:t=>new ye.IfcSoundPressureMeasure(t),3477203348:t=>new ye.IfcSpecificHeatCapacityMeasure(t),2757832317:t=>new ye.IfcSpecularExponent(t),361837227:t=>new ye.IfcSpecularRoughness(t),1805707277:t=>new ye.IfcStrippedOptional(t),58845555:t=>new ye.IfcTemperatureGradientMeasure(t),1209108979:t=>new ye.IfcTemperatureRateOfChangeMeasure(t),2801250643:t=>new ye.IfcText(t),1460886941:t=>new ye.IfcTextAlignment(t),3490877962:t=>new ye.IfcTextDecoration(t),603696268:t=>new ye.IfcTextFontName(t),296282323:t=>new ye.IfcTextTransformation(t),232962298:t=>new ye.IfcThermalAdmittanceMeasure(t),2645777649:t=>new ye.IfcThermalConductivityMeasure(t),2281867870:t=>new ye.IfcThermalExpansionCoefficientMeasure(t),857959152:t=>new ye.IfcThermalResistanceMeasure(t),2016195849:t=>new ye.IfcThermalTransmittanceMeasure(t),743184107:t=>new ye.IfcThermodynamicTemperatureMeasure(t),4075327185:t=>new ye.IfcTime(t),2726807636:t=>new ye.IfcTimeMeasure(t),2591213694:t=>new ye.IfcTimeStamp(t),1278329552:t=>new ye.IfcTorqueMeasure(t),950732822:t=>new ye.IfcURIReference(t),3345633955:t=>new ye.IfcVaporPermeabilityMeasure(t),3458127941:t=>new ye.IfcVolumeMeasure(t),2593997549:t=>new ye.IfcVolumetricFlowRateMeasure(t),51269191:t=>new ye.IfcWarpingConstantMeasure(t),1718600412:t=>new ye.IfcWarpingMomentMeasure(t),2149462589:t=>new ye.IfcWellKnownTextLiteral(t)},(t=>{t.IfcAbsorbedDoseMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCABSORBEDDOSEMEASURE"}},t.IfcAccelerationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCACCELERATIONMEASURE"}},t.IfcAmountOfSubstanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAMOUNTOFSUBSTANCEMEASURE"}},t.IfcAngularVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCANGULARVELOCITYMEASURE"}},t.IfcArcIndex=class{constructor(a){this.value=a,this.type=5}},t.IfcAreaDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAREADENSITYMEASURE"}},t.IfcAreaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCAREAMEASURE"}},t.IfcBinary=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCBINARY"}},t.IfcBoolean=class{constructor(a){this.type=3,this.name="IFCBOOLEAN",this.value=a}},t.IfcBoxAlignment=class{constructor(a){this.value=a,this.type=1,this.name="IFCBOXALIGNMENT"}},t.IfcCardinalPointReference=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCCARDINALPOINTREFERENCE"}},t.IfcComplexNumber=class{constructor(a){this.value=a,this.type=4}},t.IfcCompoundPlaneAngleMeasure=class{constructor(a){this.value=a,this.type=10}},t.IfcContextDependentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCONTEXTDEPENDENTMEASURE"}},t.IfcCountMeasure=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCCOUNTMEASURE"}},t.IfcCurvatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCCURVATUREMEASURE"}},t.IfcDate=class{constructor(a){this.value=a,this.type=1,this.name="IFCDATE"}},t.IfcDateTime=class{constructor(a){this.value=a,this.type=1,this.name="IFCDATETIME"}},t.IfcDayInMonthNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINMONTHNUMBER"}},t.IfcDayInWeekNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDAYINWEEKNUMBER"}},t.IfcDescriptiveMeasure=class{constructor(a){this.value=a,this.type=1,this.name="IFCDESCRIPTIVEMEASURE"}};class e extends J{constructor(){super(...arguments),this.type=10,this.name="IFCDIMENSIONCOUNT"}}t.IfcDimensionCount=e,t.IfcDoseEquivalentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDOSEEQUIVALENTMEASURE"}},t.IfcDuration=class{constructor(a){this.value=a,this.type=1,this.name="IFCDURATION"}},t.IfcDynamicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCDYNAMICVISCOSITYMEASURE"}},t.IfcElectricCapacitanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCAPACITANCEMEASURE"}},t.IfcElectricChargeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCHARGEMEASURE"}},t.IfcElectricConductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCONDUCTANCEMEASURE"}},t.IfcElectricCurrentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICCURRENTMEASURE"}},t.IfcElectricResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICRESISTANCEMEASURE"}},t.IfcElectricVoltageMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCELECTRICVOLTAGEMEASURE"}},t.IfcEnergyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCENERGYMEASURE"}},t.IfcFontStyle=class{constructor(a){this.value=a,this.type=1,this.name="IFCFONTSTYLE"}},t.IfcFontVariant=class{constructor(a){this.value=a,this.type=1,this.name="IFCFONTVARIANT"}},t.IfcFontWeight=class{constructor(a){this.value=a,this.type=1,this.name="IFCFONTWEIGHT"}},t.IfcForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFORCEMEASURE"}},t.IfcFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCFREQUENCYMEASURE"}},t.IfcGloballyUniqueId=class{constructor(a){this.value=a,this.type=1,this.name="IFCGLOBALLYUNIQUEID"}},t.IfcHeatFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATFLUXDENSITYMEASURE"}},t.IfcHeatingValueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCHEATINGVALUEMEASURE"}},t.IfcIdentifier=class{constructor(a){this.value=a,this.type=1,this.name="IFCIDENTIFIER"}},t.IfcIlluminanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCILLUMINANCEMEASURE"}},t.IfcInductanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCINDUCTANCEMEASURE"}},t.IfcInteger=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGER"}},t.IfcIntegerCountRateMeasure=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCINTEGERCOUNTRATEMEASURE"}},t.IfcIonConcentrationMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCIONCONCENTRATIONMEASURE"}},t.IfcIsothermalMoistureCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCISOTHERMALMOISTURECAPACITYMEASURE"}},t.IfcKinematicViscosityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCKINEMATICVISCOSITYMEASURE"}},t.IfcLabel=class{constructor(a){this.value=a,this.type=1,this.name="IFCLABEL"}},t.IfcLanguageId=class{constructor(a){this.value=a,this.type=1,this.name="IFCLANGUAGEID"}},t.IfcLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLENGTHMEASURE"}},t.IfcLineIndex=class{constructor(a){this.value=a,this.type=5}},t.IfcLinearForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARFORCEMEASURE"}},t.IfcLinearMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARMOMENTMEASURE"}},t.IfcLinearStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARSTIFFNESSMEASURE"}},t.IfcLinearVelocityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLINEARVELOCITYMEASURE"}},t.IfcLogical=class{constructor(a){this.type=3,this.name="IFCLOGICAL",this.value=a}},t.IfcLuminousFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSFLUXMEASURE"}},t.IfcLuminousIntensityDistributionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE"}},t.IfcLuminousIntensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCLUMINOUSINTENSITYMEASURE"}},t.IfcMagneticFluxDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXDENSITYMEASURE"}},t.IfcMagneticFluxMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMAGNETICFLUXMEASURE"}},t.IfcMassDensityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSDENSITYMEASURE"}},t.IfcMassFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSFLOWRATEMEASURE"}},t.IfcMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSMEASURE"}},t.IfcMassPerLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMASSPERLENGTHMEASURE"}},t.IfcModulusOfElasticityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFELASTICITYMEASURE"}},t.IfcModulusOfLinearSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfRotationalSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE"}},t.IfcModulusOfSubgradeReactionMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMODULUSOFSUBGRADEREACTIONMEASURE"}},t.IfcMoistureDiffusivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOISTUREDIFFUSIVITYMEASURE"}},t.IfcMolecularWeightMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOLECULARWEIGHTMEASURE"}},t.IfcMomentOfInertiaMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMOMENTOFINERTIAMEASURE"}},t.IfcMonetaryMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCMONETARYMEASURE"}},t.IfcMonthInYearNumber=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCMONTHINYEARNUMBER"}},t.IfcNonNegativeLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNONNEGATIVELENGTHMEASURE"}},t.IfcNormalisedRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNORMALISEDRATIOMEASURE"}},t.IfcNumericMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCNUMERICMEASURE"}},t.IfcPHMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPHMEASURE"}},t.IfcParameterValue=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPARAMETERVALUE"}},t.IfcPlanarForceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANARFORCEMEASURE"}},t.IfcPlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPLANEANGLEMEASURE"}},t.IfcPositiveInteger=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCPOSITIVEINTEGER"}},t.IfcPositiveLengthMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVELENGTHMEASURE"}},t.IfcPositivePlaneAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVEPLANEANGLEMEASURE"}},t.IfcPositiveRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOSITIVERATIOMEASURE"}},t.IfcPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPOWERMEASURE"}},t.IfcPresentableText=class{constructor(a){this.value=a,this.type=1,this.name="IFCPRESENTABLETEXT"}},t.IfcPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCPRESSUREMEASURE"}},t.IfcPropertySetDefinitionSet=class{constructor(a){this.value=a,this.type=5}},t.IfcRadioActivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRADIOACTIVITYMEASURE"}},t.IfcRatioMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCRATIOMEASURE"}},t.IfcReal=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCREAL"}},t.IfcRotationalFrequencyMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALFREQUENCYMEASURE"}},t.IfcRotationalMassMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALMASSMEASURE"}},t.IfcRotationalStiffnessMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCROTATIONALSTIFFNESSMEASURE"}},t.IfcSectionModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONMODULUSMEASURE"}},t.IfcSectionalAreaIntegralMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSECTIONALAREAINTEGRALMEASURE"}},t.IfcShearModulusMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSHEARMODULUSMEASURE"}},t.IfcSolidAngleMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOLIDANGLEMEASURE"}},t.IfcSoundPowerLevelMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERLEVELMEASURE"}},t.IfcSoundPowerMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPOWERMEASURE"}},t.IfcSoundPressureLevelMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSURELEVELMEASURE"}},t.IfcSoundPressureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSOUNDPRESSUREMEASURE"}},t.IfcSpecificHeatCapacityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECIFICHEATCAPACITYMEASURE"}},t.IfcSpecularExponent=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULAREXPONENT"}},t.IfcSpecularRoughness=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCSPECULARROUGHNESS"}},t.IfcStrippedOptional=class{constructor(a){this.type=3,this.name="IFCSTRIPPEDOPTIONAL",this.value=a}},t.IfcTemperatureGradientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATUREGRADIENTMEASURE"}},t.IfcTemperatureRateOfChangeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTEMPERATURERATEOFCHANGEMEASURE"}},t.IfcText=class{constructor(a){this.value=a,this.type=1,this.name="IFCTEXT"}},t.IfcTextAlignment=class{constructor(a){this.value=a,this.type=1,this.name="IFCTEXTALIGNMENT"}},t.IfcTextDecoration=class{constructor(a){this.value=a,this.type=1,this.name="IFCTEXTDECORATION"}},t.IfcTextFontName=class{constructor(a){this.value=a,this.type=1,this.name="IFCTEXTFONTNAME"}},t.IfcTextTransformation=class{constructor(a){this.value=a,this.type=1,this.name="IFCTEXTTRANSFORMATION"}},t.IfcThermalAdmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALADMITTANCEMEASURE"}},t.IfcThermalConductivityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALCONDUCTIVITYMEASURE"}},t.IfcThermalExpansionCoefficientMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALEXPANSIONCOEFFICIENTMEASURE"}},t.IfcThermalResistanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALRESISTANCEMEASURE"}},t.IfcThermalTransmittanceMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMALTRANSMITTANCEMEASURE"}},t.IfcThermodynamicTemperatureMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTHERMODYNAMICTEMPERATUREMEASURE"}},t.IfcTime=class{constructor(a){this.value=a,this.type=1,this.name="IFCTIME"}},t.IfcTimeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTIMEMEASURE"}},t.IfcTimeStamp=class extends J{constructor(){super(...arguments),this.type=10,this.name="IFCTIMESTAMP"}},t.IfcTorqueMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCTORQUEMEASURE"}},t.IfcURIReference=class{constructor(a){this.value=a,this.type=1,this.name="IFCURIREFERENCE"}},t.IfcVaporPermeabilityMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVAPORPERMEABILITYMEASURE"}},t.IfcVolumeMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMEMEASURE"}},t.IfcVolumetricFlowRateMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCVOLUMETRICFLOWRATEMEASURE"}},t.IfcWarpingConstantMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGCONSTANTMEASURE"}},t.IfcWarpingMomentMeasure=class extends J{constructor(){super(...arguments),this.type=4,this.name="IFCWARPINGMOMENTMEASURE"}},t.IfcWellKnownTextLiteral=class{constructor(a){this.value=a,this.type=1,this.name="IFCWELLKNOWNTEXTLITERAL"}};let s=class{};s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"};let i=s;t.IfcActionRequestTypeEnum=i;let r=class{};r.BRAKES={type:3,value:"BRAKES"},r.BUOYANCY={type:3,value:"BUOYANCY"},r.COMPLETION_G1={type:3,value:"COMPLETION_G1"},r.CREEP={type:3,value:"CREEP"},r.CURRENT={type:3,value:"CURRENT"},r.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},r.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},r.ERECTION={type:3,value:"ERECTION"},r.FIRE={type:3,value:"FIRE"},r.ICE={type:3,value:"ICE"},r.IMPACT={type:3,value:"IMPACT"},r.IMPULSE={type:3,value:"IMPULSE"},r.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},r.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},r.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},r.PROPPING={type:3,value:"PROPPING"},r.RAIN={type:3,value:"RAIN"},r.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},r.SHRINKAGE={type:3,value:"SHRINKAGE"},r.SNOW_S={type:3,value:"SNOW_S"},r.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},r.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},r.TRANSPORT={type:3,value:"TRANSPORT"},r.WAVE={type:3,value:"WAVE"},r.WIND_W={type:3,value:"WIND_W"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"};let o=r;t.IfcActionSourceTypeEnum=o;let y=class{};y.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},y.PERMANENT_G={type:3,value:"PERMANENT_G"},y.VARIABLE_Q={type:3,value:"VARIABLE_Q"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"};let R=y;t.IfcActionTypeEnum=R;let v=class{};v.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},v.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},v.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},v.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},v.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"};let P=v;t.IfcActuatorTypeEnum=P;let M=class{};M.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},M.HOME={type:3,value:"HOME"},M.OFFICE={type:3,value:"OFFICE"},M.SITE={type:3,value:"SITE"},M.USERDEFINED={type:3,value:"USERDEFINED"};let G=M;t.IfcAddressTypeEnum=G;let w=class{};w.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},w.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},w.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"};let H=w;t.IfcAirTerminalBoxTypeEnum=H;let W=class{};W.DIFFUSER={type:3,value:"DIFFUSER"},W.GRILLE={type:3,value:"GRILLE"},W.LOUVRE={type:3,value:"LOUVRE"},W.REGISTER={type:3,value:"REGISTER"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"};let k=W;t.IfcAirTerminalTypeEnum=k;let j=class{};j.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},j.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},j.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},j.HEATPIPE={type:3,value:"HEATPIPE"},j.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},j.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},j.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},j.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},j.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"};let X=j;t.IfcAirToAirHeatRecoveryTypeEnum=X;let q=class{};q.BELL={type:3,value:"BELL"},q.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},q.LIGHT={type:3,value:"LIGHT"},q.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},q.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},q.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},q.SIREN={type:3,value:"SIREN"},q.WHISTLE={type:3,value:"WHISTLE"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"};let K=q;t.IfcAlarmTypeEnum=K;let Q=class{};Q.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Q.CONSTANTCANT={type:3,value:"CONSTANTCANT"},Q.COSINECURVE={type:3,value:"COSINECURVE"},Q.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Q.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},Q.SINECURVE={type:3,value:"SINECURVE"},Q.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let ie=Q;t.IfcAlignmentCantSegmentTypeEnum=ie;let ee=class{};ee.BLOSSCURVE={type:3,value:"BLOSSCURVE"},ee.CIRCULARARC={type:3,value:"CIRCULARARC"},ee.CLOTHOID={type:3,value:"CLOTHOID"},ee.COSINECURVE={type:3,value:"COSINECURVE"},ee.CUBIC={type:3,value:"CUBIC"},ee.HELMERTCURVE={type:3,value:"HELMERTCURVE"},ee.LINE={type:3,value:"LINE"},ee.SINECURVE={type:3,value:"SINECURVE"},ee.VIENNESEBEND={type:3,value:"VIENNESEBEND"};let oe=ee;t.IfcAlignmentHorizontalSegmentTypeEnum=oe;let re=class{};re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"};let ne=re;t.IfcAlignmentTypeEnum=ne;let ce=class{};ce.CIRCULARARC={type:3,value:"CIRCULARARC"},ce.CLOTHOID={type:3,value:"CLOTHOID"},ce.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},ce.PARABOLICARC={type:3,value:"PARABOLICARC"};let he=ce;t.IfcAlignmentVerticalSegmentTypeEnum=he;let Ee=class{};Ee.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Ee.LOADING_3D={type:3,value:"LOADING_3D"},Ee.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"};let De=Ee;t.IfcAnalysisModelTypeEnum=De;let Se=class{};Se.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},Se.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},Se.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},Se.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ue=Se;t.IfcAnalysisTheoryTypeEnum=Ue;let Oe=class{};Oe.CONTOURLINE={type:3,value:"CONTOURLINE"},Oe.DIMENSION={type:3,value:"DIMENSION"},Oe.ISOBAR={type:3,value:"ISOBAR"},Oe.ISOLUX={type:3,value:"ISOLUX"},Oe.ISOTHERM={type:3,value:"ISOTHERM"},Oe.LEADER={type:3,value:"LEADER"},Oe.SURVEY={type:3,value:"SURVEY"},Oe.SYMBOL={type:3,value:"SYMBOL"},Oe.TEXT={type:3,value:"TEXT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fe=Oe;t.IfcAnnotationTypeEnum=Fe;let je=class{};je.ADD={type:3,value:"ADD"},je.DIVIDE={type:3,value:"DIVIDE"},je.MODULO={type:3,value:"MODULO"},je.MULTIPLY={type:3,value:"MULTIPLY"},je.SUBTRACT={type:3,value:"SUBTRACT"};let Xe=je;t.IfcArithmeticOperatorEnum=Xe;let tt=class{};tt.FACTORY={type:3,value:"FACTORY"},tt.SITE={type:3,value:"SITE"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gs=tt;t.IfcAssemblyPlaceEnum=Gs;let nt=class{};nt.AMPLIFIER={type:3,value:"AMPLIFIER"},nt.CAMERA={type:3,value:"CAMERA"},nt.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},nt.DISPLAY={type:3,value:"DISPLAY"},nt.MICROPHONE={type:3,value:"MICROPHONE"},nt.PLAYER={type:3,value:"PLAYER"},nt.PROJECTOR={type:3,value:"PROJECTOR"},nt.RECEIVER={type:3,value:"RECEIVER"},nt.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},nt.SPEAKER={type:3,value:"SPEAKER"},nt.SWITCHER={type:3,value:"SWITCHER"},nt.TELEPHONE={type:3,value:"TELEPHONE"},nt.TUNER={type:3,value:"TUNER"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ri=nt;t.IfcAudioVisualApplianceTypeEnum=ri;let wt=class{};wt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},wt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},wt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},wt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},wt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},wt.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let ni=wt;t.IfcBSplineCurveForm=ni;let st=class{};st.CONICAL_SURF={type:3,value:"CONICAL_SURF"},st.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},st.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},st.PLANE_SURF={type:3,value:"PLANE_SURF"},st.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},st.RULED_SURF={type:3,value:"RULED_SURF"},st.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},st.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},st.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},st.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},st.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let fs=st;t.IfcBSplineSurfaceForm=fs;let ze=class{};ze.BEAM={type:3,value:"BEAM"},ze.CORNICE={type:3,value:"CORNICE"},ze.DIAPHRAGM={type:3,value:"DIAPHRAGM"},ze.EDGEBEAM={type:3,value:"EDGEBEAM"},ze.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},ze.HATSTONE={type:3,value:"HATSTONE"},ze.HOLLOWCORE={type:3,value:"HOLLOWCORE"},ze.JOIST={type:3,value:"JOIST"},ze.LINTEL={type:3,value:"LINTEL"},ze.PIERCAP={type:3,value:"PIERCAP"},ze.SPANDREL={type:3,value:"SPANDREL"},ze.T_BEAM={type:3,value:"T_BEAM"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"};let ot=ze;t.IfcBeamTypeEnum=ot;let Qe=class{};Qe.CYLINDRICAL={type:3,value:"CYLINDRICAL"},Qe.DISK={type:3,value:"DISK"},Qe.ELASTOMERIC={type:3,value:"ELASTOMERIC"},Qe.GUIDE={type:3,value:"GUIDE"},Qe.POT={type:3,value:"POT"},Qe.ROCKER={type:3,value:"ROCKER"},Qe.ROLLER={type:3,value:"ROLLER"},Qe.SPHERICAL={type:3,value:"SPHERICAL"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ls=Qe;t.IfcBearingTypeEnum=Ls;let Tt=class{};Tt.EQUALTO={type:3,value:"EQUALTO"},Tt.GREATERTHAN={type:3,value:"GREATERTHAN"},Tt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Tt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Tt.INCLUDES={type:3,value:"INCLUDES"},Tt.LESSTHAN={type:3,value:"LESSTHAN"},Tt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Tt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Tt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},Tt.NOTINCLUDES={type:3,value:"NOTINCLUDES"};let zn=Tt;t.IfcBenchmarkEnum=zn;let bt=class{};bt.STEAM={type:3,value:"STEAM"},bt.WATER={type:3,value:"WATER"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ha=bt;t.IfcBoilerTypeEnum=Ha;let Ni=class{};Ni.DIFFERENCE={type:3,value:"DIFFERENCE"},Ni.INTERSECTION={type:3,value:"INTERSECTION"},Ni.UNION={type:3,value:"UNION"};let Qo=Ni;t.IfcBooleanOperator=Qo;let dt=class{};dt.ABUTMENT={type:3,value:"ABUTMENT"},dt.DECK={type:3,value:"DECK"},dt.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},dt.FOUNDATION={type:3,value:"FOUNDATION"},dt.PIER={type:3,value:"PIER"},dt.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},dt.PYLON={type:3,value:"PYLON"},dt.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},dt.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},dt.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ol=dt;t.IfcBridgePartTypeEnum=Ol;let Os=class{};Os.ARCHED={type:3,value:"ARCHED"},Os.CABLE_STAYED={type:3,value:"CABLE_STAYED"},Os.CANTILEVER={type:3,value:"CANTILEVER"},Os.CULVERT={type:3,value:"CULVERT"},Os.FRAMEWORK={type:3,value:"FRAMEWORK"},Os.GIRDER={type:3,value:"GIRDER"},Os.SUSPENSION={type:3,value:"SUSPENSION"},Os.TRUSS={type:3,value:"TRUSS"},Os.USERDEFINED={type:3,value:"USERDEFINED"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oh=Os;t.IfcBridgeTypeEnum=Oh;let cr=class{};cr.APRON={type:3,value:"APRON"},cr.ARMOURUNIT={type:3,value:"ARMOURUNIT"},cr.INSULATION={type:3,value:"INSULATION"},cr.PRECASTPANEL={type:3,value:"PRECASTPANEL"},cr.SAFETYCAGE={type:3,value:"SAFETYCAGE"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hp=cr;t.IfcBuildingElementPartTypeEnum=Hp;let Mi=class{};Mi.COMPLEX={type:3,value:"COMPLEX"},Mi.ELEMENT={type:3,value:"ELEMENT"},Mi.PARTIAL={type:3,value:"PARTIAL"},Mi.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Mi.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let mh=Mi;t.IfcBuildingElementProxyTypeEnum=mh;let Fi=class{};Fi.FENESTRATION={type:3,value:"FENESTRATION"},Fi.FOUNDATION={type:3,value:"FOUNDATION"},Fi.LOADBEARING={type:3,value:"LOADBEARING"},Fi.OUTERSHELL={type:3,value:"OUTERSHELL"},Fi.SHADING={type:3,value:"SHADING"},Fi.TRANSPORT={type:3,value:"TRANSPORT"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bp=Fi;t.IfcBuildingSystemTypeEnum=Bp;let zt=class{};zt.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},zt.FENESTRATION={type:3,value:"FENESTRATION"},zt.FOUNDATION={type:3,value:"FOUNDATION"},zt.LOADBEARING={type:3,value:"LOADBEARING"},zt.MOORING={type:3,value:"MOORING"},zt.OUTERSHELL={type:3,value:"OUTERSHELL"},zt.PRESTRESSING={type:3,value:"PRESTRESSING"},zt.RAILWAYLINE={type:3,value:"RAILWAYLINE"},zt.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},zt.REINFORCING={type:3,value:"REINFORCING"},zt.SHADING={type:3,value:"SHADING"},zt.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},zt.TRANSPORT={type:3,value:"TRANSPORT"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ml=zt;t.IfcBuiltSystemTypeEnum=ml;let Fn=class{};Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vp=Fn;t.IfcBurnerTypeEnum=Vp;let Lt=class{};Lt.BEND={type:3,value:"BEND"},Lt.CONNECTOR={type:3,value:"CONNECTOR"},Lt.CROSS={type:3,value:"CROSS"},Lt.JUNCTION={type:3,value:"JUNCTION"},Lt.REDUCER={type:3,value:"REDUCER"},Lt.TEE={type:3,value:"TEE"},Lt.TRANSITION={type:3,value:"TRANSITION"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dl=Lt;t.IfcCableCarrierFittingTypeEnum=Dl;let $s=class{};$s.CABLEBRACKET={type:3,value:"CABLEBRACKET"},$s.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},$s.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},$s.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},$s.CATENARYWIRE={type:3,value:"CATENARYWIRE"},$s.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},$s.DROPPER={type:3,value:"DROPPER"},$s.USERDEFINED={type:3,value:"USERDEFINED"},$s.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wp=$s;t.IfcCableCarrierSegmentTypeEnum=Wp;let Re=class{};Re.CONNECTOR={type:3,value:"CONNECTOR"},Re.ENTRY={type:3,value:"ENTRY"},Re.EXIT={type:3,value:"EXIT"},Re.FANOUT={type:3,value:"FANOUT"},Re.JUNCTION={type:3,value:"JUNCTION"},Re.TRANSITION={type:3,value:"TRANSITION"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dh=Re;t.IfcCableFittingTypeEnum=Dh;let Hs=class{};Hs.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},Hs.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Hs.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Hs.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},Hs.CORESEGMENT={type:3,value:"CORESEGMENT"},Hs.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},Hs.FIBERTUBE={type:3,value:"FIBERTUBE"},Hs.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},Hs.STITCHWIRE={type:3,value:"STITCHWIRE"},Hs.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},Hs.USERDEFINED={type:3,value:"USERDEFINED"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let jp=Hs;t.IfcCableSegmentTypeEnum=jp;let Ws=class{};Ws.CAISSON={type:3,value:"CAISSON"},Ws.WELL={type:3,value:"WELL"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ah=Ws;t.IfcCaissonFoundationTypeEnum=Ah;let Sr=class{};Sr.ADDED={type:3,value:"ADDED"},Sr.DELETED={type:3,value:"DELETED"},Sr.MODIFIED={type:3,value:"MODIFIED"},Sr.NOCHANGE={type:3,value:"NOCHANGE"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yp=Sr;t.IfcChangeActionEnum=Yp;let xe=class{};xe.AIRCOOLED={type:3,value:"AIRCOOLED"},xe.HEATRECOVERY={type:3,value:"HEATRECOVERY"},xe.WATERCOOLED={type:3,value:"WATERCOOLED"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sh=xe;t.IfcChillerTypeEnum=Sh;let Cr=class{};Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"};let zp=Cr;t.IfcChimneyTypeEnum=zp;let hr=class{};hr.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},hr.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},hr.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},hr.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},hr.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},hr.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},hr.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $t=hr;t.IfcCoilTypeEnum=$t;let os=class{};os.COLUMN={type:3,value:"COLUMN"},os.PIERSTEM={type:3,value:"PIERSTEM"},os.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},os.PILASTER={type:3,value:"PILASTER"},os.STANDCOLUMN={type:3,value:"STANDCOLUMN"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ch=os;t.IfcColumnTypeEnum=Ch;let Et=class{};Et.ANTENNA={type:3,value:"ANTENNA"},Et.AUTOMATON={type:3,value:"AUTOMATON"},Et.COMPUTER={type:3,value:"COMPUTER"},Et.FAX={type:3,value:"FAX"},Et.GATEWAY={type:3,value:"GATEWAY"},Et.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},Et.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},Et.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},Et.MODEM={type:3,value:"MODEM"},Et.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},Et.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},Et.NETWORKHUB={type:3,value:"NETWORKHUB"},Et.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},Et.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},Et.PRINTER={type:3,value:"PRINTER"},Et.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},Et.REPEATER={type:3,value:"REPEATER"},Et.ROUTER={type:3,value:"ROUTER"},Et.SCANNER={type:3,value:"SCANNER"},Et.TELECOMMAND={type:3,value:"TELECOMMAND"},Et.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},Et.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},Et.TRANSPONDER={type:3,value:"TRANSPONDER"},Et.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"};let vh=Et;t.IfcCommunicationsApplianceTypeEnum=vh;let vr=class{};vr.P_COMPLEX={type:3,value:"P_COMPLEX"},vr.Q_COMPLEX={type:3,value:"Q_COMPLEX"};let bh=vr;t.IfcComplexPropertyTemplateTypeEnum=bh;let Bt=class{};Bt.BOOSTER={type:3,value:"BOOSTER"},Bt.DYNAMIC={type:3,value:"DYNAMIC"},Bt.HERMETIC={type:3,value:"HERMETIC"},Bt.OPENTYPE={type:3,value:"OPENTYPE"},Bt.RECIPROCATING={type:3,value:"RECIPROCATING"},Bt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Bt.ROTARY={type:3,value:"ROTARY"},Bt.ROTARYVANE={type:3,value:"ROTARYVANE"},Bt.SCROLL={type:3,value:"SCROLL"},Bt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Bt.SINGLESCREW={type:3,value:"SINGLESCREW"},Bt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Bt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Bt.TWINSCREW={type:3,value:"TWINSCREW"},Bt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Al=Bt;t.IfcCompressorTypeEnum=Al;let Bs=class{};Bs.AIRCOOLED={type:3,value:"AIRCOOLED"},Bs.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},Bs.WATERCOOLED={type:3,value:"WATERCOOLED"},Bs.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},Bs.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},Bs.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},Bs.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sl=Bs;t.IfcCondenserTypeEnum=Sl;let cs=class{};cs.ATEND={type:3,value:"ATEND"},cs.ATPATH={type:3,value:"ATPATH"},cs.ATSTART={type:3,value:"ATSTART"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cl=cs;t.IfcConnectionTypeEnum=Cl;let Ie=class{};Ie.ADVISORY={type:3,value:"ADVISORY"},Ie.HARD={type:3,value:"HARD"},Ie.SOFT={type:3,value:"SOFT"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"};let bc=Ie;t.IfcConstraintEnum=bc;let ei=class{};ei.DEMOLISHING={type:3,value:"DEMOLISHING"},ei.EARTHMOVING={type:3,value:"EARTHMOVING"},ei.ERECTING={type:3,value:"ERECTING"},ei.HEATING={type:3,value:"HEATING"},ei.LIGHTING={type:3,value:"LIGHTING"},ei.PAVING={type:3,value:"PAVING"},ei.PUMPING={type:3,value:"PUMPING"},ei.TRANSPORTING={type:3,value:"TRANSPORTING"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lc=ei;t.IfcConstructionEquipmentResourceTypeEnum=Lc;let Ri=class{};Ri.AGGREGATES={type:3,value:"AGGREGATES"},Ri.CONCRETE={type:3,value:"CONCRETE"},Ri.DRYWALL={type:3,value:"DRYWALL"},Ri.FUEL={type:3,value:"FUEL"},Ri.GYPSUM={type:3,value:"GYPSUM"},Ri.MASONRY={type:3,value:"MASONRY"},Ri.METAL={type:3,value:"METAL"},Ri.PLASTIC={type:3,value:"PLASTIC"},Ri.WOOD={type:3,value:"WOOD"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"};let gc=Ri;t.IfcConstructionMaterialResourceTypeEnum=gc;let js=class{};js.ASSEMBLY={type:3,value:"ASSEMBLY"},js.FORMWORK={type:3,value:"FORMWORK"},js.USERDEFINED={type:3,value:"USERDEFINED"},js.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pc=js;t.IfcConstructionProductResourceTypeEnum=Pc;let lt=class{};lt.FLOATING={type:3,value:"FLOATING"},lt.MULTIPOSITION={type:3,value:"MULTIPOSITION"},lt.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},lt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},lt.TWOPOSITION={type:3,value:"TWOPOSITION"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lh=lt;t.IfcControllerTypeEnum=Lh;let He=class{};He.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},He.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},He.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},He.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"};let xc=He;t.IfcConveyorSegmentTypeEnum=xc;let Ki=class{};Ki.ACTIVE={type:3,value:"ACTIVE"},Ki.PASSIVE={type:3,value:"PASSIVE"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"};let _c=Ki;t.IfcCooledBeamTypeEnum=_c;let Zi=class{};Zi.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Zi.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Zi.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Zi.USERDEFINED={type:3,value:"USERDEFINED"},Zi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mc=Zi;t.IfcCoolingTowerTypeEnum=Mc;let Vr=class{};Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"};let kp=Vr;t.IfcCostItemTypeEnum=kp;let ai=class{};ai.BUDGET={type:3,value:"BUDGET"},ai.COSTPLAN={type:3,value:"COSTPLAN"},ai.ESTIMATE={type:3,value:"ESTIMATE"},ai.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},ai.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},ai.TENDER={type:3,value:"TENDER"},ai.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xp=ai;t.IfcCostScheduleTypeEnum=Xp;let Ye=class{};Ye.ARMOUR={type:3,value:"ARMOUR"},Ye.BALLASTBED={type:3,value:"BALLASTBED"},Ye.CORE={type:3,value:"CORE"},Ye.FILTER={type:3,value:"FILTER"},Ye.PAVEMENT={type:3,value:"PAVEMENT"},Ye.PROTECTION={type:3,value:"PROTECTION"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kp=Ye;t.IfcCourseTypeEnum=Kp;let ms=class{};ms.CEILING={type:3,value:"CEILING"},ms.CLADDING={type:3,value:"CLADDING"},ms.COPING={type:3,value:"COPING"},ms.FLOORING={type:3,value:"FLOORING"},ms.INSULATION={type:3,value:"INSULATION"},ms.MEMBRANE={type:3,value:"MEMBRANE"},ms.MOLDING={type:3,value:"MOLDING"},ms.ROOFING={type:3,value:"ROOFING"},ms.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},ms.SLEEVING={type:3,value:"SLEEVING"},ms.TOPPING={type:3,value:"TOPPING"},ms.WRAPPING={type:3,value:"WRAPPING"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zp=ms;t.IfcCoveringTypeEnum=Zp;let oi=class{};oi.OFFICE={type:3,value:"OFFICE"},oi.SITE={type:3,value:"SITE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let qp=oi;t.IfcCrewResourceTypeEnum=qp;let lr=class{};lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Qp=lr;t.IfcCurtainWallTypeEnum=Qp;let pr=class{};pr.LINEAR={type:3,value:"LINEAR"},pr.LOG_LINEAR={type:3,value:"LOG_LINEAR"},pr.LOG_LOG={type:3,value:"LOG_LOG"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fc=pr;t.IfcCurveInterpolationEnum=Fc;let gt=class{};gt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},gt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},gt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},gt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},gt.FIREDAMPER={type:3,value:"FIREDAMPER"},gt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},gt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},gt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},gt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},gt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},gt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uc=gt;t.IfcDamperTypeEnum=Uc;let Nt=class{};Nt.MEASURED={type:3,value:"MEASURED"},Nt.PREDICTED={type:3,value:"PREDICTED"},Nt.SIMULATED={type:3,value:"SIMULATED"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"};let vl=Nt;t.IfcDataOriginEnum=vl;let _e=class{};_e.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},_e.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},_e.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},_e.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},_e.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},_e.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},_e.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},_e.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},_e.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},_e.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},_e.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},_e.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},_e.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},_e.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},_e.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},_e.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},_e.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},_e.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},_e.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},_e.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},_e.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},_e.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},_e.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},_e.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},_e.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},_e.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},_e.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},_e.PHUNIT={type:3,value:"PHUNIT"},_e.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},_e.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},_e.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},_e.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},_e.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},_e.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},_e.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},_e.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},_e.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},_e.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},_e.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},_e.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},_e.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},_e.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},_e.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},_e.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},_e.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},_e.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},_e.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},_e.TORQUEUNIT={type:3,value:"TORQUEUNIT"},_e.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},_e.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},_e.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},_e.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},_e.USERDEFINED={type:3,value:"USERDEFINED"};let bl=_e;t.IfcDerivedUnitEnum=bl;let Gt=class{};Gt.NEGATIVE={type:3,value:"NEGATIVE"},Gt.POSITIVE={type:3,value:"POSITIVE"};let Jp=Gt;t.IfcDirectionSenseEnum=Jp;let pt=class{};pt.ANCHORPLATE={type:3,value:"ANCHORPLATE"},pt.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},pt.BRACKET={type:3,value:"BRACKET"},pt.CABLEARRANGER={type:3,value:"CABLEARRANGER"},pt.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},pt.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},pt.FILLER={type:3,value:"FILLER"},pt.FLASHING={type:3,value:"FLASHING"},pt.INSULATOR={type:3,value:"INSULATOR"},pt.LOCK={type:3,value:"LOCK"},pt.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},pt.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},pt.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},pt.RAILBRACE={type:3,value:"RAILBRACE"},pt.RAILPAD={type:3,value:"RAILPAD"},pt.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},pt.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},pt.SHOE={type:3,value:"SHOE"},pt.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},pt.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},pt.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $p=pt;t.IfcDiscreteAccessoryTypeEnum=$p;let fi=class{};fi.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},fi.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},fi.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},fi.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},fi.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},fi.SWITCHBOARD={type:3,value:"SWITCHBOARD"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"};let eu=fi;t.IfcDistributionBoardTypeEnum=eu;let ci=class{};ci.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ci.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ci.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ci.MANHOLE={type:3,value:"MANHOLE"},ci.METERCHAMBER={type:3,value:"METERCHAMBER"},ci.SUMP={type:3,value:"SUMP"},ci.TRENCH={type:3,value:"TRENCH"},ci.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let gh=ci;t.IfcDistributionChamberElementTypeEnum=gh;let Rt=class{};Rt.CABLE={type:3,value:"CABLE"},Rt.CABLECARRIER={type:3,value:"CABLECARRIER"},Rt.DUCT={type:3,value:"DUCT"},Rt.PIPE={type:3,value:"PIPE"},Rt.WIRELESS={type:3,value:"WIRELESS"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"};let tu=Rt;t.IfcDistributionPortTypeEnum=tu;let Pe=class{};Pe.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Pe.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Pe.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},Pe.CHEMICAL={type:3,value:"CHEMICAL"},Pe.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Pe.COMMUNICATION={type:3,value:"COMMUNICATION"},Pe.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Pe.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Pe.CONTROL={type:3,value:"CONTROL"},Pe.CONVEYING={type:3,value:"CONVEYING"},Pe.DATA={type:3,value:"DATA"},Pe.DISPOSAL={type:3,value:"DISPOSAL"},Pe.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Pe.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Pe.DRAINAGE={type:3,value:"DRAINAGE"},Pe.EARTHING={type:3,value:"EARTHING"},Pe.ELECTRICAL={type:3,value:"ELECTRICAL"},Pe.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Pe.EXHAUST={type:3,value:"EXHAUST"},Pe.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Pe.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},Pe.FUEL={type:3,value:"FUEL"},Pe.GAS={type:3,value:"GAS"},Pe.HAZARDOUS={type:3,value:"HAZARDOUS"},Pe.HEATING={type:3,value:"HEATING"},Pe.LIGHTING={type:3,value:"LIGHTING"},Pe.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Pe.MOBILENETWORK={type:3,value:"MOBILENETWORK"},Pe.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},Pe.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Pe.OIL={type:3,value:"OIL"},Pe.OPERATIONAL={type:3,value:"OPERATIONAL"},Pe.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},Pe.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},Pe.POWERGENERATION={type:3,value:"POWERGENERATION"},Pe.RAINWATER={type:3,value:"RAINWATER"},Pe.REFRIGERATION={type:3,value:"REFRIGERATION"},Pe.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},Pe.SECURITY={type:3,value:"SECURITY"},Pe.SEWAGE={type:3,value:"SEWAGE"},Pe.SIGNAL={type:3,value:"SIGNAL"},Pe.STORMWATER={type:3,value:"STORMWATER"},Pe.TELEPHONE={type:3,value:"TELEPHONE"},Pe.TV={type:3,value:"TV"},Pe.VACUUM={type:3,value:"VACUUM"},Pe.VENT={type:3,value:"VENT"},Pe.VENTILATION={type:3,value:"VENTILATION"},Pe.WASTEWATER={type:3,value:"WASTEWATER"},Pe.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"};let su=Pe;t.IfcDistributionSystemEnum=su;let Oi=class{};Oi.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Oi.PERSONAL={type:3,value:"PERSONAL"},Oi.PUBLIC={type:3,value:"PUBLIC"},Oi.RESTRICTED={type:3,value:"RESTRICTED"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"};let iu=Oi;t.IfcDocumentConfidentialityEnum=iu;let br=class{};br.DRAFT={type:3,value:"DRAFT"},br.FINAL={type:3,value:"FINAL"},br.FINALDRAFT={type:3,value:"FINALDRAFT"},br.REVISION={type:3,value:"REVISION"},br.NOTDEFINED={type:3,value:"NOTDEFINED"};let wc=br;t.IfcDocumentStatusEnum=wc;let Ds=class{};Ds.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Ds.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Ds.FOLDING={type:3,value:"FOLDING"},Ds.REVOLVING={type:3,value:"REVOLVING"},Ds.ROLLINGUP={type:3,value:"ROLLINGUP"},Ds.SLIDING={type:3,value:"SLIDING"},Ds.SWINGING={type:3,value:"SWINGING"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ru=Ds;t.IfcDoorPanelOperationEnum=ru;let Un=class{};Un.LEFT={type:3,value:"LEFT"},Un.MIDDLE={type:3,value:"MIDDLE"},Un.RIGHT={type:3,value:"RIGHT"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ll=Un;t.IfcDoorPanelPositionEnum=Ll;let Ys=class{};Ys.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},Ys.DOOR={type:3,value:"DOOR"},Ys.GATE={type:3,value:"GATE"},Ys.TRAPDOOR={type:3,value:"TRAPDOOR"},Ys.TURNSTILE={type:3,value:"TURNSTILE"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"};let gl=Ys;t.IfcDoorTypeEnum=gl;let $=class{};$.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},$.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},$.DOUBLE_DOOR_LIFTING_VERTICAL={type:3,value:"DOUBLE_DOOR_LIFTING_VERTICAL"},$.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},$.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},$.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},$.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},$.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},$.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},$.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},$.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},$.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},$.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},$.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},$.REVOLVING={type:3,value:"REVOLVING"},$.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},$.ROLLINGUP={type:3,value:"ROLLINGUP"},$.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},$.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},$.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},$.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},$.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},$.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"};let le=$;t.IfcDoorTypeOperationEnum=le;let fe=class{};fe.BEND={type:3,value:"BEND"},fe.CONNECTOR={type:3,value:"CONNECTOR"},fe.ENTRY={type:3,value:"ENTRY"},fe.EXIT={type:3,value:"EXIT"},fe.JUNCTION={type:3,value:"JUNCTION"},fe.OBSTRUCTION={type:3,value:"OBSTRUCTION"},fe.TRANSITION={type:3,value:"TRANSITION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"};let Le=fe;t.IfcDuctFittingTypeEnum=Le;let ge=class{};ge.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},ge.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"};let $e=ge;t.IfcDuctSegmentTypeEnum=$e;let it=class{};it.FLATOVAL={type:3,value:"FLATOVAL"},it.RECTANGULAR={type:3,value:"RECTANGULAR"},it.ROUND={type:3,value:"ROUND"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"};let es=it;t.IfcDuctSilencerTypeEnum=es;let et=class{};et.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},et.CUT={type:3,value:"CUT"},et.DREDGING={type:3,value:"DREDGING"},et.EXCAVATION={type:3,value:"EXCAVATION"},et.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},et.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},et.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},et.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},et.TRENCH={type:3,value:"TRENCH"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"};let Lr=et;t.IfcEarthworksCutTypeEnum=Lr;let Kt=class{};Kt.BACKFILL={type:3,value:"BACKFILL"},Kt.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},Kt.EMBANKMENT={type:3,value:"EMBANKMENT"},Kt.SLOPEFILL={type:3,value:"SLOPEFILL"},Kt.SUBGRADE={type:3,value:"SUBGRADE"},Kt.SUBGRADEBED={type:3,value:"SUBGRADEBED"},Kt.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let oa=Kt;t.IfcEarthworksFillTypeEnum=oa;let Ht=class{};Ht.DISHWASHER={type:3,value:"DISHWASHER"},Ht.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Ht.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Ht.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Ht.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Ht.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Ht.FREEZER={type:3,value:"FREEZER"},Ht.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Ht.HANDDRYER={type:3,value:"HANDDRYER"},Ht.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Ht.MICROWAVE={type:3,value:"MICROWAVE"},Ht.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Ht.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Ht.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Ht.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Ht.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let Pl=Ht;t.IfcElectricApplianceTypeEnum=Pl;let ts=class{};ts.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},ts.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},ts.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},ts.SWITCHBOARD={type:3,value:"SWITCHBOARD"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"};let xl=ts;t.IfcElectricDistributionBoardTypeEnum=xl;let ti=class{};ti.BATTERY={type:3,value:"BATTERY"},ti.CAPACITOR={type:3,value:"CAPACITOR"},ti.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ti.COMPENSATOR={type:3,value:"COMPENSATOR"},ti.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ti.INDUCTOR={type:3,value:"INDUCTOR"},ti.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ti.RECHARGER={type:3,value:"RECHARGER"},ti.UPS={type:3,value:"UPS"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ph=ti;t.IfcElectricFlowStorageDeviceTypeEnum=Ph;let mi=class{};mi.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"};let _l=mi;t.IfcElectricFlowTreatmentDeviceTypeEnum=_l;let ur=class{};ur.CHP={type:3,value:"CHP"},ur.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},ur.STANDALONE={type:3,value:"STANDALONE"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Jo=ur;t.IfcElectricGeneratorTypeEnum=Jo;let kt=class{};kt.DC={type:3,value:"DC"},kt.INDUCTION={type:3,value:"INDUCTION"},kt.POLYPHASE={type:3,value:"POLYPHASE"},kt.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},kt.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"};let $o=kt;t.IfcElectricMotorTypeEnum=$o;let zs=class{};zs.RELAY={type:3,value:"RELAY"},zs.TIMECLOCK={type:3,value:"TIMECLOCK"},zs.TIMEDELAY={type:3,value:"TIMEDELAY"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let xh=zs;t.IfcElectricTimeControlTypeEnum=xh;let Ke=class{};Ke.ABUTMENT={type:3,value:"ABUTMENT"},Ke.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ke.ARCH={type:3,value:"ARCH"},Ke.BEAM_GRID={type:3,value:"BEAM_GRID"},Ke.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ke.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ke.DECK={type:3,value:"DECK"},Ke.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ke.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ke.GIRDER={type:3,value:"GIRDER"},Ke.GRID={type:3,value:"GRID"},Ke.MAST={type:3,value:"MAST"},Ke.PIER={type:3,value:"PIER"},Ke.PYLON={type:3,value:"PYLON"},Ke.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ke.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ke.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ke.SHELTER={type:3,value:"SHELTER"},Ke.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ke.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ke.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ke.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ke.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ke.TRACKPANEL={type:3,value:"TRACKPANEL"},Ke.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ke.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ke.TRUSS={type:3,value:"TRUSS"},Ke.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"};let ec=Ke;t.IfcElementAssemblyTypeEnum=ec;let ks=class{};ks.COMPLEX={type:3,value:"COMPLEX"},ks.ELEMENT={type:3,value:"ELEMENT"},ks.PARTIAL={type:3,value:"PARTIAL"};let tc=ks;t.IfcElementCompositionEnum=tc;let As=class{};As.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},As.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"};let sc=As;t.IfcEngineTypeEnum=sc;let gs=class{};gs.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},gs.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},gs.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},gs.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},gs.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},gs.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},gs.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},gs.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},gs.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},gs.USERDEFINED={type:3,value:"USERDEFINED"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ml=gs;t.IfcEvaporativeCoolerTypeEnum=Ml;let Ps=class{};Ps.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ps.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ps.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ps.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ps.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ps.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let nu=Ps;t.IfcEvaporatorTypeEnum=nu;let Wr=class{};Wr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},Wr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},Wr.EVENTRULE={type:3,value:"EVENTRULE"},Wr.EVENTTIME={type:3,value:"EVENTTIME"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ae=Wr;t.IfcEventTriggerTypeEnum=Ae;let hi=class{};hi.ENDEVENT={type:3,value:"ENDEVENT"},hi.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},hi.STARTEVENT={type:3,value:"STARTEVENT"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let io=hi;t.IfcEventTypeEnum=io;let Di=class{};Di.EXTERNAL={type:3,value:"EXTERNAL"},Di.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Di.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Di.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"};let _h=Di;t.IfcExternalSpatialElementTypeEnum=_h;let Mt=class{};Mt.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Mt.BELOWGROUND={type:3,value:"BELOWGROUND"},Mt.JUNCTION={type:3,value:"JUNCTION"},Mt.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Mt.SEGMENT={type:3,value:"SEGMENT"},Mt.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Mt.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Mt.TERMINAL={type:3,value:"TERMINAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Mh=Mt;t.IfcFacilityPartCommonTypeEnum=Mh;let Ss=class{};Ss.LATERAL={type:3,value:"LATERAL"},Ss.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Ss.REGION={type:3,value:"REGION"},Ss.VERTICAL={type:3,value:"VERTICAL"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let ic=Ss;t.IfcFacilityUsageEnum=ic;let Cs=class{};Cs.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Cs.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Cs.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Cs.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Cs.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Cs.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Cs.VANEAXIAL={type:3,value:"VANEAXIAL"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"};let rc=Cs;t.IfcFanTypeEnum=rc;let Ui=class{};Ui.GLUE={type:3,value:"GLUE"},Ui.MORTAR={type:3,value:"MORTAR"},Ui.WELD={type:3,value:"WELD"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fh=Ui;t.IfcFastenerTypeEnum=Fh;let Ai=class{};Ai.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Ai.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Ai.ODORFILTER={type:3,value:"ODORFILTER"},Ai.OILFILTER={type:3,value:"OILFILTER"},Ai.STRAINER={type:3,value:"STRAINER"},Ai.WATERFILTER={type:3,value:"WATERFILTER"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"};let MI=Ai;t.IfcFilterTypeEnum=MI;let dn=class{};dn.BREECHINGINLET={type:3,value:"BREECHINGINLET"},dn.FIREHYDRANT={type:3,value:"FIREHYDRANT"},dn.FIREMONITOR={type:3,value:"FIREMONITOR"},dn.HOSEREEL={type:3,value:"HOSEREEL"},dn.SPRINKLER={type:3,value:"SPRINKLER"},dn.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let FI=dn;t.IfcFireSuppressionTerminalTypeEnum=FI;let Vt=class{};Vt.SINK={type:3,value:"SINK"},Vt.SOURCE={type:3,value:"SOURCE"},Vt.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"};let UI=Vt;t.IfcFlowDirectionEnum=UI;let Zt=class{};Zt.AMMETER={type:3,value:"AMMETER"},Zt.COMBINED={type:3,value:"COMBINED"},Zt.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Zt.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Zt.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Zt.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Zt.THERMOMETER={type:3,value:"THERMOMETER"},Zt.VOLTMETER={type:3,value:"VOLTMETER"},Zt.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Zt.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"};let wI=Zt;t.IfcFlowInstrumentTypeEnum=wI;let ca=class{};ca.ENERGYMETER={type:3,value:"ENERGYMETER"},ca.GASMETER={type:3,value:"GASMETER"},ca.OILMETER={type:3,value:"OILMETER"},ca.WATERMETER={type:3,value:"WATERMETER"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"};let GI=ca;t.IfcFlowMeterTypeEnum=GI;let wi=class{};wi.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},wi.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},wi.PAD_FOOTING={type:3,value:"PAD_FOOTING"},wi.PILE_CAP={type:3,value:"PILE_CAP"},wi.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let HI=wi;t.IfcFootingTypeEnum=HI;let ss=class{};ss.BED={type:3,value:"BED"},ss.CHAIR={type:3,value:"CHAIR"},ss.DESK={type:3,value:"DESK"},ss.FILECABINET={type:3,value:"FILECABINET"},ss.SHELF={type:3,value:"SHELF"},ss.SOFA={type:3,value:"SOFA"},ss.TABLE={type:3,value:"TABLE"},ss.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"};let BI=ss;t.IfcFurnitureTypeEnum=BI;let gr=class{};gr.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},gr.TERRAIN={type:3,value:"TERRAIN"},gr.VEGETATION={type:3,value:"VEGETATION"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"};let VI=gr;t.IfcGeographicElementTypeEnum=VI;let qi=class{};qi.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},qi.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},qi.MODEL_VIEW={type:3,value:"MODEL_VIEW"},qi.PLAN_VIEW={type:3,value:"PLAN_VIEW"},qi.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},qi.SECTION_VIEW={type:3,value:"SECTION_VIEW"},qi.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},qi.USERDEFINED={type:3,value:"USERDEFINED"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let WI=qi;t.IfcGeometricProjectionEnum=WI;let Nn=class{};Nn.SOLID={type:3,value:"SOLID"},Nn.VOID={type:3,value:"VOID"},Nn.WATER={type:3,value:"WATER"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let jI=Nn;t.IfcGeotechnicalStratumTypeEnum=jI;let li=class{};li.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},li.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};let YI=li;t.IfcGlobalOrLocalEnum=YI;let si=class{};si.IRREGULAR={type:3,value:"IRREGULAR"},si.RADIAL={type:3,value:"RADIAL"},si.RECTANGULAR={type:3,value:"RECTANGULAR"},si.TRIANGULAR={type:3,value:"TRIANGULAR"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"};let zI=si;t.IfcGridTypeEnum=zI;let hs=class{};hs.PLATE={type:3,value:"PLATE"},hs.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},hs.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"};let kI=hs;t.IfcHeatExchangerTypeEnum=kI;let pi=class{};pi.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},pi.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},pi.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},pi.ADIABATICPAN={type:3,value:"ADIABATICPAN"},pi.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},pi.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},pi.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},pi.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},pi.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},pi.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},pi.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},pi.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},pi.STEAMINJECTION={type:3,value:"STEAMINJECTION"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"};let XI=pi;t.IfcHumidifierTypeEnum=XI;let nn=class{};nn.BUMPER={type:3,value:"BUMPER"},nn.CRASHCUSHION={type:3,value:"CRASHCUSHION"},nn.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},nn.FENDER={type:3,value:"FENDER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"};let KI=nn;t.IfcImpactProtectionDeviceTypeEnum=KI;let jr=class{};jr.CYCLONIC={type:3,value:"CYCLONIC"},jr.GREASE={type:3,value:"GREASE"},jr.OIL={type:3,value:"OIL"},jr.PETROL={type:3,value:"PETROL"},jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"};let ZI=jr;t.IfcInterceptorTypeEnum=ZI;let ut=class{};ut.EXTERNAL={type:3,value:"EXTERNAL"},ut.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},ut.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},ut.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},ut.INTERNAL={type:3,value:"INTERNAL"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"};let qI=ut;t.IfcInternalOrExternalEnum=qI;let ls=class{};ls.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},ls.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},ls.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"};let QI=ls;t.IfcInventoryTypeEnum=QI;let Xs=class{};Xs.DATA={type:3,value:"DATA"},Xs.POWER={type:3,value:"POWER"},Xs.USERDEFINED={type:3,value:"USERDEFINED"},Xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let JI=Xs;t.IfcJunctionBoxTypeEnum=JI;let ft=class{};ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let $I=ft;t.IfcKerbTypeEnum=$I;let Er=class{};Er.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Er.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Er.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Er.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let ey=Er;t.IfcKnotType=ey;let ps=class{};ps.ADMINISTRATION={type:3,value:"ADMINISTRATION"},ps.CARPENTRY={type:3,value:"CARPENTRY"},ps.CLEANING={type:3,value:"CLEANING"},ps.CONCRETE={type:3,value:"CONCRETE"},ps.DRYWALL={type:3,value:"DRYWALL"},ps.ELECTRIC={type:3,value:"ELECTRIC"},ps.FINISHING={type:3,value:"FINISHING"},ps.FLOORING={type:3,value:"FLOORING"},ps.GENERAL={type:3,value:"GENERAL"},ps.HVAC={type:3,value:"HVAC"},ps.LANDSCAPING={type:3,value:"LANDSCAPING"},ps.MASONRY={type:3,value:"MASONRY"},ps.PAINTING={type:3,value:"PAINTING"},ps.PAVING={type:3,value:"PAVING"},ps.PLUMBING={type:3,value:"PLUMBING"},ps.ROOFING={type:3,value:"ROOFING"},ps.SITEGRADING={type:3,value:"SITEGRADING"},ps.STEELWORK={type:3,value:"STEELWORK"},ps.SURVEYING={type:3,value:"SURVEYING"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"};let ty=ps;t.IfcLaborResourceTypeEnum=ty;let Xt=class{};Xt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Xt.FLUORESCENT={type:3,value:"FLUORESCENT"},Xt.HALOGEN={type:3,value:"HALOGEN"},Xt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Xt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Xt.LED={type:3,value:"LED"},Xt.METALHALIDE={type:3,value:"METALHALIDE"},Xt.OLED={type:3,value:"OLED"},Xt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let sy=Xt;t.IfcLampTypeEnum=sy;let ha=class{};ha.AXIS1={type:3,value:"AXIS1"},ha.AXIS2={type:3,value:"AXIS2"},ha.AXIS3={type:3,value:"AXIS3"};let iy=ha;t.IfcLayerSetDirectionEnum=iy;let Qi=class{};Qi.TYPE_A={type:3,value:"TYPE_A"},Qi.TYPE_B={type:3,value:"TYPE_B"},Qi.TYPE_C={type:3,value:"TYPE_C"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ry=Qi;t.IfcLightDistributionCurveEnum=ry;let Ks=class{};Ks.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Ks.FLUORESCENT={type:3,value:"FLUORESCENT"},Ks.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Ks.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Ks.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Ks.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Ks.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Ks.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Ks.METALHALIDE={type:3,value:"METALHALIDE"},Ks.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"};let ny=Ks;t.IfcLightEmissionSourceEnum=ny;let Gi=class{};Gi.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Gi.POINTSOURCE={type:3,value:"POINTSOURCE"},Gi.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let ay=Gi;t.IfcLightFixtureTypeEnum=ay;let Ir=class{};Ir.HOSEREEL={type:3,value:"HOSEREEL"},Ir.LOADINGARM={type:3,value:"LOADINGARM"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"};let oy=Ir;t.IfcLiquidTerminalTypeEnum=oy;let yr=class{};yr.LOAD_CASE={type:3,value:"LOAD_CASE"},yr.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},yr.LOAD_GROUP={type:3,value:"LOAD_GROUP"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let cy=yr;t.IfcLoadGroupTypeEnum=cy;let Sa=class{};Sa.LOGICALAND={type:3,value:"LOGICALAND"},Sa.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Sa.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Sa.LOGICALOR={type:3,value:"LOGICALOR"},Sa.LOGICALXOR={type:3,value:"LOGICALXOR"};let hy=Sa;t.IfcLogicalOperatorEnum=hy;let Pt=class{};Pt.BARRIERBEACH={type:3,value:"BARRIERBEACH"},Pt.BREAKWATER={type:3,value:"BREAKWATER"},Pt.CANAL={type:3,value:"CANAL"},Pt.DRYDOCK={type:3,value:"DRYDOCK"},Pt.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},Pt.HYDROLIFT={type:3,value:"HYDROLIFT"},Pt.JETTY={type:3,value:"JETTY"},Pt.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},Pt.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},Pt.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},Pt.PORT={type:3,value:"PORT"},Pt.QUAY={type:3,value:"QUAY"},Pt.REVETMENT={type:3,value:"REVETMENT"},Pt.SHIPLIFT={type:3,value:"SHIPLIFT"},Pt.SHIPLOCK={type:3,value:"SHIPLOCK"},Pt.SHIPYARD={type:3,value:"SHIPYARD"},Pt.SLIPWAY={type:3,value:"SLIPWAY"},Pt.WATERWAY={type:3,value:"WATERWAY"},Pt.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ly=Pt;t.IfcMarineFacilityTypeEnum=ly;let xt=class{};xt.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},xt.ANCHORAGE={type:3,value:"ANCHORAGE"},xt.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},xt.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},xt.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},xt.CHAMBER={type:3,value:"CHAMBER"},xt.CILL_LEVEL={type:3,value:"CILL_LEVEL"},xt.COPELEVEL={type:3,value:"COPELEVEL"},xt.CORE={type:3,value:"CORE"},xt.CREST={type:3,value:"CREST"},xt.GATEHEAD={type:3,value:"GATEHEAD"},xt.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},xt.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},xt.LANDFIELD={type:3,value:"LANDFIELD"},xt.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},xt.LOWWATERLINE={type:3,value:"LOWWATERLINE"},xt.MANUFACTURING={type:3,value:"MANUFACTURING"},xt.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},xt.PROTECTION={type:3,value:"PROTECTION"},xt.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},xt.STORAGEAREA={type:3,value:"STORAGEAREA"},xt.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},xt.WATERFIELD={type:3,value:"WATERFIELD"},xt.WEATHERSIDE={type:3,value:"WEATHERSIDE"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"};let py=xt;t.IfcMarinePartTypeEnum=py;let It=class{};It.ANCHORBOLT={type:3,value:"ANCHORBOLT"},It.BOLT={type:3,value:"BOLT"},It.CHAIN={type:3,value:"CHAIN"},It.COUPLER={type:3,value:"COUPLER"},It.DOWEL={type:3,value:"DOWEL"},It.NAIL={type:3,value:"NAIL"},It.NAILPLATE={type:3,value:"NAILPLATE"},It.RAILFASTENING={type:3,value:"RAILFASTENING"},It.RAILJOINT={type:3,value:"RAILJOINT"},It.RIVET={type:3,value:"RIVET"},It.ROPE={type:3,value:"ROPE"},It.SCREW={type:3,value:"SCREW"},It.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},It.STAPLE={type:3,value:"STAPLE"},It.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"};let uy=It;t.IfcMechanicalFastenerTypeEnum=uy;let Rn=class{};Rn.AIRSTATION={type:3,value:"AIRSTATION"},Rn.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Rn.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Rn.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Rn.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ey=Rn;t.IfcMedicalDeviceTypeEnum=Ey;let qt=class{};qt.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},qt.BRACE={type:3,value:"BRACE"},qt.CHORD={type:3,value:"CHORD"},qt.COLLAR={type:3,value:"COLLAR"},qt.MEMBER={type:3,value:"MEMBER"},qt.MULLION={type:3,value:"MULLION"},qt.PLATE={type:3,value:"PLATE"},qt.POST={type:3,value:"POST"},qt.PURLIN={type:3,value:"PURLIN"},qt.RAFTER={type:3,value:"RAFTER"},qt.STAY_CABLE={type:3,value:"STAY_CABLE"},qt.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},qt.STRINGER={type:3,value:"STRINGER"},qt.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},qt.STRUT={type:3,value:"STRUT"},qt.STUD={type:3,value:"STUD"},qt.SUSPENDER={type:3,value:"SUSPENDER"},qt.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},qt.TIEBAR={type:3,value:"TIEBAR"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Iy=qt;t.IfcMemberTypeEnum=Iy;let us=class{};us.ACCESSPOINT={type:3,value:"ACCESSPOINT"},us.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},us.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},us.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},us.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},us.MASTERUNIT={type:3,value:"MASTERUNIT"},us.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},us.MSCSERVER={type:3,value:"MSCSERVER"},us.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},us.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},us.REMOTEUNIT={type:3,value:"REMOTEUNIT"},us.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},us.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"};let yy=us;t.IfcMobileTelecommunicationsApplianceTypeEnum=yy;let Yr=class{};Yr.BOLLARD={type:3,value:"BOLLARD"},Yr.LINETENSIONER={type:3,value:"LINETENSIONER"},Yr.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},Yr.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},Yr.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ty=Yr;t.IfcMooringDeviceTypeEnum=Ty;let ii=class{};ii.BELTDRIVE={type:3,value:"BELTDRIVE"},ii.COUPLING={type:3,value:"COUPLING"},ii.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let dy=ii;t.IfcMotorConnectionTypeEnum=dy;let Hi=class{};Hi.BEACON={type:3,value:"BEACON"},Hi.BUOY={type:3,value:"BUOY"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ny=Hi;t.IfcNavigationElementTypeEnum=Ny;let Zs=class{};Zs.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Zs.CODEWAIVER={type:3,value:"CODEWAIVER"},Zs.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Zs.EXTERNAL={type:3,value:"EXTERNAL"},Zs.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Zs.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Zs.MODELVIEW={type:3,value:"MODELVIEW"},Zs.PARAMETER={type:3,value:"PARAMETER"},Zs.REQUIREMENT={type:3,value:"REQUIREMENT"},Zs.SPECIFICATION={type:3,value:"SPECIFICATION"},Zs.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Zs.USERDEFINED={type:3,value:"USERDEFINED"},Zs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ry=Zs;t.IfcObjectiveEnum=Ry;let Ji=class{};Ji.ASSIGNEE={type:3,value:"ASSIGNEE"},Ji.ASSIGNOR={type:3,value:"ASSIGNOR"},Ji.LESSEE={type:3,value:"LESSEE"},Ji.LESSOR={type:3,value:"LESSOR"},Ji.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ji.OWNER={type:3,value:"OWNER"},Ji.TENANT={type:3,value:"TENANT"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"};let fy=Ji;t.IfcOccupantTypeEnum=fy;let zr=class{};zr.OPENING={type:3,value:"OPENING"},zr.RECESS={type:3,value:"RECESS"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Oy=zr;t.IfcOpeningElementTypeEnum=Oy;let Es=class{};Es.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Es.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Es.DATAOUTLET={type:3,value:"DATAOUTLET"},Es.POWEROUTLET={type:3,value:"POWEROUTLET"},Es.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"};let my=Es;t.IfcOutletTypeEnum=my;let Tr=class{};Tr.FLEXIBLE={type:3,value:"FLEXIBLE"},Tr.RIGID={type:3,value:"RIGID"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Dy=Tr;t.IfcPavementTypeEnum=Dy;let $i=class{};$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ay=$i;t.IfcPerformanceHistoryTypeEnum=Ay;let wn=class{};wn.GRILL={type:3,value:"GRILL"},wn.LOUVER={type:3,value:"LOUVER"},wn.SCREEN={type:3,value:"SCREEN"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Sy=wn;t.IfcPermeableCoveringOperationEnum=Sy;let Bi=class{};Bi.ACCESS={type:3,value:"ACCESS"},Bi.BUILDING={type:3,value:"BUILDING"},Bi.WORK={type:3,value:"WORK"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Cy=Bi;t.IfcPermitTypeEnum=Cy;let Ba=class{};Ba.PHYSICAL={type:3,value:"PHYSICAL"},Ba.VIRTUAL={type:3,value:"VIRTUAL"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let vy=Ba;t.IfcPhysicalOrVirtualEnum=vy;let Ft=class{};Ft.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Ft.COMPOSITE={type:3,value:"COMPOSITE"},Ft.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Ft.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"};let by=Ft;t.IfcPileConstructionEnum=by;let xs=class{};xs.BORED={type:3,value:"BORED"},xs.COHESION={type:3,value:"COHESION"},xs.DRIVEN={type:3,value:"DRIVEN"},xs.FRICTION={type:3,value:"FRICTION"},xs.JETGROUTING={type:3,value:"JETGROUTING"},xs.SUPPORT={type:3,value:"SUPPORT"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ly=xs;t.IfcPileTypeEnum=Ly;let Is=class{};Is.BEND={type:3,value:"BEND"},Is.CONNECTOR={type:3,value:"CONNECTOR"},Is.ENTRY={type:3,value:"ENTRY"},Is.EXIT={type:3,value:"EXIT"},Is.JUNCTION={type:3,value:"JUNCTION"},Is.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Is.TRANSITION={type:3,value:"TRANSITION"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"};let gy=Is;t.IfcPipeFittingTypeEnum=gy;let Me=class{};Me.CULVERT={type:3,value:"CULVERT"},Me.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Me.GUTTER={type:3,value:"GUTTER"},Me.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Me.SPOOL={type:3,value:"SPOOL"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"};let Py=Me;t.IfcPipeSegmentTypeEnum=Py;let is=class{};is.BASE_PLATE={type:3,value:"BASE_PLATE"},is.COVER_PLATE={type:3,value:"COVER_PLATE"},is.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},is.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},is.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},is.SHEET={type:3,value:"SHEET"},is.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},is.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},is.WEB_PLATE={type:3,value:"WEB_PLATE"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"};let xy=is;t.IfcPlateTypeEnum=xy;let ys=class{};ys.CURVE3D={type:3,value:"CURVE3D"},ys.PCURVE_S1={type:3,value:"PCURVE_S1"},ys.PCURVE_S2={type:3,value:"PCURVE_S2"};let _y=ys;t.IfcPreferredSurfaceCurveRepresentation=_y;let Ot=class{};Ot.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ot.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ot.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ot.CALIBRATION={type:3,value:"CALIBRATION"},Ot.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ot.SHUTDOWN={type:3,value:"SHUTDOWN"},Ot.STARTUP={type:3,value:"STARTUP"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"};let My=Ot;t.IfcProcedureTypeEnum=My;let an=class{};an.AREA={type:3,value:"AREA"},an.CURVE={type:3,value:"CURVE"};let Fy=an;t.IfcProfileTypeEnum=Fy;let qs=class{};qs.CHANGEORDER={type:3,value:"CHANGEORDER"},qs.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},qs.MOVEORDER={type:3,value:"MOVEORDER"},qs.PURCHASEORDER={type:3,value:"PURCHASEORDER"},qs.WORKORDER={type:3,value:"WORKORDER"},qs.USERDEFINED={type:3,value:"USERDEFINED"},qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uy=qs;t.IfcProjectOrderTypeEnum=Uy;let Ts=class{};Ts.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ts.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};let wy=Ts;t.IfcProjectedOrTrueLengthEnum=wy;let kr=class{};kr.BLISTER={type:3,value:"BLISTER"},kr.DEVIATOR={type:3,value:"DEVIATOR"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gy=kr;t.IfcProjectionElementTypeEnum=Gy;let ui=class{};ui.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},ui.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ui.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ui.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},ui.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ui.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ui.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ui.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ui.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hy=ui;t.IfcPropertySetTemplateTypeEnum=Hy;let Si=class{};Si.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Si.ELECTRONIC={type:3,value:"ELECTRONIC"},Si.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Si.THERMAL={type:3,value:"THERMAL"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"};let By=Si;t.IfcProtectiveDeviceTrippingUnitTypeEnum=By;let Qs=class{};Qs.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},Qs.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Qs.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Qs.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Qs.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Qs.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Qs.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Qs.SPARKGAP={type:3,value:"SPARKGAP"},Qs.VARISTOR={type:3,value:"VARISTOR"},Qs.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vy=Qs;t.IfcProtectiveDeviceTypeEnum=Vy;let Ci=class{};Ci.CIRCULATOR={type:3,value:"CIRCULATOR"},Ci.ENDSUCTION={type:3,value:"ENDSUCTION"},Ci.SPLITCASE={type:3,value:"SPLITCASE"},Ci.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Ci.SUMPPUMP={type:3,value:"SUMPPUMP"},Ci.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Ci.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"};let au=Ci;t.IfcPumpTypeEnum=au;let Xr=class{};Xr.BLADE={type:3,value:"BLADE"},Xr.CHECKRAIL={type:3,value:"CHECKRAIL"},Xr.GUARDRAIL={type:3,value:"GUARDRAIL"},Xr.RACKRAIL={type:3,value:"RACKRAIL"},Xr.RAIL={type:3,value:"RAIL"},Xr.STOCKRAIL={type:3,value:"STOCKRAIL"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let $u=Xr;t.IfcRailTypeEnum=$u;let fn=class{};fn.BALUSTRADE={type:3,value:"BALUSTRADE"},fn.FENCE={type:3,value:"FENCE"},fn.GUARDRAIL={type:3,value:"GUARDRAIL"},fn.HANDRAIL={type:3,value:"HANDRAIL"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Uh=fn;t.IfcRailingTypeEnum=Uh;let ds=class{};ds.ABOVETRACK={type:3,value:"ABOVETRACK"},ds.DILATIONTRACK={type:3,value:"DILATIONTRACK"},ds.LINESIDE={type:3,value:"LINESIDE"},ds.LINESIDEPART={type:3,value:"LINESIDEPART"},ds.PLAINTRACK={type:3,value:"PLAINTRACK"},ds.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},ds.TRACK={type:3,value:"TRACK"},ds.TRACKPART={type:3,value:"TRACKPART"},ds.TURNOUTTRACK={type:3,value:"TURNOUTTRACK"},ds.USERDEFINED={type:3,value:"USERDEFINED"},ds.NOTDEFINED={type:3,value:"NOTDEFINED"};let ou=ds;t.IfcRailwayPartTypeEnum=ou;let Va=class{};Va.USERDEFINED={type:3,value:"USERDEFINED"},Va.NOTDEFINED={type:3,value:"NOTDEFINED"};let mo=Va;t.IfcRailwayTypeEnum=mo;let Ei=class{};Ei.SPIRAL={type:3,value:"SPIRAL"},Ei.STRAIGHT={type:3,value:"STRAIGHT"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"};let cu=Ei;t.IfcRampFlightTypeEnum=cu;let dr=class{};dr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},dr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},dr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},dr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},dr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},dr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"};let hu=dr;t.IfcRampTypeEnum=hu;let Kr=class{};Kr.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Kr.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Kr.DAILY={type:3,value:"DAILY"},Kr.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Kr.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Kr.WEEKLY={type:3,value:"WEEKLY"},Kr.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Kr.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};let nc=Kr;t.IfcRecurrenceTypeEnum=nc;let vi=class{};vi.BOUNDARY={type:3,value:"BOUNDARY"},vi.INTERSECTION={type:3,value:"INTERSECTION"},vi.KILOPOINT={type:3,value:"KILOPOINT"},vi.LANDMARK={type:3,value:"LANDMARK"},vi.MILEPOINT={type:3,value:"MILEPOINT"},vi.POSITION={type:3,value:"POSITION"},vi.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},vi.STATION={type:3,value:"STATION"},vi.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},vi.WIDTHEVENT={type:3,value:"WIDTHEVENT"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fl=vi;t.IfcReferentTypeEnum=Fl;let Pr=class{};Pr.BLINN={type:3,value:"BLINN"},Pr.FLAT={type:3,value:"FLAT"},Pr.GLASS={type:3,value:"GLASS"},Pr.MATT={type:3,value:"MATT"},Pr.METAL={type:3,value:"METAL"},Pr.MIRROR={type:3,value:"MIRROR"},Pr.PHONG={type:3,value:"PHONG"},Pr.PHYSICAL={type:3,value:"PHYSICAL"},Pr.PLASTIC={type:3,value:"PLASTIC"},Pr.STRAUSS={type:3,value:"STRAUSS"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"};let eE=Pr;t.IfcReflectanceMethodEnum=eE;let Nr=class{};Nr.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Nr.GROUTED={type:3,value:"GROUTED"},Nr.REPLACED={type:3,value:"REPLACED"},Nr.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Nr.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Nr.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"};let lu=Nr;t.IfcReinforcedSoilTypeEnum=lu;let Rr=class{};Rr.ANCHORING={type:3,value:"ANCHORING"},Rr.EDGE={type:3,value:"EDGE"},Rr.LIGATURE={type:3,value:"LIGATURE"},Rr.MAIN={type:3,value:"MAIN"},Rr.PUNCHING={type:3,value:"PUNCHING"},Rr.RING={type:3,value:"RING"},Rr.SHEAR={type:3,value:"SHEAR"},Rr.STUD={type:3,value:"STUD"},Rr.USERDEFINED={type:3,value:"USERDEFINED"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"};let pu=Rr;t.IfcReinforcingBarRoleEnum=pu;let on=class{};on.PLAIN={type:3,value:"PLAIN"},on.TEXTURED={type:3,value:"TEXTURED"};let uu=on;t.IfcReinforcingBarSurfaceEnum=uu;let Zr=class{};Zr.ANCHORING={type:3,value:"ANCHORING"},Zr.EDGE={type:3,value:"EDGE"},Zr.LIGATURE={type:3,value:"LIGATURE"},Zr.MAIN={type:3,value:"MAIN"},Zr.PUNCHING={type:3,value:"PUNCHING"},Zr.RING={type:3,value:"RING"},Zr.SHEAR={type:3,value:"SHEAR"},Zr.SPACEBAR={type:3,value:"SPACEBAR"},Zr.STUD={type:3,value:"STUD"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"};let wh=Zr;t.IfcReinforcingBarTypeEnum=wh;let On=class{};On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"};let Eu=On;t.IfcReinforcingMeshTypeEnum=Eu;let _t=class{};_t.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},_t.BUS_STOP={type:3,value:"BUS_STOP"},_t.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},_t.CENTRALISLAND={type:3,value:"CENTRALISLAND"},_t.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},_t.HARDSHOULDER={type:3,value:"HARDSHOULDER"},_t.INTERSECTION={type:3,value:"INTERSECTION"},_t.LAYBY={type:3,value:"LAYBY"},_t.PARKINGBAY={type:3,value:"PARKINGBAY"},_t.PASSINGBAY={type:3,value:"PASSINGBAY"},_t.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},_t.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},_t.REFUGEISLAND={type:3,value:"REFUGEISLAND"},_t.ROADSEGMENT={type:3,value:"ROADSEGMENT"},_t.ROADSIDE={type:3,value:"ROADSIDE"},_t.ROADSIDEPART={type:3,value:"ROADSIDEPART"},_t.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},_t.ROUNDABOUT={type:3,value:"ROUNDABOUT"},_t.SHOULDER={type:3,value:"SHOULDER"},_t.SIDEWALK={type:3,value:"SIDEWALK"},_t.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},_t.TOLLPLAZA={type:3,value:"TOLLPLAZA"},_t.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},_t.TRAFFICLANE={type:3,value:"TRAFFICLANE"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"};let Iu=_t;t.IfcRoadPartTypeEnum=Iu;let xr=class{};xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gc=xr;t.IfcRoadTypeEnum=Gc;let rs=class{};rs.ARCHITECT={type:3,value:"ARCHITECT"},rs.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},rs.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},rs.CIVILENGINEER={type:3,value:"CIVILENGINEER"},rs.CLIENT={type:3,value:"CLIENT"},rs.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},rs.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},rs.CONSULTANT={type:3,value:"CONSULTANT"},rs.CONTRACTOR={type:3,value:"CONTRACTOR"},rs.COSTENGINEER={type:3,value:"COSTENGINEER"},rs.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},rs.ENGINEER={type:3,value:"ENGINEER"},rs.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},rs.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},rs.MANUFACTURER={type:3,value:"MANUFACTURER"},rs.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},rs.OWNER={type:3,value:"OWNER"},rs.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},rs.RESELLER={type:3,value:"RESELLER"},rs.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},rs.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},rs.SUPPLIER={type:3,value:"SUPPLIER"},rs.USERDEFINED={type:3,value:"USERDEFINED"};let tE=rs;t.IfcRoleEnum=tE;let Ii=class{};Ii.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ii.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ii.DOME_ROOF={type:3,value:"DOME_ROOF"},Ii.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ii.FREEFORM={type:3,value:"FREEFORM"},Ii.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ii.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ii.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ii.HIP_ROOF={type:3,value:"HIP_ROOF"},Ii.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ii.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ii.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ii.SHED_ROOF={type:3,value:"SHED_ROOF"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ul=Ii;t.IfcRoofTypeEnum=Ul;let yi=class{};yi.ATTO={type:3,value:"ATTO"},yi.CENTI={type:3,value:"CENTI"},yi.DECA={type:3,value:"DECA"},yi.DECI={type:3,value:"DECI"},yi.EXA={type:3,value:"EXA"},yi.FEMTO={type:3,value:"FEMTO"},yi.GIGA={type:3,value:"GIGA"},yi.HECTO={type:3,value:"HECTO"},yi.KILO={type:3,value:"KILO"},yi.MEGA={type:3,value:"MEGA"},yi.MICRO={type:3,value:"MICRO"},yi.MILLI={type:3,value:"MILLI"},yi.NANO={type:3,value:"NANO"},yi.PETA={type:3,value:"PETA"},yi.PICO={type:3,value:"PICO"},yi.TERA={type:3,value:"TERA"};let yu=yi;t.IfcSIPrefix=yu;let ct=class{};ct.AMPERE={type:3,value:"AMPERE"},ct.BECQUEREL={type:3,value:"BECQUEREL"},ct.CANDELA={type:3,value:"CANDELA"},ct.COULOMB={type:3,value:"COULOMB"},ct.CUBIC_METRE={type:3,value:"CUBIC_METRE"},ct.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},ct.FARAD={type:3,value:"FARAD"},ct.GRAM={type:3,value:"GRAM"},ct.GRAY={type:3,value:"GRAY"},ct.HENRY={type:3,value:"HENRY"},ct.HERTZ={type:3,value:"HERTZ"},ct.JOULE={type:3,value:"JOULE"},ct.KELVIN={type:3,value:"KELVIN"},ct.LUMEN={type:3,value:"LUMEN"},ct.LUX={type:3,value:"LUX"},ct.METRE={type:3,value:"METRE"},ct.MOLE={type:3,value:"MOLE"},ct.NEWTON={type:3,value:"NEWTON"},ct.OHM={type:3,value:"OHM"},ct.PASCAL={type:3,value:"PASCAL"},ct.RADIAN={type:3,value:"RADIAN"},ct.SECOND={type:3,value:"SECOND"},ct.SIEMENS={type:3,value:"SIEMENS"},ct.SIEVERT={type:3,value:"SIEVERT"},ct.SQUARE_METRE={type:3,value:"SQUARE_METRE"},ct.STERADIAN={type:3,value:"STERADIAN"},ct.TESLA={type:3,value:"TESLA"},ct.VOLT={type:3,value:"VOLT"},ct.WATT={type:3,value:"WATT"},ct.WEBER={type:3,value:"WEBER"};let sE=ct;t.IfcSIUnitName=sE;let Js=class{};Js.BATH={type:3,value:"BATH"},Js.BIDET={type:3,value:"BIDET"},Js.CISTERN={type:3,value:"CISTERN"},Js.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Js.SHOWER={type:3,value:"SHOWER"},Js.SINK={type:3,value:"SINK"},Js.TOILETPAN={type:3,value:"TOILETPAN"},Js.URINAL={type:3,value:"URINAL"},Js.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Js.WCSEAT={type:3,value:"WCSEAT"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"};let iE=Js;t.IfcSanitaryTerminalTypeEnum=iE;let Do=class{};Do.TAPERED={type:3,value:"TAPERED"},Do.UNIFORM={type:3,value:"UNIFORM"};let rE=Do;t.IfcSectionTypeEnum=rE;let ht=class{};ht.CO2SENSOR={type:3,value:"CO2SENSOR"},ht.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},ht.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},ht.COSENSOR={type:3,value:"COSENSOR"},ht.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},ht.FIRESENSOR={type:3,value:"FIRESENSOR"},ht.FLOWSENSOR={type:3,value:"FLOWSENSOR"},ht.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},ht.FROSTSENSOR={type:3,value:"FROSTSENSOR"},ht.GASSENSOR={type:3,value:"GASSENSOR"},ht.HEATSENSOR={type:3,value:"HEATSENSOR"},ht.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},ht.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},ht.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},ht.LEVELSENSOR={type:3,value:"LEVELSENSOR"},ht.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},ht.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},ht.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},ht.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},ht.PHSENSOR={type:3,value:"PHSENSOR"},ht.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},ht.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},ht.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},ht.RAINSENSOR={type:3,value:"RAINSENSOR"},ht.SMOKESENSOR={type:3,value:"SMOKESENSOR"},ht.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},ht.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},ht.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},ht.TRAINSENSOR={type:3,value:"TRAINSENSOR"},ht.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},ht.WHEELSENSOR={type:3,value:"WHEELSENSOR"},ht.WINDSENSOR={type:3,value:"WINDSENSOR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"};let wl=ht;t.IfcSensorTypeEnum=wl;let Ca=class{};Ca.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ca.FINISH_START={type:3,value:"FINISH_START"},Ca.START_FINISH={type:3,value:"START_FINISH"},Ca.START_START={type:3,value:"START_START"},Ca.USERDEFINED={type:3,value:"USERDEFINED"},Ca.NOTDEFINED={type:3,value:"NOTDEFINED"};let nE=Ca;t.IfcSequenceEnum=nE;let Wa=class{};Wa.AWNING={type:3,value:"AWNING"},Wa.JALOUSIE={type:3,value:"JALOUSIE"},Wa.SHUTTER={type:3,value:"SHUTTER"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"};let aE=Wa;t.IfcShadingDeviceTypeEnum=aE;let Be=class{};Be.MARKER={type:3,value:"MARKER"},Be.MIRROR={type:3,value:"MIRROR"},Be.PICTORAL={type:3,value:"PICTORAL"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"};let oE=Be;t.IfcSignTypeEnum=oE;let _r=class{};_r.AUDIO={type:3,value:"AUDIO"},_r.MIXED={type:3,value:"MIXED"},_r.VISUAL={type:3,value:"VISUAL"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"};let Gh=_r;t.IfcSignalTypeEnum=Gh;let bi=class{};bi.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},bi.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},bi.P_LISTVALUE={type:3,value:"P_LISTVALUE"},bi.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},bi.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},bi.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},bi.Q_AREA={type:3,value:"Q_AREA"},bi.Q_COUNT={type:3,value:"Q_COUNT"},bi.Q_LENGTH={type:3,value:"Q_LENGTH"},bi.Q_NUMBER={type:3,value:"Q_NUMBER"},bi.Q_TIME={type:3,value:"Q_TIME"},bi.Q_VOLUME={type:3,value:"Q_VOLUME"},bi.Q_WEIGHT={type:3,value:"Q_WEIGHT"};let Gl=bi;t.IfcSimplePropertyTemplateTypeEnum=Gl;let Ct=class{};Ct.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},Ct.BASESLAB={type:3,value:"BASESLAB"},Ct.FLOOR={type:3,value:"FLOOR"},Ct.LANDING={type:3,value:"LANDING"},Ct.PAVING={type:3,value:"PAVING"},Ct.ROOF={type:3,value:"ROOF"},Ct.SIDEWALK={type:3,value:"SIDEWALK"},Ct.TRACKSLAB={type:3,value:"TRACKSLAB"},Ct.WEARING={type:3,value:"WEARING"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"};let cE=Ct;t.IfcSlabTypeEnum=cE;let Vi=class{};Vi.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Vi.SOLARPANEL={type:3,value:"SOLARPANEL"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hl=Vi;t.IfcSolarDeviceTypeEnum=Hl;let Gn=class{};Gn.CONVECTOR={type:3,value:"CONVECTOR"},Gn.RADIATOR={type:3,value:"RADIATOR"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bl=Gn;t.IfcSpaceHeaterTypeEnum=Bl;let Wi=class{};Wi.BERTH={type:3,value:"BERTH"},Wi.EXTERNAL={type:3,value:"EXTERNAL"},Wi.GFA={type:3,value:"GFA"},Wi.INTERNAL={type:3,value:"INTERNAL"},Wi.PARKING={type:3,value:"PARKING"},Wi.SPACE={type:3,value:"SPACE"},Wi.USERDEFINED={type:3,value:"USERDEFINED"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"};let hE=Wi;t.IfcSpaceTypeEnum=hE;let Ti=class{};Ti.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ti.FIRESAFETY={type:3,value:"FIRESAFETY"},Ti.INTERFERENCE={type:3,value:"INTERFERENCE"},Ti.LIGHTING={type:3,value:"LIGHTING"},Ti.OCCUPANCY={type:3,value:"OCCUPANCY"},Ti.RESERVATION={type:3,value:"RESERVATION"},Ti.SECURITY={type:3,value:"SECURITY"},Ti.THERMAL={type:3,value:"THERMAL"},Ti.TRANSPORT={type:3,value:"TRANSPORT"},Ti.VENTILATION={type:3,value:"VENTILATION"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"};let mn=Ti;t.IfcSpatialZoneTypeEnum=mn;let Li=class{};Li.BIRDCAGE={type:3,value:"BIRDCAGE"},Li.COWL={type:3,value:"COWL"},Li.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hc=Li;t.IfcStackTerminalTypeEnum=Hc;let Mr=class{};Mr.CURVED={type:3,value:"CURVED"},Mr.FREEFORM={type:3,value:"FREEFORM"},Mr.SPIRAL={type:3,value:"SPIRAL"},Mr.STRAIGHT={type:3,value:"STRAIGHT"},Mr.WINDER={type:3,value:"WINDER"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"};let lE=Mr;t.IfcStairFlightTypeEnum=lE;let _s=class{};_s.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},_s.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},_s.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},_s.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},_s.LADDER={type:3,value:"LADDER"},_s.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},_s.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},_s.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},_s.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},_s.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},_s.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},_s.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},_s.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},_s.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},_s.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},_s.USERDEFINED={type:3,value:"USERDEFINED"},_s.NOTDEFINED={type:3,value:"NOTDEFINED"};let pE=_s;t.IfcStairTypeEnum=pE;let er=class{};er.LOCKED={type:3,value:"LOCKED"},er.READONLY={type:3,value:"READONLY"},er.READONLYLOCKED={type:3,value:"READONLYLOCKED"},er.READWRITE={type:3,value:"READWRITE"},er.READWRITELOCKED={type:3,value:"READWRITELOCKED"};let Vl=er;t.IfcStateEnum=Vl;let qr=class{};qr.CONST={type:3,value:"CONST"},qr.DISCRETE={type:3,value:"DISCRETE"},qr.EQUIDISTANT={type:3,value:"EQUIDISTANT"},qr.LINEAR={type:3,value:"LINEAR"},qr.PARABOLA={type:3,value:"PARABOLA"},qr.POLYGONAL={type:3,value:"POLYGONAL"},qr.SINUS={type:3,value:"SINUS"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"};let uE=qr;t.IfcStructuralCurveActivityTypeEnum=uE;let tr=class{};tr.CABLE={type:3,value:"CABLE"},tr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},tr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},tr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},tr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"};let EE=tr;t.IfcStructuralCurveMemberTypeEnum=EE;let Dn=class{};Dn.BILINEAR={type:3,value:"BILINEAR"},Dn.CONST={type:3,value:"CONST"},Dn.DISCRETE={type:3,value:"DISCRETE"},Dn.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Tu=Dn;t.IfcStructuralSurfaceActivityTypeEnum=Tu;let la=class{};la.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},la.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},la.SHELL={type:3,value:"SHELL"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"};let du=la;t.IfcStructuralSurfaceMemberTypeEnum=du;let pa=class{};pa.PURCHASE={type:3,value:"PURCHASE"},pa.WORK={type:3,value:"WORK"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"};let IE=pa;t.IfcSubContractResourceTypeEnum=IE;let Qr=class{};Qr.DEFECT={type:3,value:"DEFECT"},Qr.HATCHMARKING={type:3,value:"HATCHMARKING"},Qr.LINEMARKING={type:3,value:"LINEMARKING"},Qr.MARK={type:3,value:"MARK"},Qr.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Qr.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Qr.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Qr.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Qr.TAG={type:3,value:"TAG"},Qr.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Qr.TREATMENT={type:3,value:"TREATMENT"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Nu=Qr;t.IfcSurfaceFeatureTypeEnum=Nu;let ua=class{};ua.BOTH={type:3,value:"BOTH"},ua.NEGATIVE={type:3,value:"NEGATIVE"},ua.POSITIVE={type:3,value:"POSITIVE"};let ac=ua;t.IfcSurfaceSide=ac;let sr=class{};sr.CONTACTOR={type:3,value:"CONTACTOR"},sr.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},sr.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},sr.KEYPAD={type:3,value:"KEYPAD"},sr.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},sr.RELAY={type:3,value:"RELAY"},sr.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},sr.STARTER={type:3,value:"STARTER"},sr.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},sr.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},sr.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ao=sr;t.IfcSwitchingDeviceTypeEnum=Ao;let ro=class{};ro.PANEL={type:3,value:"PANEL"},ro.SUBRACK={type:3,value:"SUBRACK"},ro.WORKSURFACE={type:3,value:"WORKSURFACE"},ro.USERDEFINED={type:3,value:"USERDEFINED"},ro.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ru=ro;t.IfcSystemFurnitureElementTypeEnum=Ru;let Hn=class{};Hn.BASIN={type:3,value:"BASIN"},Hn.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Hn.EXPANSION={type:3,value:"EXPANSION"},Hn.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Hn.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Hn.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Hn.STORAGE={type:3,value:"STORAGE"},Hn.VESSEL={type:3,value:"VESSEL"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Hh=Hn;t.IfcTankTypeEnum=Hh;let Ea=class{};Ea.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Ea.WORKTIME={type:3,value:"WORKTIME"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"};let An=Ea;t.IfcTaskDurationEnum=An;let Ms=class{};Ms.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Ms.ATTENDANCE={type:3,value:"ATTENDANCE"},Ms.CALIBRATION={type:3,value:"CALIBRATION"},Ms.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ms.DEMOLITION={type:3,value:"DEMOLITION"},Ms.DISMANTLE={type:3,value:"DISMANTLE"},Ms.DISPOSAL={type:3,value:"DISPOSAL"},Ms.EMERGENCY={type:3,value:"EMERGENCY"},Ms.INSPECTION={type:3,value:"INSPECTION"},Ms.INSTALLATION={type:3,value:"INSTALLATION"},Ms.LOGISTIC={type:3,value:"LOGISTIC"},Ms.MAINTENANCE={type:3,value:"MAINTENANCE"},Ms.MOVE={type:3,value:"MOVE"},Ms.OPERATION={type:3,value:"OPERATION"},Ms.REMOVAL={type:3,value:"REMOVAL"},Ms.RENOVATION={type:3,value:"RENOVATION"},Ms.SAFETY={type:3,value:"SAFETY"},Ms.SHUTDOWN={type:3,value:"SHUTDOWN"},Ms.STARTUP={type:3,value:"STARTUP"},Ms.TESTING={type:3,value:"TESTING"},Ms.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"};let ja=Ms;t.IfcTaskTypeEnum=ja;let Bn=class{};Bn.COUPLER={type:3,value:"COUPLER"},Bn.FIXED_END={type:3,value:"FIXED_END"},Bn.TENSIONING_END={type:3,value:"TENSIONING_END"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Bh=Bn;t.IfcTendonAnchorTypeEnum=Bh;let kn=class{};kn.COUPLER={type:3,value:"COUPLER"},kn.DIABOLO={type:3,value:"DIABOLO"},kn.DUCT={type:3,value:"DUCT"},kn.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},kn.TRUMPET={type:3,value:"TRUMPET"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"};let va=kn;t.IfcTendonConduitTypeEnum=va;let Qt=class{};Qt.BAR={type:3,value:"BAR"},Qt.COATED={type:3,value:"COATED"},Qt.STRAND={type:3,value:"STRAND"},Qt.WIRE={type:3,value:"WIRE"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"};let ir=Qt;t.IfcTendonTypeEnum=ir;let oc=class{};oc.DOWN={type:3,value:"DOWN"},oc.LEFT={type:3,value:"LEFT"},oc.RIGHT={type:3,value:"RIGHT"},oc.UP={type:3,value:"UP"};let cc=oc;t.IfcTextPath=cc;let Ia=class{};Ia.CONTINUOUS={type:3,value:"CONTINUOUS"},Ia.DISCRETE={type:3,value:"DISCRETE"},Ia.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Ia.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Ia.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Ia.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"};let hc=Ia;t.IfcTimeSeriesDataTypeEnum=hc;let cn=class{};cn.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},cn.DERAILER={type:3,value:"DERAILER"},cn.FROG={type:3,value:"FROG"},cn.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},cn.SLEEPER={type:3,value:"SLEEPER"},cn.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},cn.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},cn.VEHICLESTOP={type:3,value:"VEHICLESTOP"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let lc=cn;t.IfcTrackElementTypeEnum=lc;let ya=class{};ya.CHOPPER={type:3,value:"CHOPPER"},ya.COMBINED={type:3,value:"COMBINED"},ya.CURRENT={type:3,value:"CURRENT"},ya.FREQUENCY={type:3,value:"FREQUENCY"},ya.INVERTER={type:3,value:"INVERTER"},ya.RECTIFIER={type:3,value:"RECTIFIER"},ya.VOLTAGE={type:3,value:"VOLTAGE"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let pc=ya;t.IfcTransformerTypeEnum=pc;let hn=class{};hn.CONTINUOUS={type:3,value:"CONTINUOUS"},hn.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},hn.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},hn.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};let Bc=hn;t.IfcTransitionCode=Bc;let Sn=class{};Sn.CRANEWAY={type:3,value:"CRANEWAY"},Sn.ELEVATOR={type:3,value:"ELEVATOR"},Sn.ESCALATOR={type:3,value:"ESCALATOR"},Sn.HAULINGGEAR={type:3,value:"HAULINGGEAR"},Sn.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Sn.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wl=Sn;t.IfcTransportElementTypeEnum=Wl;let So=class{};So.CARTESIAN={type:3,value:"CARTESIAN"},So.PARAMETER={type:3,value:"PARAMETER"},So.UNSPECIFIED={type:3,value:"UNSPECIFIED"};let jl=So;t.IfcTrimmingPreference=jl;let Ya=class{};Ya.FINNED={type:3,value:"FINNED"},Ya.USERDEFINED={type:3,value:"USERDEFINED"},Ya.NOTDEFINED={type:3,value:"NOTDEFINED"};let Fr=Ya;t.IfcTubeBundleTypeEnum=Fr;let Wt=class{};Wt.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Wt.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Wt.AREAUNIT={type:3,value:"AREAUNIT"},Wt.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Wt.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Wt.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Wt.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Wt.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Wt.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Wt.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Wt.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Wt.FORCEUNIT={type:3,value:"FORCEUNIT"},Wt.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Wt.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Wt.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Wt.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Wt.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Wt.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Wt.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Wt.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Wt.MASSUNIT={type:3,value:"MASSUNIT"},Wt.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Wt.POWERUNIT={type:3,value:"POWERUNIT"},Wt.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Wt.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Wt.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Wt.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Wt.TIMEUNIT={type:3,value:"TIMEUNIT"},Wt.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Wt.USERDEFINED={type:3,value:"USERDEFINED"};let Yl=Wt;t.IfcUnitEnum=Yl;let gi=class{};gi.ALARMPANEL={type:3,value:"ALARMPANEL"},gi.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},gi.COMBINED={type:3,value:"COMBINED"},gi.CONTROLPANEL={type:3,value:"CONTROLPANEL"},gi.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},gi.HUMIDISTAT={type:3,value:"HUMIDISTAT"},gi.INDICATORPANEL={type:3,value:"INDICATORPANEL"},gi.MIMICPANEL={type:3,value:"MIMICPANEL"},gi.THERMOSTAT={type:3,value:"THERMOSTAT"},gi.WEATHERSTATION={type:3,value:"WEATHERSTATION"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"};let Jr=gi;t.IfcUnitaryControlElementTypeEnum=Jr;let Cn=class{};Cn.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Cn.AIRHANDLER={type:3,value:"AIRHANDLER"},Cn.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},Cn.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Cn.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vh=Cn;t.IfcUnitaryEquipmentTypeEnum=Vh;let mt=class{};mt.AIRRELEASE={type:3,value:"AIRRELEASE"},mt.ANTIVACUUM={type:3,value:"ANTIVACUUM"},mt.CHANGEOVER={type:3,value:"CHANGEOVER"},mt.CHECK={type:3,value:"CHECK"},mt.COMMISSIONING={type:3,value:"COMMISSIONING"},mt.DIVERTING={type:3,value:"DIVERTING"},mt.DOUBLECHECK={type:3,value:"DOUBLECHECK"},mt.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},mt.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},mt.FAUCET={type:3,value:"FAUCET"},mt.FLUSHING={type:3,value:"FLUSHING"},mt.GASCOCK={type:3,value:"GASCOCK"},mt.GASTAP={type:3,value:"GASTAP"},mt.ISOLATING={type:3,value:"ISOLATING"},mt.MIXING={type:3,value:"MIXING"},mt.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},mt.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},mt.REGULATING={type:3,value:"REGULATING"},mt.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},mt.STEAMTRAP={type:3,value:"STEAMTRAP"},mt.STOPCOCK={type:3,value:"STOPCOCK"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Ta=mt;t.IfcValveTypeEnum=Ta;let Xn=class{};Xn.CARGO={type:3,value:"CARGO"},Xn.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Xn.VEHICLE={type:3,value:"VEHICLE"},Xn.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Xn.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Xn.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Xn.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"};let zl=Xn;t.IfcVehicleTypeEnum=zl;let vs=class{};vs.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},vs.BENDING_YIELD={type:3,value:"BENDING_YIELD"},vs.FRICTION={type:3,value:"FRICTION"},vs.RUBBER={type:3,value:"RUBBER"},vs.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},vs.VISCOUS={type:3,value:"VISCOUS"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"};let kl=vs;t.IfcVibrationDamperTypeEnum=kl;let Co=class{};Co.BASE={type:3,value:"BASE"},Co.COMPRESSION={type:3,value:"COMPRESSION"},Co.SPRING={type:3,value:"SPRING"},Co.USERDEFINED={type:3,value:"USERDEFINED"},Co.NOTDEFINED={type:3,value:"NOTDEFINED"};let Xl=Co;t.IfcVibrationIsolatorTypeEnum=Xl;let za=class{};za.BOUNDARY={type:3,value:"BOUNDARY"},za.CLEARANCE={type:3,value:"CLEARANCE"},za.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wh=za;t.IfcVirtualElementTypeEnum=Wh;let $r=class{};$r.CHAMFER={type:3,value:"CHAMFER"},$r.CUTOUT={type:3,value:"CUTOUT"},$r.EDGE={type:3,value:"EDGE"},$r.HOLE={type:3,value:"HOLE"},$r.MITER={type:3,value:"MITER"},$r.NOTCH={type:3,value:"NOTCH"},$r.USERDEFINED={type:3,value:"USERDEFINED"},$r.NOTDEFINED={type:3,value:"NOTDEFINED"};let Vc=$r;t.IfcVoidingFeatureTypeEnum=Vc;let Ur=class{};Ur.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Ur.MOVABLE={type:3,value:"MOVABLE"},Ur.PARAPET={type:3,value:"PARAPET"},Ur.PARTITIONING={type:3,value:"PARTITIONING"},Ur.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Ur.POLYGONAL={type:3,value:"POLYGONAL"},Ur.RETAININGWALL={type:3,value:"RETAININGWALL"},Ur.SHEAR={type:3,value:"SHEAR"},Ur.SOLIDWALL={type:3,value:"SOLIDWALL"},Ur.STANDARD={type:3,value:"STANDARD"},Ur.WAVEWALL={type:3,value:"WAVEWALL"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"};let Wc=Ur;t.IfcWallTypeEnum=Wc;let vt=class{};vt.FLOORTRAP={type:3,value:"FLOORTRAP"},vt.FLOORWASTE={type:3,value:"FLOORWASTE"},vt.GULLYSUMP={type:3,value:"GULLYSUMP"},vt.GULLYTRAP={type:3,value:"GULLYTRAP"},vt.ROOFDRAIN={type:3,value:"ROOFDRAIN"},vt.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},vt.WASTETRAP={type:3,value:"WASTETRAP"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kn=vt;t.IfcWasteTerminalTypeEnum=Kn;let fr=class{};fr.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},fr.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},fr.OTHEROPERATION={type:3,value:"OTHEROPERATION"},fr.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},fr.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},fr.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},fr.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},fr.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},fr.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},fr.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},fr.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},fr.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},fr.TOPHUNG={type:3,value:"TOPHUNG"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"};let no=fr;t.IfcWindowPanelOperationEnum=no;let da=class{};da.BOTTOM={type:3,value:"BOTTOM"},da.LEFT={type:3,value:"LEFT"},da.MIDDLE={type:3,value:"MIDDLE"},da.RIGHT={type:3,value:"RIGHT"},da.TOP={type:3,value:"TOP"},da.NOTDEFINED={type:3,value:"NOTDEFINED"};let jh=da;t.IfcWindowPanelPositionEnum=jh;let Na=class{};Na.LIGHTDOME={type:3,value:"LIGHTDOME"},Na.SKYLIGHT={type:3,value:"SKYLIGHT"},Na.WINDOW={type:3,value:"WINDOW"},Na.USERDEFINED={type:3,value:"USERDEFINED"},Na.NOTDEFINED={type:3,value:"NOTDEFINED"};let fu=Na;t.IfcWindowTypeEnum=fu;let ln=class{};ln.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ln.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ln.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ln.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ln.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ln.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ln.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ln.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ln.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zn=ln;t.IfcWindowTypePartitioningEnum=Zn;let ba=class{};ba.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},ba.SECONDSHIFT={type:3,value:"SECONDSHIFT"},ba.THIRDSHIFT={type:3,value:"THIRDSHIFT"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"};let Kl=ba;t.IfcWorkCalendarTypeEnum=Kl;let ka=class{};ka.ACTUAL={type:3,value:"ACTUAL"},ka.BASELINE={type:3,value:"BASELINE"},ka.PLANNED={type:3,value:"PLANNED"},ka.USERDEFINED={type:3,value:"USERDEFINED"},ka.NOTDEFINED={type:3,value:"NOTDEFINED"};let Yh=ka;t.IfcWorkPlanTypeEnum=Yh;let Ns=class{};Ns.ACTUAL={type:3,value:"ACTUAL"},Ns.BASELINE={type:3,value:"BASELINE"},Ns.PLANNED={type:3,value:"PLANNED"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"};let Zl=Ns;t.IfcWorkScheduleTypeEnum=Zl,t.IfcActorRole=class extends ae{constructor(a,n,c){super(),this.Role=a,this.UserDefinedRole=n,this.Description=c,this.type=3630933823}};class jc extends ae{constructor(n,c,l){super(),this.Purpose=n,this.Description=c,this.UserDefinedPurpose=l,this.type=618182010}}t.IfcAddress=jc;class La extends ae{constructor(n,c){super(),this.StartTag=n,this.EndTag=c,this.type=2879124712}}t.IfcAlignmentParameterSegment=La,t.IfcAlignmentVerticalSegment=class extends La{constructor(a,n,c,l,E,d,m,A,g){super(a,n),this.StartTag=a,this.EndTag=n,this.StartDistAlong=c,this.HorizontalLength=l,this.StartHeight=E,this.StartGradient=d,this.EndGradient=m,this.RadiusOfCurvature=A,this.PredefinedType=g,this.type=3633395639}},t.IfcApplication=class extends ae{constructor(a,n,c,l){super(),this.ApplicationDeveloper=a,this.Version=n,this.ApplicationFullName=c,this.ApplicationIdentifier=l,this.type=639542469}};class uc extends ae{constructor(n,c,l,E,d,m,A,g,V,pe){super(),this.Name=n,this.Description=c,this.AppliedValue=l,this.UnitBasis=E,this.ApplicableDate=d,this.FixedUntilDate=m,this.Category=A,this.Condition=g,this.ArithmeticOperator=V,this.Components=pe,this.type=411424972}}t.IfcAppliedValue=uc,t.IfcApproval=class extends ae{constructor(a,n,c,l,E,d,m,A,g){super(),this.Identifier=a,this.Name=n,this.Description=c,this.TimeOfApproval=l,this.Status=E,this.Level=d,this.Qualifier=m,this.RequestingApproval=A,this.GivingApproval=g,this.type=130549933}};class vn extends ae{constructor(n){super(),this.Name=n,this.type=4037036970}}t.IfcBoundaryCondition=vn,t.IfcBoundaryEdgeCondition=class extends vn{constructor(a,n,c,l,E,d,m){super(a),this.Name=a,this.TranslationalStiffnessByLengthX=n,this.TranslationalStiffnessByLengthY=c,this.TranslationalStiffnessByLengthZ=l,this.RotationalStiffnessByLengthX=E,this.RotationalStiffnessByLengthY=d,this.RotationalStiffnessByLengthZ=m,this.type=1560379544}},t.IfcBoundaryFaceCondition=class extends vn{constructor(a,n,c,l){super(a),this.Name=a,this.TranslationalStiffnessByAreaX=n,this.TranslationalStiffnessByAreaY=c,this.TranslationalStiffnessByAreaZ=l,this.type=3367102660}};class zh extends vn{constructor(n,c,l,E,d,m,A){super(n),this.Name=n,this.TranslationalStiffnessX=c,this.TranslationalStiffnessY=l,this.TranslationalStiffnessZ=E,this.RotationalStiffnessX=d,this.RotationalStiffnessY=m,this.RotationalStiffnessZ=A,this.type=1387855156}}t.IfcBoundaryNodeCondition=zh,t.IfcBoundaryNodeConditionWarping=class extends zh{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.Name=a,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=c,this.TranslationalStiffnessZ=l,this.RotationalStiffnessX=E,this.RotationalStiffnessY=d,this.RotationalStiffnessZ=m,this.WarpingStiffness=A,this.type=2069777674}};class vo extends ae{constructor(){super(),this.type=2859738748}}t.IfcConnectionGeometry=vo;class Ra extends vo{constructor(n,c){super(),this.PointOnRelatingElement=n,this.PointOnRelatedElement=c,this.type=2614616156}}t.IfcConnectionPointGeometry=Ra,t.IfcConnectionSurfaceGeometry=class extends vo{constructor(a,n){super(),this.SurfaceOnRelatingElement=a,this.SurfaceOnRelatedElement=n,this.type=2732653382}},t.IfcConnectionVolumeGeometry=class extends vo{constructor(a,n){super(),this.VolumeOnRelatingElement=a,this.VolumeOnRelatedElement=n,this.type=775493141}};class Xa extends ae{constructor(n,c,l,E,d,m,A){super(),this.Name=n,this.Description=c,this.ConstraintGrade=l,this.ConstraintSource=E,this.CreatingActor=d,this.CreationTime=m,this.UserDefinedGrade=A,this.type=1959218052}}t.IfcConstraint=Xa;class N extends ae{constructor(n,c){super(),this.SourceCRS=n,this.TargetCRS=c,this.type=1785450214}}t.IfcCoordinateOperation=N;class T extends ae{constructor(n,c,l){super(),this.Name=n,this.Description=c,this.GeodeticDatum=l,this.type=1466758467}}t.IfcCoordinateReferenceSystem=T,t.IfcCostValue=class extends uc{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g,V),this.Name=a,this.Description=n,this.AppliedValue=c,this.UnitBasis=l,this.ApplicableDate=E,this.FixedUntilDate=d,this.Category=m,this.Condition=A,this.ArithmeticOperator=g,this.Components=V,this.type=602808272}},t.IfcDerivedUnit=class extends ae{constructor(a,n,c,l){super(),this.Elements=a,this.UnitType=n,this.UserDefinedType=c,this.Name=l,this.type=1765591967}},t.IfcDerivedUnitElement=class extends ae{constructor(a,n){super(),this.Unit=a,this.Exponent=n,this.type=1045800335}},t.IfcDimensionalExponents=class extends ae{constructor(a,n,c,l,E,d,m){super(),this.LengthExponent=a,this.MassExponent=n,this.TimeExponent=c,this.ElectricCurrentExponent=l,this.ThermodynamicTemperatureExponent=E,this.AmountOfSubstanceExponent=d,this.LuminousIntensityExponent=m,this.type=2949456006}};class O extends ae{constructor(){super(),this.type=4294318154}}t.IfcExternalInformation=O;class S extends ae{constructor(n,c,l){super(),this.Location=n,this.Identification=c,this.Name=l,this.type=3200245327}}t.IfcExternalReference=S,t.IfcExternallyDefinedHatchStyle=class extends S{constructor(a,n,c){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.type=2242383968}},t.IfcExternallyDefinedSurfaceStyle=class extends S{constructor(a,n,c){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.type=1040185647}},t.IfcExternallyDefinedTextFont=class extends S{constructor(a,n,c){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.type=3548104201}},t.IfcGeographicCRS=class extends T{constructor(a,n,c,l,E,d){super(a,n,c),this.Name=a,this.Description=n,this.GeodeticDatum=c,this.PrimeMeridian=l,this.AngleUnit=E,this.HeightUnit=d,this.type=917726184}},t.IfcGridAxis=class extends ae{constructor(a,n,c){super(),this.AxisTag=a,this.AxisCurve=n,this.SameSense=c,this.type=852622518}},t.IfcIrregularTimeSeriesValue=class extends ae{constructor(a,n){super(),this.TimeStamp=a,this.ListValues=n,this.type=3020489413}},t.IfcLibraryInformation=class extends O{constructor(a,n,c,l,E,d){super(),this.Name=a,this.Version=n,this.Publisher=c,this.VersionDate=l,this.Location=E,this.Description=d,this.type=2655187982}},t.IfcLibraryReference=class extends S{constructor(a,n,c,l,E,d){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.Description=l,this.Language=E,this.ReferencedLibrary=d,this.type=3452421091}},t.IfcLightDistributionData=class extends ae{constructor(a,n,c){super(),this.MainPlaneAngle=a,this.SecondaryPlaneAngle=n,this.LuminousIntensity=c,this.type=4162380809}},t.IfcLightIntensityDistribution=class extends ae{constructor(a,n){super(),this.LightDistributionCurve=a,this.DistributionData=n,this.type=1566485204}};class L extends N{constructor(n,c,l,E,d,m,A,g){super(n,c),this.SourceCRS=n,this.TargetCRS=c,this.Eastings=l,this.Northings=E,this.OrthogonalHeight=d,this.XAxisAbscissa=m,this.XAxisOrdinate=A,this.Scale=g,this.type=3057273783}}t.IfcMapConversion=L,t.IfcMapConversionScaled=class extends L{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A),this.SourceCRS=a,this.TargetCRS=n,this.Eastings=c,this.Northings=l,this.OrthogonalHeight=E,this.XAxisAbscissa=d,this.XAxisOrdinate=m,this.Scale=A,this.FactorX=g,this.FactorY=V,this.FactorZ=pe,this.type=4105526436}},t.IfcMaterialClassificationRelationship=class extends ae{constructor(a,n){super(),this.MaterialClassifications=a,this.ClassifiedMaterial=n,this.type=1847130766}};class x extends ae{constructor(){super(),this.type=760658860}}t.IfcMaterialDefinition=x;class F extends x{constructor(n,c,l,E,d,m,A){super(),this.Material=n,this.LayerThickness=c,this.IsVentilated=l,this.Name=E,this.Description=d,this.Category=m,this.Priority=A,this.type=248100487}}t.IfcMaterialLayer=F,t.IfcMaterialLayerSet=class extends x{constructor(a,n,c){super(),this.MaterialLayers=a,this.LayerSetName=n,this.Description=c,this.type=3303938423}},t.IfcMaterialLayerWithOffsets=class extends F{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m),this.Material=a,this.LayerThickness=n,this.IsVentilated=c,this.Name=l,this.Description=E,this.Category=d,this.Priority=m,this.OffsetDirection=A,this.OffsetValues=g,this.type=1847252529}},t.IfcMaterialList=class extends ae{constructor(a){super(),this.Materials=a,this.type=2199411900}};class U extends x{constructor(n,c,l,E,d,m){super(),this.Name=n,this.Description=c,this.Material=l,this.Profile=E,this.Priority=d,this.Category=m,this.type=2235152071}}t.IfcMaterialProfile=U,t.IfcMaterialProfileSet=class extends x{constructor(a,n,c,l){super(),this.Name=a,this.Description=n,this.MaterialProfiles=c,this.CompositeProfile=l,this.type=164193824}},t.IfcMaterialProfileWithOffsets=class extends U{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d),this.Name=a,this.Description=n,this.Material=c,this.Profile=l,this.Priority=E,this.Category=d,this.OffsetValues=m,this.type=552965576}};class B extends ae{constructor(){super(),this.type=1507914824}}t.IfcMaterialUsageDefinition=B,t.IfcMeasureWithUnit=class extends ae{constructor(a,n){super(),this.ValueComponent=a,this.UnitComponent=n,this.type=2597039031}},t.IfcMetric=class extends Xa{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m),this.Name=a,this.Description=n,this.ConstraintGrade=c,this.ConstraintSource=l,this.CreatingActor=E,this.CreationTime=d,this.UserDefinedGrade=m,this.Benchmark=A,this.ValueSource=g,this.DataValue=V,this.ReferencePath=pe,this.type=3368373690}},t.IfcMonetaryUnit=class extends ae{constructor(a){super(),this.Currency=a,this.type=2706619895}};class Z extends ae{constructor(n,c){super(),this.Dimensions=n,this.UnitType=c,this.type=1918398963}}t.IfcNamedUnit=Z;class de extends ae{constructor(n){super(),this.PlacementRelTo=n,this.type=3701648758}}t.IfcObjectPlacement=de,t.IfcObjective=class extends Xa{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m),this.Name=a,this.Description=n,this.ConstraintGrade=c,this.ConstraintSource=l,this.CreatingActor=E,this.CreationTime=d,this.UserDefinedGrade=m,this.BenchmarkValues=A,this.LogicalAggregator=g,this.ObjectiveQualifier=V,this.UserDefinedQualifier=pe,this.type=2251480897}},t.IfcOrganization=class extends ae{constructor(a,n,c,l,E){super(),this.Identification=a,this.Name=n,this.Description=c,this.Roles=l,this.Addresses=E,this.type=4251960020}},t.IfcOwnerHistory=class extends ae{constructor(a,n,c,l,E,d,m,A){super(),this.OwningUser=a,this.OwningApplication=n,this.State=c,this.ChangeAction=l,this.LastModifiedDate=E,this.LastModifyingUser=d,this.LastModifyingApplication=m,this.CreationDate=A,this.type=1207048766}},t.IfcPerson=class extends ae{constructor(a,n,c,l,E,d,m,A){super(),this.Identification=a,this.FamilyName=n,this.GivenName=c,this.MiddleNames=l,this.PrefixTitles=E,this.SuffixTitles=d,this.Roles=m,this.Addresses=A,this.type=2077209135}},t.IfcPersonAndOrganization=class extends ae{constructor(a,n,c){super(),this.ThePerson=a,this.TheOrganization=n,this.Roles=c,this.type=101040310}};class ve extends ae{constructor(n,c){super(),this.Name=n,this.Description=c,this.type=2483315170}}t.IfcPhysicalQuantity=ve;class Ve extends ve{constructor(n,c,l){super(n,c),this.Name=n,this.Description=c,this.Unit=l,this.type=2226359599}}t.IfcPhysicalSimpleQuantity=Ve,t.IfcPostalAddress=class extends jc{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c),this.Purpose=a,this.Description=n,this.UserDefinedPurpose=c,this.InternalLocation=l,this.AddressLines=E,this.PostalBox=d,this.Town=m,this.Region=A,this.PostalCode=g,this.Country=V,this.type=3355820592}};class Ze extends ae{constructor(){super(),this.type=677532197}}t.IfcPresentationItem=Ze;class Jt extends ae{constructor(n,c,l,E){super(),this.Name=n,this.Description=c,this.AssignedItems=l,this.Identifier=E,this.type=2022622350}}t.IfcPresentationLayerAssignment=Jt,t.IfcPresentationLayerWithStyle=class extends Jt{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l),this.Name=a,this.Description=n,this.AssignedItems=c,this.Identifier=l,this.LayerOn=E,this.LayerFrozen=d,this.LayerBlocked=m,this.LayerStyles=A,this.type=1304840413}};class Pi extends ae{constructor(n){super(),this.Name=n,this.type=3119450353}}t.IfcPresentationStyle=Pi;class wr extends ae{constructor(n,c,l){super(),this.Name=n,this.Description=c,this.Representations=l,this.type=2095639259}}t.IfcProductRepresentation=wr;class bn extends ae{constructor(n,c){super(),this.ProfileType=n,this.ProfileName=c,this.type=3958567839}}t.IfcProfileDef=bn,t.IfcProjectedCRS=class extends T{constructor(a,n,c,l,E,d,m){super(a,n,c),this.Name=a,this.Description=n,this.GeodeticDatum=c,this.VerticalDatum=l,this.MapProjection=E,this.MapZone=d,this.MapUnit=m,this.type=3843373140}};class qn extends ae{constructor(){super(),this.type=986844984}}t.IfcPropertyAbstraction=qn,t.IfcPropertyEnumeration=class extends qn{constructor(a,n,c){super(),this.Name=a,this.EnumerationValues=n,this.Unit=c,this.type=3710013099}},t.IfcQuantityArea=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.AreaValue=l,this.Formula=E,this.type=2044713172}},t.IfcQuantityCount=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.CountValue=l,this.Formula=E,this.type=2093928680}},t.IfcQuantityLength=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.LengthValue=l,this.Formula=E,this.type=931644368}},t.IfcQuantityNumber=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.NumberValue=l,this.Formula=E,this.type=2691318326}},t.IfcQuantityTime=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.TimeValue=l,this.Formula=E,this.type=3252649465}},t.IfcQuantityVolume=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.VolumeValue=l,this.Formula=E,this.type=2405470396}},t.IfcQuantityWeight=class extends Ve{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.Description=n,this.Unit=c,this.WeightValue=l,this.Formula=E,this.type=825690147}},t.IfcRecurrencePattern=class extends ae{constructor(a,n,c,l,E,d,m,A){super(),this.RecurrenceType=a,this.DayComponent=n,this.WeekdayComponent=c,this.MonthComponent=l,this.Position=E,this.Interval=d,this.Occurrences=m,this.TimePeriods=A,this.type=3915482550}},t.IfcReference=class extends ae{constructor(a,n,c,l,E){super(),this.TypeIdentifier=a,this.AttributeIdentifier=n,this.InstanceName=c,this.ListPositions=l,this.InnerReference=E,this.type=2433181523}};class ao extends ae{constructor(n,c,l,E){super(),this.ContextOfItems=n,this.RepresentationIdentifier=c,this.RepresentationType=l,this.Items=E,this.type=1076942058}}t.IfcRepresentation=ao;class bo extends ae{constructor(n,c){super(),this.ContextIdentifier=n,this.ContextType=c,this.type=3377609919}}t.IfcRepresentationContext=bo;class pn extends ae{constructor(){super(),this.type=3008791417}}t.IfcRepresentationItem=pn,t.IfcRepresentationMap=class extends ae{constructor(a,n){super(),this.MappingOrigin=a,this.MappedRepresentation=n,this.type=1660063152}};class en extends ae{constructor(n,c){super(),this.Name=n,this.Description=c,this.type=2439245199}}t.IfcResourceLevelRelationship=en,t.IfcRigidOperation=class extends N{constructor(a,n,c,l,E){super(a,n),this.SourceCRS=a,this.TargetCRS=n,this.FirstCoordinate=c,this.SecondCoordinate=l,this.Height=E,this.type=1794013214}};class ga extends ae{constructor(n,c,l,E){super(),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=2341007311}}t.IfcRoot=ga,t.IfcSIUnit=class extends Z{constructor(a,n,c){super(new Za(0),a),this.UnitType=a,this.Prefix=n,this.Name=c,this.type=448429030}};class Qn extends ae{constructor(n,c,l){super(),this.Name=n,this.DataOrigin=c,this.UserDefinedDataOrigin=l,this.type=1054537805}}t.IfcSchedulingTime=Qn,t.IfcShapeAspect=class extends ae{constructor(a,n,c,l,E){super(),this.ShapeRepresentations=a,this.Name=n,this.Description=c,this.ProductDefinitional=l,this.PartOfProductDefinitionShape=E,this.type=867548509}};class Pa extends ao{constructor(n,c,l,E){super(n,c,l,E),this.ContextOfItems=n,this.RepresentationIdentifier=c,this.RepresentationType=l,this.Items=E,this.type=3982875396}}t.IfcShapeModel=Pa,t.IfcShapeRepresentation=class extends Pa{constructor(a,n,c,l){super(a,n,c,l),this.ContextOfItems=a,this.RepresentationIdentifier=n,this.RepresentationType=c,this.Items=l,this.type=4240577450}};class Ec extends ae{constructor(n){super(),this.Name=n,this.type=2273995522}}t.IfcStructuralConnectionCondition=Ec;class yE extends ae{constructor(n){super(),this.Name=n,this.type=2162789131}}t.IfcStructuralLoad=yE,t.IfcStructuralLoadConfiguration=class extends yE{constructor(a,n,c){super(a),this.Name=a,this.Values=n,this.Locations=c,this.type=3478079324}};class Ou extends yE{constructor(n){super(n),this.Name=n,this.type=609421318}}t.IfcStructuralLoadOrResult=Ou;class kh extends Ou{constructor(n){super(n),this.Name=n,this.type=2525727697}}t.IfcStructuralLoadStatic=kh,t.IfcStructuralLoadTemperature=class extends kh{constructor(a,n,c,l){super(a),this.Name=a,this.DeltaTConstant=n,this.DeltaTY=c,this.DeltaTZ=l,this.type=3408363356}};class TE extends ao{constructor(n,c,l,E){super(n,c,l,E),this.ContextOfItems=n,this.RepresentationIdentifier=c,this.RepresentationType=l,this.Items=E,this.type=2830218821}}t.IfcStyleModel=TE,t.IfcStyledItem=class extends pn{constructor(a,n,c){super(),this.Item=a,this.Styles=n,this.Name=c,this.type=3958052878}},t.IfcStyledRepresentation=class extends TE{constructor(a,n,c,l){super(a,n,c,l),this.ContextOfItems=a,this.RepresentationIdentifier=n,this.RepresentationType=c,this.Items=l,this.type=3049322572}},t.IfcSurfaceReinforcementArea=class extends Ou{constructor(a,n,c,l){super(a),this.Name=a,this.SurfaceReinforcement1=n,this.SurfaceReinforcement2=c,this.ShearReinforcement=l,this.type=2934153892}},t.IfcSurfaceStyle=class extends Pi{constructor(a,n,c){super(a),this.Name=a,this.Side=n,this.Styles=c,this.type=1300840506}},t.IfcSurfaceStyleLighting=class extends Ze{constructor(a,n,c,l){super(),this.DiffuseTransmissionColour=a,this.DiffuseReflectionColour=n,this.TransmissionColour=c,this.ReflectanceColour=l,this.type=3303107099}},t.IfcSurfaceStyleRefraction=class extends Ze{constructor(a,n){super(),this.RefractionIndex=a,this.DispersionFactor=n,this.type=1607154358}};class Yc extends Ze{constructor(n,c){super(),this.SurfaceColour=n,this.Transparency=c,this.type=846575682}}t.IfcSurfaceStyleShading=Yc,t.IfcSurfaceStyleWithTextures=class extends Ze{constructor(a){super(),this.Textures=a,this.type=1351298697}};class mu extends Ze{constructor(n,c,l,E,d){super(),this.RepeatS=n,this.RepeatT=c,this.Mode=l,this.TextureTransform=E,this.Parameter=d,this.type=626085974}}t.IfcSurfaceTexture=mu,t.IfcTable=class extends ae{constructor(a,n,c){super(),this.Name=a,this.Rows=n,this.Columns=c,this.type=985171141}},t.IfcTableColumn=class extends ae{constructor(a,n,c,l,E){super(),this.Identifier=a,this.Name=n,this.Description=c,this.Unit=l,this.ReferencePath=E,this.type=2043862942}},t.IfcTableRow=class extends ae{constructor(a,n){super(),this.RowCells=a,this.IsHeading=n,this.type=531007025}};class Wy extends Qn{constructor(n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh,GE,HE,uR){super(n,c,l),this.Name=n,this.DataOrigin=c,this.UserDefinedDataOrigin=l,this.DurationType=E,this.ScheduleDuration=d,this.ScheduleStart=m,this.ScheduleFinish=A,this.EarlyStart=g,this.EarlyFinish=V,this.LateStart=pe,this.LateFinish=Ce,this.FreeFloat=Je,this.TotalFloat=as,this.IsCritical=Gr,this.StatusTime=un,this.ActualDuration=ma,this.ActualStart=rh,this.ActualFinish=GE,this.RemainingTime=HE,this.Completion=uR,this.type=1549132990}}t.IfcTaskTime=Wy,t.IfcTaskTimeRecurring=class extends Wy{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh,GE,HE,uR){super(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh,GE,HE),this.Name=a,this.DataOrigin=n,this.UserDefinedDataOrigin=c,this.DurationType=l,this.ScheduleDuration=E,this.ScheduleStart=d,this.ScheduleFinish=m,this.EarlyStart=A,this.EarlyFinish=g,this.LateStart=V,this.LateFinish=pe,this.FreeFloat=Ce,this.TotalFloat=Je,this.IsCritical=as,this.StatusTime=Gr,this.ActualDuration=un,this.ActualStart=ma,this.ActualFinish=rh,this.RemainingTime=GE,this.Completion=HE,this.Recurrence=uR,this.type=2771591690}},t.IfcTelecomAddress=class extends jc{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c),this.Purpose=a,this.Description=n,this.UserDefinedPurpose=c,this.TelephoneNumbers=l,this.FacsimileNumbers=E,this.PagerNumber=d,this.ElectronicMailAddresses=m,this.WWWHomePageURL=A,this.MessagingIDs=g,this.type=912023232}},t.IfcTextStyle=class extends Pi{constructor(a,n,c,l,E){super(a),this.Name=a,this.TextCharacterAppearance=n,this.TextStyle=c,this.TextFontStyle=l,this.ModelOrDraughting=E,this.type=1447204868}},t.IfcTextStyleForDefinedFont=class extends Ze{constructor(a,n){super(),this.Colour=a,this.BackgroundColour=n,this.type=2636378356}},t.IfcTextStyleTextModel=class extends Ze{constructor(a,n,c,l,E,d,m){super(),this.TextIndent=a,this.TextAlign=n,this.TextDecoration=c,this.LetterSpacing=l,this.WordSpacing=E,this.TextTransform=d,this.LineHeight=m,this.type=1640371178}};class Lo extends Ze{constructor(n){super(),this.Maps=n,this.type=280115917}}t.IfcTextureCoordinate=Lo,t.IfcTextureCoordinateGenerator=class extends Lo{constructor(a,n,c){super(a),this.Maps=a,this.Mode=n,this.Parameter=c,this.type=1742049831}};class Du extends ae{constructor(n,c){super(),this.TexCoordIndex=n,this.TexCoordsOf=c,this.type=222769930}}t.IfcTextureCoordinateIndices=Du,t.IfcTextureCoordinateIndicesWithVoids=class extends Du{constructor(a,n,c){super(a,n),this.TexCoordIndex=a,this.TexCoordsOf=n,this.InnerTexCoordIndices=c,this.type=1010789467}},t.IfcTextureMap=class extends Lo{constructor(a,n,c){super(a),this.Maps=a,this.Vertices=n,this.MappedTo=c,this.type=2552916305}},t.IfcTextureVertex=class extends Ze{constructor(a){super(),this.Coordinates=a,this.type=1210645708}},t.IfcTextureVertexList=class extends Ze{constructor(a){super(),this.TexCoordsList=a,this.type=3611470254}},t.IfcTimePeriod=class extends ae{constructor(a,n){super(),this.StartTime=a,this.EndTime=n,this.type=1199560280}};class oo extends ae{constructor(n,c,l,E,d,m,A,g){super(),this.Name=n,this.Description=c,this.StartTime=l,this.EndTime=E,this.TimeSeriesDataType=d,this.DataOrigin=m,this.UserDefinedDataOrigin=A,this.Unit=g,this.type=3101149627}}t.IfcTimeSeries=oo,t.IfcTimeSeriesValue=class extends ae{constructor(a){super(),this.ListValues=a,this.type=581633288}};class go extends pn{constructor(){super(),this.type=1377556343}}t.IfcTopologicalRepresentationItem=go,t.IfcTopologyRepresentation=class extends Pa{constructor(a,n,c,l){super(a,n,c,l),this.ContextOfItems=a,this.RepresentationIdentifier=n,this.RepresentationType=c,this.Items=l,this.type=1735638870}},t.IfcUnitAssignment=class extends ae{constructor(a){super(),this.Units=a,this.type=180925521}};class zc extends go{constructor(){super(),this.type=2799835756}}t.IfcVertex=zc,t.IfcVertexPoint=class extends zc{constructor(a){super(),this.VertexGeometry=a,this.type=1907098498}},t.IfcVirtualGridIntersection=class extends ae{constructor(a,n){super(),this.IntersectingAxes=a,this.OffsetDistances=n,this.type=891718957}},t.IfcWellKnownText=class extends ae{constructor(a,n){super(),this.WellKnownText=a,this.CoordinateReferenceSystem=n,this.type=1175146630}},t.IfcWorkTime=class extends Qn{constructor(a,n,c,l,E,d){super(a,n,c),this.Name=a,this.DataOrigin=n,this.UserDefinedDataOrigin=c,this.RecurrencePattern=l,this.StartDate=E,this.FinishDate=d,this.type=1236880293}},t.IfcAlignmentCantSegment=class extends La{constructor(a,n,c,l,E,d,m,A,g){super(a,n),this.StartTag=a,this.EndTag=n,this.StartDistAlong=c,this.HorizontalLength=l,this.StartCantLeft=E,this.EndCantLeft=d,this.StartCantRight=m,this.EndCantRight=A,this.PredefinedType=g,this.type=3752311538}},t.IfcAlignmentHorizontalSegment=class extends La{constructor(a,n,c,l,E,d,m,A,g){super(a,n),this.StartTag=a,this.EndTag=n,this.StartPoint=c,this.StartDirection=l,this.StartRadiusOfCurvature=E,this.EndRadiusOfCurvature=d,this.SegmentLength=m,this.GravityCenterLineHeight=A,this.PredefinedType=g,this.type=536804194}},t.IfcApprovalRelationship=class extends en{constructor(a,n,c,l){super(a,n),this.Name=a,this.Description=n,this.RelatingApproval=c,this.RelatedApprovals=l,this.type=3869604511}};class jy extends bn{constructor(n,c,l){super(n,c),this.ProfileType=n,this.ProfileName=c,this.OuterCurve=l,this.type=3798115385}}t.IfcArbitraryClosedProfileDef=jy;class kc extends bn{constructor(n,c,l){super(n,c),this.ProfileType=n,this.ProfileName=c,this.Curve=l,this.type=1310608509}}t.IfcArbitraryOpenProfileDef=kc,t.IfcArbitraryProfileDefWithVoids=class extends jy{constructor(a,n,c,l){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.OuterCurve=c,this.InnerCurves=l,this.type=2705031697}},t.IfcBlobTexture=class extends mu{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E),this.RepeatS=a,this.RepeatT=n,this.Mode=c,this.TextureTransform=l,this.Parameter=E,this.RasterFormat=d,this.RasterCode=m,this.type=616511568}},t.IfcCenterLineProfileDef=class extends kc{constructor(a,n,c,l){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Curve=c,this.Thickness=l,this.type=3150382593}},t.IfcClassification=class extends O{constructor(a,n,c,l,E,d,m){super(),this.Source=a,this.Edition=n,this.EditionDate=c,this.Name=l,this.Description=E,this.Specification=d,this.ReferenceTokens=m,this.type=747523909}},t.IfcClassificationReference=class extends S{constructor(a,n,c,l,E,d){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.ReferencedSource=l,this.Description=E,this.Sort=d,this.type=647927063}},t.IfcColourRgbList=class extends Ze{constructor(a){super(),this.ColourList=a,this.type=3285139300}};class Ln extends Ze{constructor(n){super(),this.Name=n,this.type=3264961684}}t.IfcColourSpecification=Ln,t.IfcCompositeProfileDef=class extends bn{constructor(a,n,c,l){super(a,n),this.ProfileType=a,this.ProfileName=n,this.Profiles=c,this.Label=l,this.type=1485152156}};class Au extends go{constructor(n){super(),this.CfsFaces=n,this.type=370225590}}t.IfcConnectedFaceSet=Au,t.IfcConnectionCurveGeometry=class extends vo{constructor(a,n){super(),this.CurveOnRelatingElement=a,this.CurveOnRelatedElement=n,this.type=1981873012}},t.IfcConnectionPointEccentricity=class extends Ra{constructor(a,n,c,l,E){super(a,n),this.PointOnRelatingElement=a,this.PointOnRelatedElement=n,this.EccentricityInX=c,this.EccentricityInY=l,this.EccentricityInZ=E,this.type=45288368}},t.IfcContextDependentUnit=class extends Z{constructor(a,n,c){super(a,n),this.Dimensions=a,this.UnitType=n,this.Name=c,this.type=3050246964}};class Yy extends Z{constructor(n,c,l,E){super(n,c),this.Dimensions=n,this.UnitType=c,this.Name=l,this.ConversionFactor=E,this.type=2889183280}}t.IfcConversionBasedUnit=Yy,t.IfcConversionBasedUnitWithOffset=class extends Yy{constructor(a,n,c,l,E){super(a,n,c,l),this.Dimensions=a,this.UnitType=n,this.Name=c,this.ConversionFactor=l,this.ConversionOffset=E,this.type=2713554722}},t.IfcCurrencyRelationship=class extends en{constructor(a,n,c,l,E,d,m){super(a,n),this.Name=a,this.Description=n,this.RelatingMonetaryUnit=c,this.RelatedMonetaryUnit=l,this.ExchangeRate=E,this.RateDateTime=d,this.RateSource=m,this.type=539742890}},t.IfcCurveStyle=class extends Pi{constructor(a,n,c,l,E){super(a),this.Name=a,this.CurveFont=n,this.CurveWidth=c,this.CurveColour=l,this.ModelOrDraughting=E,this.type=3800577675}},t.IfcCurveStyleFont=class extends Ze{constructor(a,n){super(),this.Name=a,this.PatternList=n,this.type=1105321065}},t.IfcCurveStyleFontAndScaling=class extends Ze{constructor(a,n,c){super(),this.Name=a,this.CurveStyleFont=n,this.CurveFontScaling=c,this.type=2367409068}},t.IfcCurveStyleFontPattern=class extends Ze{constructor(a,n){super(),this.VisibleSegmentLength=a,this.InvisibleSegmentLength=n,this.type=3510044353}};class ql extends bn{constructor(n,c,l,E,d){super(n,c),this.ProfileType=n,this.ProfileName=c,this.ParentProfile=l,this.Operator=E,this.Label=d,this.type=3632507154}}t.IfcDerivedProfileDef=ql,t.IfcDocumentInformation=class extends O{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma){super(),this.Identification=a,this.Name=n,this.Description=c,this.Location=l,this.Purpose=E,this.IntendedUse=d,this.Scope=m,this.Revision=A,this.DocumentOwner=g,this.Editors=V,this.CreationTime=pe,this.LastRevisionTime=Ce,this.ElectronicFormat=Je,this.ValidFrom=as,this.ValidUntil=Gr,this.Confidentiality=un,this.Status=ma,this.type=1154170062}},t.IfcDocumentInformationRelationship=class extends en{constructor(a,n,c,l,E){super(a,n),this.Name=a,this.Description=n,this.RelatingDocument=c,this.RelatedDocuments=l,this.RelationshipType=E,this.type=770865208}},t.IfcDocumentReference=class extends S{constructor(a,n,c,l,E){super(a,n,c),this.Location=a,this.Identification=n,this.Name=c,this.Description=l,this.ReferencedDocument=E,this.type=3732053477}};class Xc extends go{constructor(n,c){super(),this.EdgeStart=n,this.EdgeEnd=c,this.type=3900360178}}t.IfcEdge=Xc,t.IfcEdgeCurve=class extends Xc{constructor(a,n,c,l){super(a,n),this.EdgeStart=a,this.EdgeEnd=n,this.EdgeGeometry=c,this.SameSense=l,this.type=476780140}},t.IfcEventTime=class extends Qn{constructor(a,n,c,l,E,d,m){super(a,n,c),this.Name=a,this.DataOrigin=n,this.UserDefinedDataOrigin=c,this.ActualDate=l,this.EarlyDate=E,this.LateDate=d,this.ScheduleDate=m,this.type=211053100}};class dE extends qn{constructor(n,c,l){super(),this.Name=n,this.Description=c,this.Properties=l,this.type=297599258}}t.IfcExtendedProperties=dE,t.IfcExternalReferenceRelationship=class extends en{constructor(a,n,c,l){super(a,n),this.Name=a,this.Description=n,this.RelatingReference=c,this.RelatedResourceObjects=l,this.type=1437805879}};class zy extends go{constructor(n){super(),this.Bounds=n,this.type=2556980723}}t.IfcFace=zy;class ky extends go{constructor(n,c){super(),this.Bound=n,this.Orientation=c,this.type=1809719519}}t.IfcFaceBound=ky,t.IfcFaceOuterBound=class extends ky{constructor(a,n){super(a,n),this.Bound=a,this.Orientation=n,this.type=803316827}};class Xy extends zy{constructor(n,c,l){super(n),this.Bounds=n,this.FaceSurface=c,this.SameSense=l,this.type=3008276851}}t.IfcFaceSurface=Xy,t.IfcFailureConnectionCondition=class extends Ec{constructor(a,n,c,l,E,d,m){super(a),this.Name=a,this.TensionFailureX=n,this.TensionFailureY=c,this.TensionFailureZ=l,this.CompressionFailureX=E,this.CompressionFailureY=d,this.CompressionFailureZ=m,this.type=4219587988}},t.IfcFillAreaStyle=class extends Pi{constructor(a,n,c){super(a),this.Name=a,this.FillStyles=n,this.ModelOrDraughting=c,this.type=738692330}};class Su extends bo{constructor(n,c,l,E,d,m){super(n,c),this.ContextIdentifier=n,this.ContextType=c,this.CoordinateSpaceDimension=l,this.Precision=E,this.WorldCoordinateSystem=d,this.TrueNorth=m,this.type=3448662350}}t.IfcGeometricRepresentationContext=Su;class Vs extends pn{constructor(){super(),this.type=2453401579}}t.IfcGeometricRepresentationItem=Vs,t.IfcGeometricRepresentationSubContext=class extends Su{constructor(a,n,c,l,E,d){super(a,n,new e(0),null,new Za(0),null),this.ContextIdentifier=a,this.ContextType=n,this.ParentContext=c,this.TargetScale=l,this.TargetView=E,this.UserDefinedTargetView=d,this.type=4142052618}};class Ql extends Vs{constructor(n){super(),this.Elements=n,this.type=3590301190}}t.IfcGeometricSet=Ql,t.IfcGridPlacement=class extends de{constructor(a,n,c){super(a),this.PlacementRelTo=a,this.PlacementLocation=n,this.PlacementRefDirection=c,this.type=178086475}};class NE extends Vs{constructor(n,c){super(),this.BaseSurface=n,this.AgreementFlag=c,this.type=812098782}}t.IfcHalfSpaceSolid=NE,t.IfcImageTexture=class extends mu{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.RepeatS=a,this.RepeatT=n,this.Mode=c,this.TextureTransform=l,this.Parameter=E,this.URLReference=d,this.type=3905492369}},t.IfcIndexedColourMap=class extends Ze{constructor(a,n,c,l){super(),this.MappedTo=a,this.Opacity=n,this.Colours=c,this.ColourIndex=l,this.type=3570813810}};class Cu extends Lo{constructor(n,c,l){super(n),this.Maps=n,this.MappedTo=c,this.TexCoords=l,this.type=1437953363}}t.IfcIndexedTextureMap=Cu,t.IfcIndexedTriangleTextureMap=class extends Cu{constructor(a,n,c,l){super(a,n,c),this.Maps=a,this.MappedTo=n,this.TexCoords=c,this.TexCoordIndex=l,this.type=2133299955}},t.IfcIrregularTimeSeries=class extends oo{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.Name=a,this.Description=n,this.StartTime=c,this.EndTime=l,this.TimeSeriesDataType=E,this.DataOrigin=d,this.UserDefinedDataOrigin=m,this.Unit=A,this.Values=g,this.type=3741457305}},t.IfcLagTime=class extends Qn{constructor(a,n,c,l,E){super(a,n,c),this.Name=a,this.DataOrigin=n,this.UserDefinedDataOrigin=c,this.LagValue=l,this.DurationType=E,this.type=1585845231}};class Xh extends Vs{constructor(n,c,l,E){super(),this.Name=n,this.LightColour=c,this.AmbientIntensity=l,this.Intensity=E,this.type=1402838566}}t.IfcLightSource=Xh,t.IfcLightSourceAmbient=class extends Xh{constructor(a,n,c,l){super(a,n,c,l),this.Name=a,this.LightColour=n,this.AmbientIntensity=c,this.Intensity=l,this.type=125510826}},t.IfcLightSourceDirectional=class extends Xh{constructor(a,n,c,l,E){super(a,n,c,l),this.Name=a,this.LightColour=n,this.AmbientIntensity=c,this.Intensity=l,this.Orientation=E,this.type=2604431987}},t.IfcLightSourceGoniometric=class extends Xh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l),this.Name=a,this.LightColour=n,this.AmbientIntensity=c,this.Intensity=l,this.Position=E,this.ColourAppearance=d,this.ColourTemperature=m,this.LuminousFlux=A,this.LightEmissionSource=g,this.LightDistributionDataSource=V,this.type=4266656042}};class RE extends Xh{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E),this.Name=n,this.LightColour=c,this.AmbientIntensity=l,this.Intensity=E,this.Position=d,this.Radius=m,this.ConstantAttenuation=A,this.DistanceAttenuation=g,this.QuadricAttenuation=V,this.type=1520743889}}t.IfcLightSourcePositional=RE,t.IfcLightSourceSpot=class extends RE{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A,g),this.Name=a,this.LightColour=n,this.AmbientIntensity=c,this.Intensity=l,this.Position=E,this.Radius=d,this.ConstantAttenuation=m,this.DistanceAttenuation=A,this.QuadricAttenuation=g,this.Orientation=V,this.ConcentrationExponent=pe,this.SpreadAngle=Ce,this.BeamWidthAngle=Je,this.type=3422422726}},t.IfcLinearPlacement=class extends de{constructor(a,n,c){super(a),this.PlacementRelTo=a,this.RelativePlacement=n,this.CartesianPosition=c,this.type=388784114}},t.IfcLocalPlacement=class extends de{constructor(a,n){super(a),this.PlacementRelTo=a,this.RelativePlacement=n,this.type=2624227202}};class Kh extends go{constructor(){super(),this.type=1008929658}}t.IfcLoop=Kh,t.IfcMappedItem=class extends pn{constructor(a,n){super(),this.MappingSource=a,this.MappingTarget=n,this.type=2347385850}},t.IfcMaterial=class extends x{constructor(a,n,c){super(),this.Name=a,this.Description=n,this.Category=c,this.type=1838606355}},t.IfcMaterialConstituent=class extends x{constructor(a,n,c,l,E){super(),this.Name=a,this.Description=n,this.Material=c,this.Fraction=l,this.Category=E,this.type=3708119e3}},t.IfcMaterialConstituentSet=class extends x{constructor(a,n,c){super(),this.Name=a,this.Description=n,this.MaterialConstituents=c,this.type=2852063980}},t.IfcMaterialDefinitionRepresentation=class extends wr{constructor(a,n,c,l){super(a,n,c),this.Name=a,this.Description=n,this.Representations=c,this.RepresentedMaterial=l,this.type=2022407955}},t.IfcMaterialLayerSetUsage=class extends B{constructor(a,n,c,l,E){super(),this.ForLayerSet=a,this.LayerSetDirection=n,this.DirectionSense=c,this.OffsetFromReferenceLine=l,this.ReferenceExtent=E,this.type=1303795690}};class Ky extends B{constructor(n,c,l){super(),this.ForProfileSet=n,this.CardinalPoint=c,this.ReferenceExtent=l,this.type=3079605661}}t.IfcMaterialProfileSetUsage=Ky,t.IfcMaterialProfileSetUsageTapering=class extends Ky{constructor(a,n,c,l,E){super(a,n,c),this.ForProfileSet=a,this.CardinalPoint=n,this.ReferenceExtent=c,this.ForProfileEndSet=l,this.CardinalEndPoint=E,this.type=3404854881}},t.IfcMaterialProperties=class extends dE{constructor(a,n,c,l){super(a,n,c),this.Name=a,this.Description=n,this.Properties=c,this.Material=l,this.type=3265635763}},t.IfcMaterialRelationship=class extends en{constructor(a,n,c,l,E){super(a,n),this.Name=a,this.Description=n,this.RelatingMaterial=c,this.RelatedMaterials=l,this.MaterialExpression=E,this.type=853536259}},t.IfcMirroredProfileDef=class extends ql{constructor(a,n,c,l){super(a,n,c,new Za(0),l),this.ProfileType=a,this.ProfileName=n,this.ParentProfile=c,this.Label=l,this.type=2998442950}};class Jl extends ga{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=219451334}}t.IfcObjectDefinition=Jl,t.IfcOpenCrossProfileDef=class extends bn{constructor(a,n,c,l,E,d,m){super(a,n),this.ProfileType=a,this.ProfileName=n,this.HorizontalWidths=c,this.Widths=l,this.Slopes=E,this.Tags=d,this.OffsetPoint=m,this.type=182550632}},t.IfcOpenShell=class extends Au{constructor(a){super(a),this.CfsFaces=a,this.type=2665983363}},t.IfcOrganizationRelationship=class extends en{constructor(a,n,c,l){super(a,n),this.Name=a,this.Description=n,this.RelatingOrganization=c,this.RelatedOrganizations=l,this.type=1411181986}},t.IfcOrientedEdge=class extends Xc{constructor(a,n){super(new Za(0),new Za(0)),this.EdgeElement=a,this.Orientation=n,this.type=1029017970}};class fa extends bn{constructor(n,c,l){super(n,c),this.ProfileType=n,this.ProfileName=c,this.Position=l,this.type=2529465313}}t.IfcParameterizedProfileDef=fa,t.IfcPath=class extends go{constructor(a){super(),this.EdgeList=a,this.type=2519244187}},t.IfcPhysicalComplexQuantity=class extends ve{constructor(a,n,c,l,E,d){super(a,n),this.Name=a,this.Description=n,this.HasQuantities=c,this.Discrimination=l,this.Quality=E,this.Usage=d,this.type=3021840470}},t.IfcPixelTexture=class extends mu{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E),this.RepeatS=a,this.RepeatT=n,this.Mode=c,this.TextureTransform=l,this.Parameter=E,this.Width=d,this.Height=m,this.ColourComponents=A,this.Pixel=g,this.type=597895409}};class $l extends Vs{constructor(n){super(),this.Location=n,this.type=2004835150}}t.IfcPlacement=$l;class Zy extends Vs{constructor(n,c){super(),this.SizeInX=n,this.SizeInY=c,this.type=1663979128}}t.IfcPlanarExtent=Zy;class ep extends Vs{constructor(){super(),this.type=2067069095}}t.IfcPoint=ep,t.IfcPointByDistanceExpression=class extends ep{constructor(a,n,c,l,E){super(),this.DistanceAlong=a,this.OffsetLateral=n,this.OffsetVertical=c,this.OffsetLongitudinal=l,this.BasisCurve=E,this.type=2165702409}},t.IfcPointOnCurve=class extends ep{constructor(a,n){super(),this.BasisCurve=a,this.PointParameter=n,this.type=4022376103}},t.IfcPointOnSurface=class extends ep{constructor(a,n,c){super(),this.BasisSurface=a,this.PointParameterU=n,this.PointParameterV=c,this.type=1423911732}},t.IfcPolyLoop=class extends Kh{constructor(a){super(),this.Polygon=a,this.type=2924175390}},t.IfcPolygonalBoundedHalfSpace=class extends NE{constructor(a,n,c,l){super(a,n),this.BaseSurface=a,this.AgreementFlag=n,this.Position=c,this.PolygonalBoundary=l,this.type=2775532180}};class vu extends Ze{constructor(n){super(),this.Name=n,this.type=3727388367}}t.IfcPreDefinedItem=vu;class Ic extends qn{constructor(){super(),this.type=3778827333}}t.IfcPreDefinedProperties=Ic;class ji extends vu{constructor(n){super(n),this.Name=n,this.type=1775413392}}t.IfcPreDefinedTextFont=ji,t.IfcProductDefinitionShape=class extends wr{constructor(a,n,c){super(a,n,c),this.Name=a,this.Description=n,this.Representations=c,this.type=673634403}},t.IfcProfileProperties=class extends dE{constructor(a,n,c,l){super(a,n,c),this.Name=a,this.Description=n,this.Properties=c,this.ProfileDefinition=l,this.type=2802850158}};class fE extends qn{constructor(n,c){super(),this.Name=n,this.Specification=c,this.type=2598011224}}t.IfcProperty=fE;class OE extends ga{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=1680319473}}t.IfcPropertyDefinition=OE,t.IfcPropertyDependencyRelationship=class extends en{constructor(a,n,c,l,E){super(a,n),this.Name=a,this.Description=n,this.DependingProperty=c,this.DependantProperty=l,this.Expression=E,this.type=148025276}};class tp extends OE{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=3357820518}}t.IfcPropertySetDefinition=tp;class yc extends OE{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=1482703590}}t.IfcPropertyTemplateDefinition=yc;class Po extends tp{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=2090586900}}t.IfcQuantitySet=Po;class bu extends fa{constructor(n,c,l,E,d){super(n,c,l),this.ProfileType=n,this.ProfileName=c,this.Position=l,this.XDim=E,this.YDim=d,this.type=3615266464}}t.IfcRectangleProfileDef=bu,t.IfcRegularTimeSeries=class extends oo{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A),this.Name=a,this.Description=n,this.StartTime=c,this.EndTime=l,this.TimeSeriesDataType=E,this.DataOrigin=d,this.UserDefinedDataOrigin=m,this.Unit=A,this.TimeStep=g,this.Values=V,this.type=3413951693}},t.IfcReinforcementBarProperties=class extends Ic{constructor(a,n,c,l,E,d){super(),this.TotalCrossSectionArea=a,this.SteelGrade=n,this.BarSurface=c,this.EffectiveDepth=l,this.NominalBarDiameter=E,this.BarCount=d,this.type=1580146022}};class Vn extends ga{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=478536968}}t.IfcRelationship=Vn,t.IfcResourceApprovalRelationship=class extends en{constructor(a,n,c,l){super(a,n),this.Name=a,this.Description=n,this.RelatedResourceObjects=c,this.RelatingApproval=l,this.type=2943643501}},t.IfcResourceConstraintRelationship=class extends en{constructor(a,n,c,l){super(a,n),this.Name=a,this.Description=n,this.RelatingConstraint=c,this.RelatedResourceObjects=l,this.type=1608871552}},t.IfcResourceTime=class extends Qn{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh){super(a,n,c),this.Name=a,this.DataOrigin=n,this.UserDefinedDataOrigin=c,this.ScheduleWork=l,this.ScheduleUsage=E,this.ScheduleStart=d,this.ScheduleFinish=m,this.ScheduleContour=A,this.LevelingDelay=g,this.IsOverAllocated=V,this.StatusTime=pe,this.ActualWork=Ce,this.ActualUsage=Je,this.ActualStart=as,this.ActualFinish=Gr,this.RemainingWork=un,this.RemainingUsage=ma,this.Completion=rh,this.type=1042787934}},t.IfcRoundedRectangleProfileDef=class extends bu{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.XDim=l,this.YDim=E,this.RoundingRadius=d,this.type=2778083089}},t.IfcSectionProperties=class extends Ic{constructor(a,n,c){super(),this.SectionType=a,this.StartProfile=n,this.EndProfile=c,this.type=2042790032}},t.IfcSectionReinforcementProperties=class extends Ic{constructor(a,n,c,l,E,d){super(),this.LongitudinalStartPosition=a,this.LongitudinalEndPosition=n,this.TransversePosition=c,this.ReinforcementRole=l,this.SectionDefinition=E,this.CrossSectionReinforcementDefinitions=d,this.type=4165799628}},t.IfcSectionedSpine=class extends Vs{constructor(a,n,c){super(),this.SpineCurve=a,this.CrossSections=n,this.CrossSectionPositions=c,this.type=1509187699}};class xa extends Vs{constructor(n){super(),this.Transition=n,this.type=823603102}}t.IfcSegment=xa,t.IfcShellBasedSurfaceModel=class extends Vs{constructor(a){super(),this.SbsmBoundary=a,this.type=4124623270}};class _a extends fE{constructor(n,c){super(n,c),this.Name=n,this.Specification=c,this.type=3692461612}}t.IfcSimpleProperty=_a,t.IfcSlippageConnectionCondition=class extends Ec{constructor(a,n,c,l){super(a),this.Name=a,this.SlippageX=n,this.SlippageY=c,this.SlippageZ=l,this.type=2609359061}};class Ka extends Vs{constructor(){super(),this.type=723233188}}t.IfcSolidModel=Ka,t.IfcStructuralLoadLinearForce=class extends kh{constructor(a,n,c,l,E,d,m){super(a),this.Name=a,this.LinearForceX=n,this.LinearForceY=c,this.LinearForceZ=l,this.LinearMomentX=E,this.LinearMomentY=d,this.LinearMomentZ=m,this.type=1595516126}},t.IfcStructuralLoadPlanarForce=class extends kh{constructor(a,n,c,l){super(a),this.Name=a,this.PlanarForceX=n,this.PlanarForceY=c,this.PlanarForceZ=l,this.type=2668620305}};class rr extends kh{constructor(n,c,l,E,d,m,A){super(n),this.Name=n,this.DisplacementX=c,this.DisplacementY=l,this.DisplacementZ=E,this.RotationalDisplacementRX=d,this.RotationalDisplacementRY=m,this.RotationalDisplacementRZ=A,this.type=2473145415}}t.IfcStructuralLoadSingleDisplacement=rr,t.IfcStructuralLoadSingleDisplacementDistortion=class extends rr{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.Name=a,this.DisplacementX=n,this.DisplacementY=c,this.DisplacementZ=l,this.RotationalDisplacementRX=E,this.RotationalDisplacementRY=d,this.RotationalDisplacementRZ=m,this.Distortion=A,this.type=1973038258}};class qy extends kh{constructor(n,c,l,E,d,m,A){super(n),this.Name=n,this.ForceX=c,this.ForceY=l,this.ForceZ=E,this.MomentX=d,this.MomentY=m,this.MomentZ=A,this.type=1597423693}}t.IfcStructuralLoadSingleForce=qy,t.IfcStructuralLoadSingleForceWarping=class extends qy{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.Name=a,this.ForceX=n,this.ForceY=c,this.ForceZ=l,this.MomentX=E,this.MomentY=d,this.MomentZ=m,this.WarpingMoment=A,this.type=1190533807}},t.IfcSubedge=class extends Xc{constructor(a,n,c){super(a,n),this.EdgeStart=a,this.EdgeEnd=n,this.ParentEdge=c,this.type=2233826070}};class sp extends Vs{constructor(){super(),this.type=2513912981}}t.IfcSurface=sp,t.IfcSurfaceStyleRendering=class extends Yc{constructor(a,n,c,l,E,d,m,A,g){super(a,n),this.SurfaceColour=a,this.Transparency=n,this.DiffuseColour=c,this.TransmissionColour=l,this.DiffuseTransmissionColour=E,this.ReflectionColour=d,this.SpecularColour=m,this.SpecularHighlight=A,this.ReflectanceMethod=g,this.type=1878645084}};class Zh extends Ka{constructor(n,c){super(),this.SweptArea=n,this.Position=c,this.type=2247615214}}t.IfcSweptAreaSolid=Zh;class Qy extends Ka{constructor(n,c,l,E,d){super(),this.Directrix=n,this.Radius=c,this.InnerRadius=l,this.StartParam=E,this.EndParam=d,this.type=1260650574}}t.IfcSweptDiskSolid=Qy,t.IfcSweptDiskSolidPolygonal=class extends Qy{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.Directrix=a,this.Radius=n,this.InnerRadius=c,this.StartParam=l,this.EndParam=E,this.FilletRadius=d,this.type=1096409881}};class Lu extends sp{constructor(n,c){super(),this.SweptCurve=n,this.Position=c,this.type=230924584}}t.IfcSweptSurface=Lu,t.IfcTShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Depth=l,this.FlangeWidth=E,this.WebThickness=d,this.FlangeThickness=m,this.FilletRadius=A,this.FlangeEdgeRadius=g,this.WebEdgeRadius=V,this.WebSlope=pe,this.FlangeSlope=Ce,this.type=3071757647}};class co extends Vs{constructor(){super(),this.type=901063453}}t.IfcTessellatedItem=co;class qh extends Vs{constructor(n,c,l){super(),this.Literal=n,this.Placement=c,this.Path=l,this.type=4282788508}}t.IfcTextLiteral=qh,t.IfcTextLiteralWithExtent=class extends qh{constructor(a,n,c,l,E){super(a,n,c),this.Literal=a,this.Placement=n,this.Path=c,this.Extent=l,this.BoxAlignment=E,this.type=3124975700}},t.IfcTextStyleFontModel=class extends ji{constructor(a,n,c,l,E,d){super(a),this.Name=a,this.FontFamily=n,this.FontStyle=c,this.FontVariant=l,this.FontWeight=E,this.FontSize=d,this.type=1983826977}},t.IfcTrapeziumProfileDef=class extends fa{constructor(a,n,c,l,E,d,m){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.BottomXDim=l,this.TopXDim=E,this.YDim=d,this.TopXOffset=m,this.type=2715220739}};class Qh extends Jl{constructor(n,c,l,E,d,m){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.type=1628702193}}t.IfcTypeObject=Qh;class Kc extends Qh{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.Identification=A,this.LongDescription=g,this.ProcessType=V,this.type=3736923433}}t.IfcTypeProcess=Kc;class gu extends Qh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.type=2347495698}}t.IfcTypeProduct=gu;class Jn extends Qh{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.Identification=A,this.LongDescription=g,this.ResourceType=V,this.type=3698973494}}t.IfcTypeResource=Jn,t.IfcUShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Depth=l,this.FlangeWidth=E,this.WebThickness=d,this.FlangeThickness=m,this.FilletRadius=A,this.EdgeRadius=g,this.FlangeSlope=V,this.type=427810014}},t.IfcVector=class extends Vs{constructor(a,n){super(),this.Orientation=a,this.Magnitude=n,this.type=1417489154}},t.IfcVertexLoop=class extends Kh{constructor(a){super(),this.LoopVertex=a,this.type=2759199220}},t.IfcZShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Depth=l,this.FlangeWidth=E,this.WebThickness=d,this.FlangeThickness=m,this.FilletRadius=A,this.EdgeRadius=g,this.type=2543172580}},t.IfcAdvancedFace=class extends Xy{constructor(a,n,c){super(a,n,c),this.Bounds=a,this.FaceSurface=n,this.SameSense=c,this.type=3406155212}},t.IfcAnnotationFillArea=class extends Vs{constructor(a,n){super(),this.OuterBoundary=a,this.InnerBoundaries=n,this.type=669184980}},t.IfcAsymmetricIShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.BottomFlangeWidth=l,this.OverallDepth=E,this.WebThickness=d,this.BottomFlangeThickness=m,this.BottomFlangeFilletRadius=A,this.TopFlangeWidth=g,this.TopFlangeThickness=V,this.TopFlangeFilletRadius=pe,this.BottomFlangeEdgeRadius=Ce,this.BottomFlangeSlope=Je,this.TopFlangeEdgeRadius=as,this.TopFlangeSlope=Gr,this.type=3207858831}},t.IfcAxis1Placement=class extends $l{constructor(a,n){super(a),this.Location=a,this.Axis=n,this.type=4261334040}},t.IfcAxis2Placement2D=class extends $l{constructor(a,n){super(a),this.Location=a,this.RefDirection=n,this.type=3125803723}},t.IfcAxis2Placement3D=class extends $l{constructor(a,n,c){super(a),this.Location=a,this.Axis=n,this.RefDirection=c,this.type=2740243338}},t.IfcAxis2PlacementLinear=class extends $l{constructor(a,n,c){super(a),this.Location=a,this.Axis=n,this.RefDirection=c,this.type=3425423356}};class Pu extends Vs{constructor(n,c,l){super(),this.Operator=n,this.FirstOperand=c,this.SecondOperand=l,this.type=2736907675}}t.IfcBooleanResult=Pu;class Jh extends sp{constructor(){super(),this.type=4182860854}}t.IfcBoundedSurface=Jh,t.IfcBoundingBox=class extends Vs{constructor(a,n,c,l){super(),this.Corner=a,this.XDim=n,this.YDim=c,this.ZDim=l,this.type=2581212453}},t.IfcBoxedHalfSpace=class extends NE{constructor(a,n,c){super(a,n),this.BaseSurface=a,this.AgreementFlag=n,this.Enclosure=c,this.type=2713105998}},t.IfcCShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Depth=l,this.Width=E,this.WallThickness=d,this.Girth=m,this.InternalFilletRadius=A,this.type=2898889636}},t.IfcCartesianPoint=class extends ep{constructor(a){super(),this.Coordinates=a,this.type=1123145078}};class Zc extends Vs{constructor(){super(),this.type=574549367}}t.IfcCartesianPointList=Zc,t.IfcCartesianPointList2D=class extends Zc{constructor(a,n){super(),this.CoordList=a,this.TagList=n,this.type=1675464909}},t.IfcCartesianPointList3D=class extends Zc{constructor(a,n){super(),this.CoordList=a,this.TagList=n,this.type=2059837836}};class mE extends Vs{constructor(n,c,l,E){super(),this.Axis1=n,this.Axis2=c,this.LocalOrigin=l,this.Scale=E,this.type=59481748}}t.IfcCartesianTransformationOperator=mE;class Jy extends mE{constructor(n,c,l,E){super(n,c,l,E),this.Axis1=n,this.Axis2=c,this.LocalOrigin=l,this.Scale=E,this.type=3749851601}}t.IfcCartesianTransformationOperator2D=Jy,t.IfcCartesianTransformationOperator2DnonUniform=class extends Jy{constructor(a,n,c,l,E){super(a,n,c,l),this.Axis1=a,this.Axis2=n,this.LocalOrigin=c,this.Scale=l,this.Scale2=E,this.type=3486308946}};class ip extends mE{constructor(n,c,l,E,d){super(n,c,l,E),this.Axis1=n,this.Axis2=c,this.LocalOrigin=l,this.Scale=E,this.Axis3=d,this.type=3331915920}}t.IfcCartesianTransformationOperator3D=ip,t.IfcCartesianTransformationOperator3DnonUniform=class extends ip{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E),this.Axis1=a,this.Axis2=n,this.LocalOrigin=c,this.Scale=l,this.Axis3=E,this.Scale2=d,this.Scale3=m,this.type=1416205885}};class rp extends fa{constructor(n,c,l,E){super(n,c,l),this.ProfileType=n,this.ProfileName=c,this.Position=l,this.Radius=E,this.type=1383045692}}t.IfcCircleProfileDef=rp,t.IfcClosedShell=class extends Au{constructor(a){super(a),this.CfsFaces=a,this.type=2205249479}},t.IfcColourRgb=class extends Ln{constructor(a,n,c,l){super(a),this.Name=a,this.Red=n,this.Green=c,this.Blue=l,this.type=776857604}},t.IfcComplexProperty=class extends fE{constructor(a,n,c,l){super(a,n),this.Name=a,this.Specification=n,this.UsageName=c,this.HasProperties=l,this.type=2542286263}};class xu extends xa{constructor(n,c,l){super(n),this.Transition=n,this.SameSense=c,this.ParentCurve=l,this.type=2485617015}}t.IfcCompositeCurveSegment=xu;class xo extends Jn{constructor(n,c,l,E,d,m,A,g,V,pe,Ce){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.Identification=A,this.LongDescription=g,this.ResourceType=V,this.BaseCosts=pe,this.BaseQuantity=Ce,this.type=2574617495}}t.IfcConstructionResourceType=xo;class DE extends Jl{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.LongName=m,this.Phase=A,this.RepresentationContexts=g,this.UnitsInContext=V,this.type=3419103109}}t.IfcContext=DE,t.IfcCrewResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=1815067380}};class $h extends Vs{constructor(n){super(),this.Position=n,this.type=2506170314}}t.IfcCsgPrimitive3D=$h,t.IfcCsgSolid=class extends Ka{constructor(a){super(),this.TreeRootExpression=a,this.type=2147822146}};class _o extends Vs{constructor(){super(),this.type=2601014836}}t.IfcCurve=_o,t.IfcCurveBoundedPlane=class extends Jh{constructor(a,n,c){super(),this.BasisSurface=a,this.OuterBoundary=n,this.InnerBoundaries=c,this.type=2827736869}},t.IfcCurveBoundedSurface=class extends Jh{constructor(a,n,c){super(),this.BasisSurface=a,this.Boundaries=n,this.ImplicitOuter=c,this.type=2629017746}},t.IfcCurveSegment=class extends xa{constructor(a,n,c,l,E){super(a),this.Transition=a,this.Placement=n,this.SegmentStart=c,this.SegmentLength=l,this.ParentCurve=E,this.type=4212018352}},t.IfcDirection=class extends Vs{constructor(a){super(),this.DirectionRatios=a,this.type=32440307}};class AE extends Zh{constructor(n,c,l,E,d){super(n,c),this.SweptArea=n,this.Position=c,this.Directrix=l,this.StartParam=E,this.EndParam=d,this.type=593015953}}t.IfcDirectrixCurveSweptAreaSolid=AE,t.IfcEdgeLoop=class extends Kh{constructor(a){super(),this.EdgeList=a,this.type=1472233963}},t.IfcElementQuantity=class extends Po{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.MethodOfMeasurement=E,this.Quantities=d,this.type=1883228015}};class Ma extends gu{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=339256511}}t.IfcElementType=Ma;class el extends sp{constructor(n){super(),this.Position=n,this.type=2777663545}}t.IfcElementarySurface=el,t.IfcEllipseProfileDef=class extends fa{constructor(a,n,c,l,E){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.SemiAxis1=l,this.SemiAxis2=E,this.type=2835456948}},t.IfcEventType=class extends Kc{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ProcessType=g,this.PredefinedType=V,this.EventTriggerType=pe,this.UserDefinedEventTriggerType=Ce,this.type=4024345920}};class $y extends Zh{constructor(n,c,l,E){super(n,c),this.SweptArea=n,this.Position=c,this.ExtrudedDirection=l,this.Depth=E,this.type=477187591}}t.IfcExtrudedAreaSolid=$y,t.IfcExtrudedAreaSolidTapered=class extends $y{constructor(a,n,c,l,E){super(a,n,c,l),this.SweptArea=a,this.Position=n,this.ExtrudedDirection=c,this.Depth=l,this.EndSweptArea=E,this.type=2804161546}},t.IfcFaceBasedSurfaceModel=class extends Vs{constructor(a){super(),this.FbsmFaces=a,this.type=2047409740}},t.IfcFillAreaStyleHatching=class extends Vs{constructor(a,n,c,l,E){super(),this.HatchLineAppearance=a,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=c,this.PatternStart=l,this.HatchLineAngle=E,this.type=374418227}},t.IfcFillAreaStyleTiles=class extends Vs{constructor(a,n,c){super(),this.TilingPattern=a,this.Tiles=n,this.TilingScale=c,this.type=315944413}};class eT extends AE{constructor(n,c,l,E,d,m){super(n,c,l,E,d),this.SweptArea=n,this.Position=c,this.Directrix=l,this.StartParam=E,this.EndParam=d,this.FixedReference=m,this.type=2652556860}}t.IfcFixedReferenceSweptAreaSolid=eT;class SE extends Ma{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=4238390223}}t.IfcFurnishingElementType=SE,t.IfcFurnitureType=class extends SE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.AssemblyPlace=V,this.PredefinedType=pe,this.type=1268542332}},t.IfcGeographicElementType=class extends Ma{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4095422895}},t.IfcGeometricCurveSet=class extends Ql{constructor(a){super(a),this.Elements=a,this.type=987898635}},t.IfcIShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.OverallWidth=l,this.OverallDepth=E,this.WebThickness=d,this.FlangeThickness=m,this.FilletRadius=A,this.FlangeEdgeRadius=g,this.FlangeSlope=V,this.type=1484403080}};class Yi extends co{constructor(n){super(),this.CoordIndex=n,this.type=178912537}}t.IfcIndexedPolygonalFace=Yi,t.IfcIndexedPolygonalFaceWithVoids=class extends Yi{constructor(a,n){super(a),this.CoordIndex=a,this.InnerCoordIndices=n,this.type=2294589976}},t.IfcIndexedPolygonalTextureMap=class extends Cu{constructor(a,n,c,l){super(a,n,c),this.Maps=a,this.MappedTo=n,this.TexCoords=c,this.TexCoordIndices=l,this.type=3465909080}},t.IfcLShapeProfileDef=class extends fa{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Depth=l,this.Width=E,this.Thickness=d,this.FilletRadius=m,this.EdgeRadius=A,this.LegSlope=g,this.type=572779678}},t.IfcLaborResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=428585644}},t.IfcLine=class extends _o{constructor(a,n){super(),this.Pnt=a,this.Dir=n,this.type=1281925730}};class CE extends Ka{constructor(n){super(),this.Outer=n,this.type=1425443689}}t.IfcManifoldSolidBrep=CE;class Oa extends Jl{constructor(n,c,l,E,d){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.type=3888040117}}t.IfcObject=Oa;class np extends _o{constructor(n){super(),this.BasisCurve=n,this.type=590820931}}t.IfcOffsetCurve=np,t.IfcOffsetCurve2D=class extends np{constructor(a,n,c){super(a),this.BasisCurve=a,this.Distance=n,this.SelfIntersect=c,this.type=3388369263}},t.IfcOffsetCurve3D=class extends np{constructor(a,n,c,l){super(a),this.BasisCurve=a,this.Distance=n,this.SelfIntersect=c,this.RefDirection=l,this.type=3505215534}},t.IfcOffsetCurveByDistances=class extends np{constructor(a,n,c){super(a),this.BasisCurve=a,this.OffsetValues=n,this.Tag=c,this.type=2485787929}},t.IfcPcurve=class extends _o{constructor(a,n){super(),this.BasisSurface=a,this.ReferenceCurve=n,this.type=1682466193}},t.IfcPlanarBox=class extends Zy{constructor(a,n,c){super(a,n),this.SizeInX=a,this.SizeInY=n,this.Placement=c,this.type=603570806}},t.IfcPlane=class extends el{constructor(a){super(a),this.Position=a,this.type=220341763}},t.IfcPolynomialCurve=class extends _o{constructor(a,n,c,l){super(),this.Position=a,this.CoefficientsX=n,this.CoefficientsY=c,this.CoefficientsZ=l,this.type=3381221214}};class ho extends vu{constructor(n){super(n),this.Name=n,this.type=759155922}}t.IfcPreDefinedColour=ho;class tT extends vu{constructor(n){super(n),this.Name=n,this.type=2559016684}}t.IfcPreDefinedCurveFont=tT;class qc extends tp{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=3967405729}}t.IfcPreDefinedPropertySet=qc,t.IfcProcedureType=class extends Kc{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ProcessType=g,this.PredefinedType=V,this.type=569719735}};class xi extends Oa{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.Identification=m,this.LongDescription=A,this.type=2945172077}}t.IfcProcess=xi;class gn extends Oa{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=4208778838}}t.IfcProduct=gn,t.IfcProject=class extends DE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.LongName=d,this.Phase=m,this.RepresentationContexts=A,this.UnitsInContext=g,this.type=103090709}},t.IfcProjectLibrary=class extends DE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.LongName=d,this.Phase=m,this.RepresentationContexts=A,this.UnitsInContext=g,this.type=653396225}},t.IfcPropertyBoundedValue=class extends _a{constructor(a,n,c,l,E,d){super(a,n),this.Name=a,this.Specification=n,this.UpperBoundValue=c,this.LowerBoundValue=l,this.Unit=E,this.SetPointValue=d,this.type=871118103}},t.IfcPropertyEnumeratedValue=class extends _a{constructor(a,n,c,l){super(a,n),this.Name=a,this.Specification=n,this.EnumerationValues=c,this.EnumerationReference=l,this.type=4166981789}},t.IfcPropertyListValue=class extends _a{constructor(a,n,c,l){super(a,n),this.Name=a,this.Specification=n,this.ListValues=c,this.Unit=l,this.type=2752243245}},t.IfcPropertyReferenceValue=class extends _a{constructor(a,n,c,l){super(a,n),this.Name=a,this.Specification=n,this.UsageName=c,this.PropertyReference=l,this.type=941946838}},t.IfcPropertySet=class extends tp{constructor(a,n,c,l,E){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.HasProperties=E,this.type=1451395588}},t.IfcPropertySetTemplate=class extends yc{constructor(a,n,c,l,E,d,m){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.TemplateType=E,this.ApplicableEntity=d,this.HasPropertyTemplates=m,this.type=492091185}},t.IfcPropertySingleValue=class extends _a{constructor(a,n,c,l){super(a,n),this.Name=a,this.Specification=n,this.NominalValue=c,this.Unit=l,this.type=3650150729}},t.IfcPropertyTableValue=class extends _a{constructor(a,n,c,l,E,d,m,A){super(a,n),this.Name=a,this.Specification=n,this.DefiningValues=c,this.DefinedValues=l,this.Expression=E,this.DefiningUnit=d,this.DefinedUnit=m,this.CurveInterpolation=A,this.type=110355661}};class Qc extends yc{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=3521284610}}t.IfcPropertyTemplate=Qc,t.IfcRectangleHollowProfileDef=class extends bu{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.XDim=l,this.YDim=E,this.WallThickness=d,this.InnerFilletRadius=m,this.OuterFilletRadius=A,this.type=2770003689}},t.IfcRectangularPyramid=class extends $h{constructor(a,n,c,l){super(a),this.Position=a,this.XLength=n,this.YLength=c,this.Height=l,this.type=2798486643}},t.IfcRectangularTrimmedSurface=class extends Jh{constructor(a,n,c,l,E,d,m){super(),this.BasisSurface=a,this.U1=n,this.V1=c,this.U2=l,this.V2=E,this.Usense=d,this.Vsense=m,this.type=3454111270}},t.IfcReinforcementDefinitionProperties=class extends qc{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.DefinitionType=E,this.ReinforcementSectionDefinitions=d,this.type=3765753017}};class Mo extends Vn{constructor(n,c,l,E,d,m){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatedObjects=d,this.RelatedObjectsType=m,this.type=3939117080}}t.IfcRelAssigns=Mo,t.IfcRelAssignsToActor=class extends Mo{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingActor=m,this.ActingRole=A,this.type=1683148259}},t.IfcRelAssignsToControl=class extends Mo{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingControl=m,this.type=2495723537}};class ap extends Mo{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatedObjects=d,this.RelatedObjectsType=m,this.RelatingGroup=A,this.type=1307041759}}t.IfcRelAssignsToGroup=ap,t.IfcRelAssignsToGroupByFactor=class extends ap{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingGroup=m,this.Factor=A,this.type=1027710054}},t.IfcRelAssignsToProcess=class extends Mo{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingProcess=m,this.QuantityInProcess=A,this.type=4278684876}},t.IfcRelAssignsToProduct=class extends Mo{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingProduct=m,this.type=2857406711}},t.IfcRelAssignsToResource=class extends Mo{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatedObjectsType=d,this.RelatingResource=m,this.type=205026976}};class Fo extends Vn{constructor(n,c,l,E,d){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatedObjects=d,this.type=1865459582}}t.IfcRelAssociates=Fo,t.IfcRelAssociatesApproval=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingApproval=d,this.type=4095574036}},t.IfcRelAssociatesClassification=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingClassification=d,this.type=919958153}},t.IfcRelAssociatesConstraint=class extends Fo{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.Intent=d,this.RelatingConstraint=m,this.type=2728634034}},t.IfcRelAssociatesDocument=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingDocument=d,this.type=982818633}},t.IfcRelAssociatesLibrary=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingLibrary=d,this.type=3840914261}},t.IfcRelAssociatesMaterial=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingMaterial=d,this.type=2655215786}},t.IfcRelAssociatesProfileDef=class extends Fo{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingProfileDef=d,this.type=1033248425}};class bs extends Vn{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=826625072}}t.IfcRelConnects=bs;class op extends bs{constructor(n,c,l,E,d,m,A){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ConnectionGeometry=d,this.RelatingElement=m,this.RelatedElement=A,this.type=1204542856}}t.IfcRelConnectsElements=op,t.IfcRelConnectsPathElements=class extends op{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ConnectionGeometry=E,this.RelatingElement=d,this.RelatedElement=m,this.RelatingPriorities=A,this.RelatedPriorities=g,this.RelatedConnectionType=V,this.RelatingConnectionType=pe,this.type=3945020480}},t.IfcRelConnectsPortToElement=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingPort=E,this.RelatedElement=d,this.type=4201705270}},t.IfcRelConnectsPorts=class extends bs{constructor(a,n,c,l,E,d,m){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingPort=E,this.RelatedPort=d,this.RealizingElement=m,this.type=3190031847}},t.IfcRelConnectsStructuralActivity=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingElement=E,this.RelatedStructuralActivity=d,this.type=2127690289}};class sT extends bs{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatingStructuralMember=d,this.RelatedStructuralConnection=m,this.AppliedCondition=A,this.AdditionalConditions=g,this.SupportedLength=V,this.ConditionCoordinateSystem=pe,this.type=1638771189}}t.IfcRelConnectsStructuralMember=sT,t.IfcRelConnectsWithEccentricity=class extends sT{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingStructuralMember=E,this.RelatedStructuralConnection=d,this.AppliedCondition=m,this.AdditionalConditions=A,this.SupportedLength=g,this.ConditionCoordinateSystem=V,this.ConnectionConstraint=pe,this.type=504942748}},t.IfcRelConnectsWithRealizingElements=class extends op{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ConnectionGeometry=E,this.RelatingElement=d,this.RelatedElement=m,this.RealizingElements=A,this.ConnectionType=g,this.type=3678494232}},t.IfcRelContainedInSpatialStructure=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedElements=E,this.RelatingStructure=d,this.type=3242617779}},t.IfcRelCoversBldgElements=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingBuildingElement=E,this.RelatedCoverings=d,this.type=886880790}},t.IfcRelCoversSpaces=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingSpace=E,this.RelatedCoverings=d,this.type=2802773753}},t.IfcRelDeclares=class extends Vn{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingContext=E,this.RelatedDefinitions=d,this.type=2565941209}};class tl extends Vn{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=2551354335}}t.IfcRelDecomposes=tl;class sl extends Vn{constructor(n,c,l,E){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.type=693640335}}t.IfcRelDefines=sl,t.IfcRelDefinesByObject=class extends sl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingObject=d,this.type=1462361463}},t.IfcRelDefinesByProperties=class extends sl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingPropertyDefinition=d,this.type=4186316022}},t.IfcRelDefinesByTemplate=class extends sl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedPropertySets=E,this.RelatingTemplate=d,this.type=307848117}},t.IfcRelDefinesByType=class extends sl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedObjects=E,this.RelatingType=d,this.type=781010003}},t.IfcRelFillsElement=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingOpeningElement=E,this.RelatedBuildingElement=d,this.type=3940055652}},t.IfcRelFlowControlElements=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedControlElements=E,this.RelatingFlowElement=d,this.type=279856033}},t.IfcRelInterferesElements=class extends bs{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingElement=E,this.RelatedElement=d,this.InterferenceGeometry=m,this.InterferenceType=A,this.ImpliedOrder=g,this.InterferenceSpace=V,this.type=427948657}},t.IfcRelNests=class extends tl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingObject=E,this.RelatedObjects=d,this.type=3268803585}},t.IfcRelPositions=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingPositioningElement=E,this.RelatedProducts=d,this.type=1441486842}},t.IfcRelProjectsElement=class extends tl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingElement=E,this.RelatedFeatureElement=d,this.type=750771296}},t.IfcRelReferencedInSpatialStructure=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatedElements=E,this.RelatingStructure=d,this.type=1245217292}},t.IfcRelSequence=class extends bs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingProcess=E,this.RelatedProcess=d,this.TimeLag=m,this.SequenceType=A,this.UserDefinedSequenceType=g,this.type=4122056220}},t.IfcRelServicesBuildings=class extends bs{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingSystem=E,this.RelatedBuildings=d,this.type=366585022}};class vE extends bs{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatingSpace=d,this.RelatedBuildingElement=m,this.ConnectionGeometry=A,this.PhysicalOrVirtualBoundary=g,this.InternalOrExternalBoundary=V,this.type=3451746338}}t.IfcRelSpaceBoundary=vE;class iT extends vE{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.RelatingSpace=d,this.RelatedBuildingElement=m,this.ConnectionGeometry=A,this.PhysicalOrVirtualBoundary=g,this.InternalOrExternalBoundary=V,this.ParentBoundary=pe,this.type=3523091289}}t.IfcRelSpaceBoundary1stLevel=iT,t.IfcRelSpaceBoundary2ndLevel=class extends iT{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingSpace=E,this.RelatedBuildingElement=d,this.ConnectionGeometry=m,this.PhysicalOrVirtualBoundary=A,this.InternalOrExternalBoundary=g,this.ParentBoundary=V,this.CorrespondingBoundary=pe,this.type=1521410863}},t.IfcRelVoidsElement=class extends tl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingBuildingElement=E,this.RelatedOpeningElement=d,this.type=1401173127}},t.IfcReparametrisedCompositeCurveSegment=class extends xu{constructor(a,n,c,l){super(a,n,c),this.Transition=a,this.SameSense=n,this.ParentCurve=c,this.ParamLength=l,this.type=816062949}};class rT extends Oa{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.Identification=m,this.LongDescription=A,this.type=2914609552}}t.IfcResource=rT;class Tc extends Zh{constructor(n,c,l,E){super(n,c),this.SweptArea=n,this.Position=c,this.Axis=l,this.Angle=E,this.type=1856042241}}t.IfcRevolvedAreaSolid=Tc,t.IfcRevolvedAreaSolidTapered=class extends Tc{constructor(a,n,c,l,E){super(a,n,c,l),this.SweptArea=a,this.Position=n,this.Axis=c,this.Angle=l,this.EndSweptArea=E,this.type=3243963512}},t.IfcRightCircularCone=class extends $h{constructor(a,n,c){super(a),this.Position=a,this.Height=n,this.BottomRadius=c,this.type=4158566097}},t.IfcRightCircularCylinder=class extends $h{constructor(a,n,c){super(a),this.Position=a,this.Height=n,this.Radius=c,this.type=3626867408}};class p extends Ka{constructor(n,c){super(),this.Directrix=n,this.CrossSections=c,this.type=1862484736}}t.IfcSectionedSolid=p,t.IfcSectionedSolidHorizontal=class extends p{constructor(a,n,c){super(a,n),this.Directrix=a,this.CrossSections=n,this.CrossSectionPositions=c,this.type=1290935644}},t.IfcSectionedSurface=class extends sp{constructor(a,n,c){super(),this.Directrix=a,this.CrossSectionPositions=n,this.CrossSections=c,this.type=1356537516}},t.IfcSimplePropertyTemplate=class extends Qc{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.TemplateType=E,this.PrimaryMeasureType=d,this.SecondaryMeasureType=m,this.Enumerators=A,this.PrimaryUnit=g,this.SecondaryUnit=V,this.Expression=pe,this.AccessState=Ce,this.type=3663146110}};class h extends gn{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.LongName=g,this.type=1412071761}}t.IfcSpatialElement=h;class u extends gu{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=710998568}}t.IfcSpatialElementType=u;class I extends h{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.LongName=g,this.CompositionType=V,this.type=2706606064}}t.IfcSpatialStructureElement=I;class f extends u{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3893378262}}t.IfcSpatialStructureElementType=f,t.IfcSpatialZone=class extends h{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.PredefinedType=g,this.type=463610769}},t.IfcSpatialZoneType=class extends u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.LongName=pe,this.type=2481509218}},t.IfcSphere=class extends $h{constructor(a,n){super(a),this.Position=a,this.Radius=n,this.type=451544542}},t.IfcSphericalSurface=class extends el{constructor(a,n){super(a),this.Position=a,this.Radius=n,this.type=4015995234}};class D extends _o{constructor(n){super(),this.Position=n,this.type=2735484536}}t.IfcSpiral=D;class C extends gn{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedLoad=g,this.GlobalOrLocal=V,this.type=3544373492}}t.IfcStructuralActivity=C;class b extends gn{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=3136571912}}t.IfcStructuralItem=b;class _ extends b{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=530289379}}t.IfcStructuralMember=_;class Y extends C{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedLoad=g,this.GlobalOrLocal=V,this.type=3689010777}}t.IfcStructuralReaction=Y;class ue extends _{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.PredefinedType=g,this.Thickness=V,this.type=3979015343}}t.IfcStructuralSurfaceMember=ue,t.IfcStructuralSurfaceMemberVarying=class extends ue{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.PredefinedType=A,this.Thickness=g,this.type=2218152070}},t.IfcStructuralSurfaceReaction=class extends Y{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.PredefinedType=V,this.type=603775116}},t.IfcSubContractResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=4095615324}};class me extends _o{constructor(n,c,l){super(),this.Curve3D=n,this.AssociatedGeometry=c,this.MasterRepresentation=l,this.type=699246055}}t.IfcSurfaceCurve=me,t.IfcSurfaceCurveSweptAreaSolid=class extends AE{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.SweptArea=a,this.Position=n,this.Directrix=c,this.StartParam=l,this.EndParam=E,this.ReferenceSurface=d,this.type=2028607225}},t.IfcSurfaceOfLinearExtrusion=class extends Lu{constructor(a,n,c,l){super(a,n),this.SweptCurve=a,this.Position=n,this.ExtrudedDirection=c,this.Depth=l,this.type=2809605785}},t.IfcSurfaceOfRevolution=class extends Lu{constructor(a,n,c){super(a,n),this.SweptCurve=a,this.Position=n,this.AxisPosition=c,this.type=4124788165}},t.IfcSystemFurnitureElementType=class extends SE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1580310250}},t.IfcTask=class extends xi{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Status=A,this.WorkMethod=g,this.IsMilestone=V,this.Priority=pe,this.TaskTime=Ce,this.PredefinedType=Je,this.type=3473067441}},t.IfcTaskType=class extends Kc{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ProcessType=g,this.PredefinedType=V,this.WorkMethod=pe,this.type=3206491090}};class we extends co{constructor(n){super(),this.Coordinates=n,this.type=2387106220}}t.IfcTessellatedFaceSet=we,t.IfcThirdOrderPolynomialSpiral=class extends D{constructor(a,n,c,l,E){super(a),this.Position=a,this.CubicTerm=n,this.QuadraticTerm=c,this.LinearTerm=l,this.ConstantTerm=E,this.type=782932809}},t.IfcToroidalSurface=class extends el{constructor(a,n,c){super(a),this.Position=a,this.MajorRadius=n,this.MinorRadius=c,this.type=1935646853}};class St extends Ma{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3665877780}}t.IfcTransportationDeviceType=St;class zi extends we{constructor(n,c,l,E,d){super(n),this.Coordinates=n,this.Normals=c,this.Closed=l,this.CoordIndex=E,this.PnIndex=d,this.type=2916149573}}t.IfcTriangulatedFaceSet=zi,t.IfcTriangulatedIrregularNetwork=class extends zi{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.Coordinates=a,this.Normals=n,this.Closed=c,this.CoordIndex=l,this.PnIndex=E,this.Flags=d,this.type=1229763772}},t.IfcVehicleType=class extends St{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3651464721}},t.IfcWindowLiningProperties=class extends qc{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.LiningDepth=E,this.LiningThickness=d,this.TransomThickness=m,this.MullionThickness=A,this.FirstTransomOffset=g,this.SecondTransomOffset=V,this.FirstMullionOffset=pe,this.SecondMullionOffset=Ce,this.ShapeAspectStyle=Je,this.LiningOffset=as,this.LiningToPanelOffsetX=Gr,this.LiningToPanelOffsetY=un,this.type=336235671}},t.IfcWindowPanelProperties=class extends qc{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.OperationType=E,this.PanelPosition=d,this.FrameDepth=m,this.FrameThickness=A,this.ShapeAspectStyle=g,this.type=512836454}};class Or extends Oa{constructor(n,c,l,E,d,m){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.TheActor=m,this.type=2296667514}}t.IfcActor=Or;class Pn extends CE{constructor(n){super(n),this.Outer=n,this.type=1635779807}}t.IfcAdvancedBrep=Pn,t.IfcAdvancedBrepWithVoids=class extends Pn{constructor(a,n){super(a),this.Outer=a,this.Voids=n,this.type=2603310189}},t.IfcAnnotation=class extends gn{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.PredefinedType=A,this.type=1674181508}};class lo extends Jh{constructor(n,c,l,E,d,m,A){super(),this.UDegree=n,this.VDegree=c,this.ControlPointsList=l,this.SurfaceForm=E,this.UClosed=d,this.VClosed=m,this.SelfIntersect=A,this.type=2887950389}}t.IfcBSplineSurface=lo;class il extends lo{constructor(n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(n,c,l,E,d,m,A),this.UDegree=n,this.VDegree=c,this.ControlPointsList=l,this.SurfaceForm=E,this.UClosed=d,this.VClosed=m,this.SelfIntersect=A,this.UMultiplicities=g,this.VMultiplicities=V,this.UKnots=pe,this.VKnots=Ce,this.KnotSpec=Je,this.type=167062518}}t.IfcBSplineSurfaceWithKnots=il,t.IfcBlock=class extends $h{constructor(a,n,c,l){super(a),this.Position=a,this.XLength=n,this.YLength=c,this.ZLength=l,this.type=1334484129}},t.IfcBooleanClippingResult=class extends Pu{constructor(a,n,c){super(a,n,c),this.Operator=a,this.FirstOperand=n,this.SecondOperand=c,this.type=3649129432}};class po extends _o{constructor(){super(),this.type=1260505505}}t.IfcBoundedCurve=po,t.IfcBuildingStorey=class extends I{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.Elevation=V,this.type=3124254112}};class ns extends Ma{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=1626504194}}t.IfcBuiltElementType=ns,t.IfcChimneyType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2197970202}},t.IfcCircleHollowProfileDef=class extends rp{constructor(a,n,c,l,E){super(a,n,c,l),this.ProfileType=a,this.ProfileName=n,this.Position=c,this.Radius=l,this.WallThickness=E,this.type=2937912522}},t.IfcCivilElementType=class extends Ma{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.type=3893394355}},t.IfcClothoid=class extends D{constructor(a,n){super(a),this.Position=a,this.ClothoidConstant=n,this.type=3497074424}},t.IfcColumnType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=300633059}},t.IfcComplexPropertyTemplate=class extends Qc{constructor(a,n,c,l,E,d,m){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.UsageName=E,this.TemplateType=d,this.HasPropertyTemplates=m,this.type=3875453745}};class Ed extends po{constructor(n,c){super(),this.Segments=n,this.SelfIntersect=c,this.type=3732776249}}t.IfcCompositeCurve=Ed;class JO extends Ed{constructor(n,c){super(n,c),this.Segments=n,this.SelfIntersect=c,this.type=15328376}}t.IfcCompositeCurveOnSurface=JO;class eR extends _o{constructor(n){super(),this.Position=n,this.type=2510884976}}t.IfcConic=eR,t.IfcConstructionEquipmentResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=2185764099}},t.IfcConstructionMaterialResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=4105962743}},t.IfcConstructionProductResourceType=class extends xo{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.Identification=m,this.LongDescription=A,this.ResourceType=g,this.BaseCosts=V,this.BaseQuantity=pe,this.PredefinedType=Ce,this.type=1525564444}};class _u extends rT{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.Identification=m,this.LongDescription=A,this.Usage=g,this.BaseCosts=V,this.BaseQuantity=pe,this.type=2559216714}}t.IfcConstructionResource=_u;class rl extends Oa{constructor(n,c,l,E,d,m){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.Identification=m,this.type=3293443760}}t.IfcControl=rl,t.IfcCosineSpiral=class extends D{constructor(a,n,c){super(a),this.Position=a,this.CosineTerm=n,this.ConstantTerm=c,this.type=2000195564}},t.IfcCostItem=class extends rl{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.PredefinedType=m,this.CostValues=A,this.CostQuantities=g,this.type=3895139033}},t.IfcCostSchedule=class extends rl{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.PredefinedType=m,this.Status=A,this.SubmittedOn=g,this.UpdateDate=V,this.type=1419761937}},t.IfcCourseType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4189326743}},t.IfcCoveringType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1916426348}},t.IfcCrewResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=3295246426}},t.IfcCurtainWallType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1457835157}},t.IfcCylindricalSurface=class extends el{constructor(a,n){super(a),this.Position=a,this.Radius=n,this.type=1213902940}};class tR extends ns{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=1306400036}}t.IfcDeepFoundationType=tR,t.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends eT{constructor(a,n,c,l,E,d){super(a,n,c,l,E,d),this.SweptArea=a,this.Position=n,this.Directrix=c,this.StartParam=l,this.EndParam=E,this.FixedReference=d,this.type=4234616927}};class sR extends Ma{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3256556792}}t.IfcDistributionElementType=sR;class Jc extends sR{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3849074793}}t.IfcDistributionFlowElementType=Jc,t.IfcDoorLiningProperties=class extends qc{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.LiningDepth=E,this.LiningThickness=d,this.ThresholdDepth=m,this.ThresholdThickness=A,this.TransomThickness=g,this.TransomOffset=V,this.LiningOffset=pe,this.ThresholdOffset=Ce,this.CasingThickness=Je,this.CasingDepth=as,this.ShapeAspectStyle=Gr,this.LiningToPanelOffsetX=un,this.LiningToPanelOffsetY=ma,this.type=2963535650}},t.IfcDoorPanelProperties=class extends qc{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.PanelDepth=E,this.PanelOperation=d,this.PanelWidth=m,this.PanelPosition=A,this.ShapeAspectStyle=g,this.type=1714330368}},t.IfcDoorType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.OperationType=pe,this.ParameterTakesPrecedence=Ce,this.UserDefinedOperationType=Je,this.type=2323601079}},t.IfcDraughtingPreDefinedColour=class extends ho{constructor(a){super(a),this.Name=a,this.type=445594917}},t.IfcDraughtingPreDefinedCurveFont=class extends tT{constructor(a){super(a),this.Name=a,this.type=4006246654}};class Uo extends gn{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1758889154}}t.IfcElement=Uo,t.IfcElementAssembly=class extends Uo{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.AssemblyPlace=g,this.PredefinedType=V,this.type=4123344466}},t.IfcElementAssemblyType=class extends Ma{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2397081782}};class $c extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1623761950}}t.IfcElementComponent=$c;class eh extends Ma{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=2590856083}}t.IfcElementComponentType=eh,t.IfcEllipse=class extends eR{constructor(a,n,c){super(a),this.Position=a,this.SemiAxis1=n,this.SemiAxis2=c,this.type=1704287377}};class tn extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=2107101300}}t.IfcEnergyConversionDeviceType=tn,t.IfcEngineType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=132023988}},t.IfcEvaporativeCoolerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3174744832}},t.IfcEvaporatorType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3390157468}},t.IfcEvent=class extends xi{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.PredefinedType=A,this.EventTriggerType=g,this.UserDefinedEventTriggerType=V,this.EventOccurenceTime=pe,this.type=4148101412}};class $O extends h{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.LongName=g,this.type=2853485674}}t.IfcExternalSpatialStructureElement=$O;class em extends CE{constructor(n){super(n),this.Outer=n,this.type=807026263}}t.IfcFacetedBrep=em,t.IfcFacetedBrepWithVoids=class extends em{constructor(a,n){super(a),this.Outer=a,this.Voids=n,this.type=3737207727}};class bE extends I{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.LongName=g,this.CompositionType=V,this.type=24185140}}t.IfcFacility=bE;class LE extends I{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.LongName=g,this.CompositionType=V,this.UsageType=pe,this.type=1310830890}}t.IfcFacilityPart=LE,t.IfcFacilityPartCommon=class extends LE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.UsageType=V,this.PredefinedType=pe,this.type=4228831410}},t.IfcFastener=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=647756555}},t.IfcFastenerType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2489546625}};class Id extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=2827207264}}t.IfcFeatureElement=Id;class tm extends Id{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=2143335405}}t.IfcFeatureElementAddition=tm;class yd extends Id{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1287392070}}t.IfcFeatureElementSubtraction=yd;class th extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3907093117}}t.IfcFlowControllerType=th;class gE extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3198132628}}t.IfcFlowFittingType=gE,t.IfcFlowMeterType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3815607619}};class Td extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=1482959167}}t.IfcFlowMovingDeviceType=Td;class PE extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=1834744321}}t.IfcFlowSegmentType=PE;class iR extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=1339347760}}t.IfcFlowStorageDeviceType=iR;class $n extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=2297155007}}t.IfcFlowTerminalType=$n;class nT extends Jc{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=3009222698}}t.IfcFlowTreatmentDeviceType=nT,t.IfcFootingType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1893162501}};class rR extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=263784265}}t.IfcFurnishingElement=rR,t.IfcFurniture=class extends rR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1509553395}},t.IfcGeographicElement=class extends Uo{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3493046030}};class nR extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=4230923436}}t.IfcGeotechnicalElement=nR,t.IfcGeotechnicalStratum=class extends nR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1594536857}},t.IfcGradientCurve=class extends Ed{constructor(a,n,c,l){super(a,n),this.Segments=a,this.SelfIntersect=n,this.BaseCurve=c,this.EndPoint=l,this.type=2898700619}};class xE extends Oa{constructor(n,c,l,E,d){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.type=2706460486}}t.IfcGroup=xE,t.IfcHeatExchangerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1251058090}},t.IfcHumidifierType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1806887404}},t.IfcImpactProtectionDevice=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2568555532}},t.IfcImpactProtectionDeviceType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3948183225}},t.IfcIndexedPolyCurve=class extends po{constructor(a,n,c){super(),this.Points=a,this.Segments=n,this.SelfIntersect=c,this.type=2571569899}},t.IfcInterceptorType=class extends nT{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3946677679}},t.IfcIntersectionCurve=class extends me{constructor(a,n,c){super(a,n,c),this.Curve3D=a,this.AssociatedGeometry=n,this.MasterRepresentation=c,this.type=3113134337}},t.IfcInventory=class extends xE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.PredefinedType=d,this.Jurisdiction=m,this.ResponsiblePersons=A,this.LastUpdateDate=g,this.CurrentValue=V,this.OriginalValue=pe,this.type=2391368822}},t.IfcJunctionBoxType=class extends gE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4288270099}},t.IfcKerbType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=679976338}},t.IfcLaborResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=3827777499}},t.IfcLampType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1051575348}},t.IfcLightFixtureType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1161773419}};class aT extends gn{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=2176059722}}t.IfcLinearElement=aT,t.IfcLiquidTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1770583370}},t.IfcMarineFacility=class extends bE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.PredefinedType=V,this.type=525669439}},t.IfcMarinePart=class extends LE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.UsageType=V,this.PredefinedType=pe,this.type=976884017}},t.IfcMechanicalFastener=class extends $c{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.NominalDiameter=g,this.NominalLength=V,this.PredefinedType=pe,this.type=377706215}},t.IfcMechanicalFastenerType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.NominalDiameter=pe,this.NominalLength=Ce,this.type=2108223431}},t.IfcMedicalDeviceType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1114901282}},t.IfcMemberType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3181161470}},t.IfcMobileTelecommunicationsApplianceType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1950438474}},t.IfcMooringDeviceType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=710110818}},t.IfcMotorConnectionType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=977012517}},t.IfcNavigationElementType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=506776471}},t.IfcOccupant=class extends Or{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.TheActor=d,this.PredefinedType=m,this.type=4143007308}},t.IfcOpeningElement=class extends yd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3588315303}},t.IfcOutletType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2837617999}},t.IfcPavementType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=514975943}},t.IfcPerformanceHistory=class extends rl{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LifeCyclePhase=m,this.PredefinedType=A,this.type=2382730787}},t.IfcPermeableCoveringProperties=class extends qc{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.OperationType=E,this.PanelPosition=d,this.FrameDepth=m,this.FrameThickness=A,this.ShapeAspectStyle=g,this.type=3566463478}},t.IfcPermit=class extends rl{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.PredefinedType=m,this.Status=A,this.LongDescription=g,this.type=3327091369}},t.IfcPileType=class extends tR{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1158309216}},t.IfcPipeFittingType=class extends gE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=804291784}},t.IfcPipeSegmentType=class extends PE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4231323485}},t.IfcPlateType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4017108033}},t.IfcPolygonalFaceSet=class extends we{constructor(a,n,c,l){super(a),this.Coordinates=a,this.Closed=n,this.Faces=c,this.PnIndex=l,this.type=2839578677}},t.IfcPolyline=class extends po{constructor(a){super(),this.Points=a,this.type=3724593414}};class sm extends gn{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=3740093272}}t.IfcPort=sm;class dd extends gn{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=1946335990}}t.IfcPositioningElement=dd,t.IfcProcedure=class extends xi{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.PredefinedType=A,this.type=2744685151}},t.IfcProjectOrder=class extends rl{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.PredefinedType=m,this.Status=A,this.LongDescription=g,this.type=2904328755}},t.IfcProjectionElement=class extends tm{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3651124850}},t.IfcProtectiveDeviceType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1842657554}},t.IfcPumpType=class extends Td{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2250791053}},t.IfcRailType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1763565496}},t.IfcRailingType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2893384427}},t.IfcRailway=class extends bE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.PredefinedType=V,this.type=3992365140}},t.IfcRailwayPart=class extends LE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.UsageType=V,this.PredefinedType=pe,this.type=1891881377}},t.IfcRampFlightType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2324767716}},t.IfcRampType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1469900589}},t.IfcRationalBSplineSurfaceWithKnots=class extends il{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A,g,V,pe,Ce),this.UDegree=a,this.VDegree=n,this.ControlPointsList=c,this.SurfaceForm=l,this.UClosed=E,this.VClosed=d,this.SelfIntersect=m,this.UMultiplicities=A,this.VMultiplicities=g,this.UKnots=V,this.VKnots=pe,this.KnotSpec=Ce,this.WeightsData=Je,this.type=683857671}},t.IfcReferent=class extends dd{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.PredefinedType=A,this.type=4021432810}};class _E extends $c{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.SteelGrade=V,this.type=3027567501}}t.IfcReinforcingElement=_E;class ME extends eh{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=964333572}}t.IfcReinforcingElementType=ME,t.IfcReinforcingMesh=class extends _E{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.SteelGrade=g,this.MeshLength=V,this.MeshWidth=pe,this.LongitudinalBarNominalDiameter=Ce,this.TransverseBarNominalDiameter=Je,this.LongitudinalBarCrossSectionArea=as,this.TransverseBarCrossSectionArea=Gr,this.LongitudinalBarSpacing=un,this.TransverseBarSpacing=ma,this.PredefinedType=rh,this.type=2320036040}},t.IfcReinforcingMeshType=class extends ME{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma,rh,GE,HE){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.MeshLength=pe,this.MeshWidth=Ce,this.LongitudinalBarNominalDiameter=Je,this.TransverseBarNominalDiameter=as,this.LongitudinalBarCrossSectionArea=Gr,this.TransverseBarCrossSectionArea=un,this.LongitudinalBarSpacing=ma,this.TransverseBarSpacing=rh,this.BendingShapeCode=GE,this.BendingParameters=HE,this.type=2310774935}},t.IfcRelAdheresToElement=class extends tl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingElement=E,this.RelatedSurfaceFeatures=d,this.type=3818125796}},t.IfcRelAggregates=class extends tl{constructor(a,n,c,l,E,d){super(a,n,c,l),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.RelatingObject=E,this.RelatedObjects=d,this.type=160246688}},t.IfcRoad=class extends bE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.PredefinedType=V,this.type=146592293}},t.IfcRoadPart=class extends LE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.UsageType=V,this.PredefinedType=pe,this.type=550521510}},t.IfcRoofType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2781568857}},t.IfcSanitaryTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1768891740}},t.IfcSeamCurve=class extends me{constructor(a,n,c){super(a,n,c),this.Curve3D=a,this.AssociatedGeometry=n,this.MasterRepresentation=c,this.type=2157484638}},t.IfcSecondOrderPolynomialSpiral=class extends D{constructor(a,n,c,l){super(a),this.Position=a,this.QuadraticTerm=n,this.LinearTerm=c,this.ConstantTerm=l,this.type=3649235739}},t.IfcSegmentedReferenceCurve=class extends Ed{constructor(a,n,c,l){super(a,n),this.Segments=a,this.SelfIntersect=n,this.BaseCurve=c,this.EndPoint=l,this.type=544395925}},t.IfcSeventhOrderPolynomialSpiral=class extends D{constructor(a,n,c,l,E,d,m,A,g){super(a),this.Position=a,this.SepticTerm=n,this.SexticTerm=c,this.QuinticTerm=l,this.QuarticTerm=E,this.CubicTerm=d,this.QuadraticTerm=m,this.LinearTerm=A,this.ConstantTerm=g,this.type=1027922057}},t.IfcShadingDeviceType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4074543187}},t.IfcSign=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=33720170}},t.IfcSignType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3599934289}},t.IfcSignalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1894708472}},t.IfcSineSpiral=class extends D{constructor(a,n,c,l){super(a),this.Position=a,this.SineTerm=n,this.LinearTerm=c,this.ConstantTerm=l,this.type=42703149}},t.IfcSite=class extends I{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.RefLatitude=V,this.RefLongitude=pe,this.RefElevation=Ce,this.LandTitleNumber=Je,this.SiteAddress=as,this.type=4097777520}},t.IfcSlabType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2533589738}},t.IfcSolarDeviceType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1072016465}},t.IfcSpace=class extends I{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.PredefinedType=V,this.ElevationWithFlooring=pe,this.type=3856911033}},t.IfcSpaceHeaterType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1305183839}},t.IfcSpaceType=class extends f{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.LongName=pe,this.type=3812236995}},t.IfcStackTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3112655638}},t.IfcStairFlightType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1039846685}},t.IfcStairType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=338393293}};class Nd extends C{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedLoad=g,this.GlobalOrLocal=V,this.DestabilizingLoad=pe,this.type=682877961}}t.IfcStructuralAction=Nd;class Rd extends b{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedCondition=g,this.type=1179482911}}t.IfcStructuralConnection=Rd;class im extends Nd{constructor(n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(n,c,l,E,d,m,A,g,V,pe),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedLoad=g,this.GlobalOrLocal=V,this.DestabilizingLoad=pe,this.ProjectedOrTrue=Ce,this.PredefinedType=Je,this.type=1004757350}}t.IfcStructuralCurveAction=im,t.IfcStructuralCurveConnection=class extends Rd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedCondition=A,this.AxisDirection=g,this.type=4243806635}};class rm extends _{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.PredefinedType=g,this.Axis=V,this.type=214636428}}t.IfcStructuralCurveMember=rm,t.IfcStructuralCurveMemberVarying=class extends rm{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.PredefinedType=A,this.Axis=g,this.type=2445595289}},t.IfcStructuralCurveReaction=class extends Y{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.PredefinedType=V,this.type=2757150158}},t.IfcStructuralLinearAction=class extends im{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe,Ce),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.DestabilizingLoad=V,this.ProjectedOrTrue=pe,this.PredefinedType=Ce,this.type=1807405624}};class nm extends xE{constructor(n,c,l,E,d,m,A,g,V,pe){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.PredefinedType=m,this.ActionType=A,this.ActionSource=g,this.Coefficient=V,this.Purpose=pe,this.type=1252848954}}t.IfcStructuralLoadGroup=nm,t.IfcStructuralPointAction=class extends Nd{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.DestabilizingLoad=V,this.type=2082059205}},t.IfcStructuralPointConnection=class extends Rd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedCondition=A,this.ConditionCoordinateSystem=g,this.type=734778138}},t.IfcStructuralPointReaction=class extends Y{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.type=1235345126}},t.IfcStructuralResultGroup=class extends xE{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.TheoryType=d,this.ResultForLoadGroup=m,this.IsLinear=A,this.type=2986769608}};class am extends Nd{constructor(n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(n,c,l,E,d,m,A,g,V,pe),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.AppliedLoad=g,this.GlobalOrLocal=V,this.DestabilizingLoad=pe,this.ProjectedOrTrue=Ce,this.PredefinedType=Je,this.type=3657597509}}t.IfcStructuralSurfaceAction=am,t.IfcStructuralSurfaceConnection=class extends Rd{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedCondition=A,this.type=1975003073}},t.IfcSubContractResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=148013059}},t.IfcSurfaceFeature=class extends Id{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3101698114}},t.IfcSwitchingDeviceType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2315554128}};class FE extends xE{constructor(n,c,l,E,d){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.type=2254336722}}t.IfcSystem=FE,t.IfcSystemFurnitureElement=class extends rR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=413509423}},t.IfcTankType=class extends iR{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=5716631}},t.IfcTendon=class extends _E{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un,ma){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.SteelGrade=g,this.PredefinedType=V,this.NominalDiameter=pe,this.CrossSectionArea=Ce,this.TensionForce=Je,this.PreStress=as,this.FrictionCoefficient=Gr,this.AnchorageSlip=un,this.MinCurvatureRadius=ma,this.type=3824725483}},t.IfcTendonAnchor=class extends _E{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.SteelGrade=g,this.PredefinedType=V,this.type=2347447852}},t.IfcTendonAnchorType=class extends ME{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3081323446}},t.IfcTendonConduit=class extends _E{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.SteelGrade=g,this.PredefinedType=V,this.type=3663046924}},t.IfcTendonConduitType=class extends ME{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2281632017}},t.IfcTendonType=class extends ME{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.NominalDiameter=pe,this.CrossSectionArea=Ce,this.SheathDiameter=Je,this.type=2415094496}},t.IfcTrackElementType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=618700268}},t.IfcTransformerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1692211062}},t.IfcTransportElementType=class extends St{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2097647324}};class aR extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1953115116}}t.IfcTransportationDevice=aR,t.IfcTrimmedCurve=class extends po{constructor(a,n,c,l,E){super(),this.BasisCurve=a,this.Trim1=n,this.Trim2=c,this.SenseAgreement=l,this.MasterRepresentation=E,this.type=3593883385}},t.IfcTubeBundleType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1600972822}},t.IfcUnitaryEquipmentType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1911125066}},t.IfcValveType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=728799441}},t.IfcVehicle=class extends aR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=840318589}},t.IfcVibrationDamper=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1530820697}},t.IfcVibrationDamperType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3956297820}},t.IfcVibrationIsolator=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2391383451}},t.IfcVibrationIsolatorType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3313531582}},t.IfcVirtualElement=class extends Uo{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2769231204}},t.IfcVoidingFeature=class extends yd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=926996030}},t.IfcWallType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1898987631}},t.IfcWasteTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1133259667}},t.IfcWindowType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.PartitioningType=pe,this.ParameterTakesPrecedence=Ce,this.UserDefinedPartitioningType=Je,this.type=4009809668}},t.IfcWorkCalendar=class extends rl{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.WorkingTimes=m,this.ExceptionTimes=A,this.PredefinedType=g,this.type=4088093105}};class oR extends rl{constructor(n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(n,c,l,E,d,m),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.Identification=m,this.CreationDate=A,this.Creators=g,this.Purpose=V,this.Duration=pe,this.TotalFloat=Ce,this.StartTime=Je,this.FinishTime=as,this.type=1028945134}}t.IfcWorkControl=oR,t.IfcWorkPlan=class extends oR{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.CreationDate=m,this.Creators=A,this.Purpose=g,this.Duration=V,this.TotalFloat=pe,this.StartTime=Ce,this.FinishTime=Je,this.PredefinedType=as,this.type=4218914973}},t.IfcWorkSchedule=class extends oR{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.CreationDate=m,this.Creators=A,this.Purpose=g,this.Duration=V,this.TotalFloat=pe,this.StartTime=Ce,this.FinishTime=Je,this.PredefinedType=as,this.type=3342526732}},t.IfcZone=class extends FE{constructor(a,n,c,l,E,d){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.LongName=d,this.type=1033361043}},t.IfcActionRequest=class extends rl{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.PredefinedType=m,this.Status=A,this.LongDescription=g,this.type=3821786052}},t.IfcAirTerminalBoxType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1411407467}},t.IfcAirTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3352864051}},t.IfcAirToAirHeatRecoveryType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1871374353}},t.IfcAlignmentCant=class extends aT{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.RailHeadDistance=A,this.type=4266260250}},t.IfcAlignmentHorizontal=class extends aT{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.type=1545765605}},t.IfcAlignmentSegment=class extends aT{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.DesignParameters=A,this.type=317615605}},t.IfcAlignmentVertical=class extends aT{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.type=1662888072}},t.IfcAsset=class extends xE{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.OriginalValue=m,this.CurrentValue=A,this.TotalReplacementCost=g,this.Owner=V,this.User=pe,this.ResponsiblePerson=Ce,this.IncorporationDate=Je,this.DepreciatedValue=as,this.type=3460190687}},t.IfcAudioVisualApplianceType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1532957894}};class om extends po{constructor(n,c,l,E,d){super(),this.Degree=n,this.ControlPointsList=c,this.CurveForm=l,this.ClosedCurve=E,this.SelfIntersect=d,this.type=1967976161}}t.IfcBSplineCurve=om;class cm extends om{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d),this.Degree=n,this.ControlPointsList=c,this.CurveForm=l,this.ClosedCurve=E,this.SelfIntersect=d,this.KnotMultiplicities=m,this.Knots=A,this.KnotSpec=g,this.type=2461110595}}t.IfcBSplineCurveWithKnots=cm,t.IfcBeamType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=819618141}},t.IfcBearingType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3649138523}},t.IfcBoilerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=231477066}};class hm extends JO{constructor(n,c){super(n,c),this.Segments=n,this.SelfIntersect=c,this.type=1136057603}}t.IfcBoundaryCurve=hm,t.IfcBridge=class extends bE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.PredefinedType=V,this.type=644574406}},t.IfcBridgePart=class extends LE{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.UsageType=V,this.PredefinedType=pe,this.type=963979645}},t.IfcBuilding=class extends bE{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.CompositionType=g,this.ElevationOfRefHeight=V,this.ElevationOfTerrain=pe,this.BuildingAddress=Ce,this.type=4031249490}},t.IfcBuildingElementPart=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2979338954}},t.IfcBuildingElementPartType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=39481116}},t.IfcBuildingElementProxyType=class extends ns{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1909888760}},t.IfcBuildingSystem=class extends FE{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.PredefinedType=d,this.LongName=m,this.type=1177604601}};class Fs extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1876633798}}t.IfcBuiltElement=Fs,t.IfcBuiltSystem=class extends FE{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.PredefinedType=d,this.LongName=m,this.type=3862327254}},t.IfcBurnerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2188180465}},t.IfcCableCarrierFittingType=class extends gE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=395041908}},t.IfcCableCarrierSegmentType=class extends PE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3293546465}},t.IfcCableFittingType=class extends gE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2674252688}},t.IfcCableSegmentType=class extends PE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1285652485}},t.IfcCaissonFoundationType=class extends tR{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3203706013}},t.IfcChillerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2951183804}},t.IfcChimney=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3296154744}},t.IfcCircle=class extends eR{constructor(a,n){super(a),this.Position=a,this.Radius=n,this.type=2611217952}},t.IfcCivilElement=class extends Uo{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.type=1677625105}},t.IfcCoilType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2301859152}},t.IfcColumn=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=843113511}},t.IfcCommunicationsApplianceType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=400855858}},t.IfcCompressorType=class extends Td{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3850581409}},t.IfcCondenserType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2816379211}},t.IfcConstructionEquipmentResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=3898045240}},t.IfcConstructionMaterialResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=1060000209}},t.IfcConstructionProductResource=class extends _u{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.Identification=d,this.LongDescription=m,this.Usage=A,this.BaseCosts=g,this.BaseQuantity=V,this.PredefinedType=pe,this.type=488727124}},t.IfcConveyorSegmentType=class extends PE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2940368186}},t.IfcCooledBeamType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=335055490}},t.IfcCoolingTowerType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2954562838}},t.IfcCourse=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1502416096}},t.IfcCovering=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1973544240}},t.IfcCurtainWall=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3495092785}},t.IfcDamperType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3961806047}};class cR extends Fs{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=3426335179}}t.IfcDeepFoundation=cR,t.IfcDiscreteAccessory=class extends $c{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1335981549}},t.IfcDiscreteAccessoryType=class extends eh{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2635815018}},t.IfcDistributionBoardType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=479945903}},t.IfcDistributionChamberElementType=class extends Jc{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1599208980}};class cp extends sR{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g,V),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ApplicableOccurrence=d,this.HasPropertySets=m,this.RepresentationMaps=A,this.Tag=g,this.ElementType=V,this.type=2063403501}}t.IfcDistributionControlElementType=cp;class hR extends Uo{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1945004755}}t.IfcDistributionElement=hR;class sh extends hR{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=3040386961}}t.IfcDistributionFlowElement=sh,t.IfcDistributionPort=class extends sm{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.FlowDirection=A,this.PredefinedType=g,this.SystemType=V,this.type=3041715199}};class lm extends FE{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.LongName=m,this.PredefinedType=A,this.type=3205830791}}t.IfcDistributionSystem=lm,t.IfcDoor=class extends Fs{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.OverallHeight=g,this.OverallWidth=V,this.PredefinedType=pe,this.OperationType=Ce,this.UserDefinedOperationType=Je,this.type=395920057}},t.IfcDuctFittingType=class extends gE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=869906466}},t.IfcDuctSegmentType=class extends PE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3760055223}},t.IfcDuctSilencerType=class extends nT{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2030761528}},t.IfcEarthworksCut=class extends yd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3071239417}};class lR extends Fs{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1077100507}}t.IfcEarthworksElement=lR,t.IfcEarthworksFill=class extends lR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3376911765}},t.IfcElectricApplianceType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=663422040}},t.IfcElectricDistributionBoardType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2417008758}},t.IfcElectricFlowStorageDeviceType=class extends iR{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3277789161}},t.IfcElectricFlowTreatmentDeviceType=class extends nT{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2142170206}},t.IfcElectricGeneratorType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1534661035}},t.IfcElectricMotorType=class extends tn{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1217240411}},t.IfcElectricTimeControlType=class extends th{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=712377611}};class sn extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1658829314}}t.IfcEnergyConversionDevice=sn,t.IfcEngine=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2814081492}},t.IfcEvaporativeCooler=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3747195512}},t.IfcEvaporator=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=484807127}},t.IfcExternalSpatialElement=class extends $O{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.LongName=A,this.PredefinedType=g,this.type=1209101575}},t.IfcFanType=class extends Td{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=346874300}},t.IfcFilterType=class extends nT{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1810631287}},t.IfcFireSuppressionTerminalType=class extends $n{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4222183408}};class ih extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=2058353004}}t.IfcFlowController=ih;class UE extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=4278956645}}t.IfcFlowFitting=UE,t.IfcFlowInstrumentType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=4037862832}},t.IfcFlowMeter=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2188021234}};class fd extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=3132237377}}t.IfcFlowMovingDevice=fd;class wE extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=987401354}}t.IfcFlowSegment=wE;class pR extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=707683696}}t.IfcFlowStorageDevice=pR;class ea extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=2223149337}}t.IfcFlowTerminal=ea;class oT extends sh{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=3508470533}}t.IfcFlowTreatmentDevice=oT,t.IfcFooting=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=900683007}};class Od extends nR{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=2713699986}}t.IfcGeotechnicalAssembly=Od,t.IfcGrid=class extends dd{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.UAxes=A,this.VAxes=g,this.WAxes=V,this.PredefinedType=pe,this.type=3009204131}},t.IfcHeatExchanger=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3319311131}},t.IfcHumidifier=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2068733104}},t.IfcInterceptor=class extends oT{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4175244083}},t.IfcJunctionBox=class extends UE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2176052936}},t.IfcKerb=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2696325953}},t.IfcLamp=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=76236018}},t.IfcLightFixture=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=629592764}};class pm extends dd{constructor(n,c,l,E,d,m,A){super(n,c,l,E,d,m,A),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.type=1154579445}}t.IfcLinearPositioningElement=pm,t.IfcLiquidTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1638804497}},t.IfcMedicalDevice=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1437502449}},t.IfcMember=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1073191201}},t.IfcMobileTelecommunicationsAppliance=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2078563270}},t.IfcMooringDevice=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=234836483}},t.IfcMotorConnection=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2474470126}},t.IfcNavigationElement=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2182337498}},t.IfcOuterBoundaryCurve=class extends hm{constructor(a,n){super(a,n),this.Segments=a,this.SelfIntersect=n,this.type=144952367}},t.IfcOutlet=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3694346114}},t.IfcPavement=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1383356374}},t.IfcPile=class extends cR{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.ConstructionType=V,this.type=1687234759}},t.IfcPipeFitting=class extends UE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=310824031}},t.IfcPipeSegment=class extends wE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3612865200}},t.IfcPlate=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3171933400}},t.IfcProtectiveDevice=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=738039164}},t.IfcProtectiveDeviceTrippingUnitType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=655969474}},t.IfcPump=class extends fd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=90941305}},t.IfcRail=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3290496277}},t.IfcRailing=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2262370178}},t.IfcRamp=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3024970846}},t.IfcRampFlight=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3283111854}},t.IfcRationalBSplineCurveWithKnots=class extends cm{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.Degree=a,this.ControlPointsList=n,this.CurveForm=c,this.ClosedCurve=l,this.SelfIntersect=E,this.KnotMultiplicities=d,this.Knots=m,this.KnotSpec=A,this.WeightsData=g,this.type=1232101972}},t.IfcReinforcedSoil=class extends lR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3798194928}},t.IfcReinforcingBar=class extends _E{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.SteelGrade=g,this.NominalDiameter=V,this.CrossSectionArea=pe,this.BarLength=Ce,this.PredefinedType=Je,this.BarSurface=as,this.type=979691226}},t.IfcReinforcingBarType=class extends ME{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je,as,Gr,un){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.NominalDiameter=pe,this.CrossSectionArea=Ce,this.BarLength=Je,this.BarSurface=as,this.BendingShapeCode=Gr,this.BendingParameters=un,this.type=2572171363}},t.IfcRoof=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2016517767}},t.IfcSanitaryTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3053780830}},t.IfcSensorType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=1783015770}},t.IfcShadingDevice=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1329646415}},t.IfcSignal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=991950508}},t.IfcSlab=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1529196076}},t.IfcSolarDevice=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3420628829}},t.IfcSpaceHeater=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1999602285}},t.IfcStackTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1404847402}},t.IfcStair=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=331165859}},t.IfcStairFlight=class extends Fs{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.NumberOfRisers=g,this.NumberOfTreads=V,this.RiserHeight=pe,this.TreadLength=Ce,this.PredefinedType=Je,this.type=4252922144}},t.IfcStructuralAnalysisModel=class extends FE{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.PredefinedType=d,this.OrientationOf2DPlane=m,this.LoadedBy=A,this.HasResults=g,this.SharedPlacement=V,this.type=2515109513}},t.IfcStructuralLoadCase=class extends nm{constructor(a,n,c,l,E,d,m,A,g,V,pe){super(a,n,c,l,E,d,m,A,g,V),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.PredefinedType=d,this.ActionType=m,this.ActionSource=A,this.Coefficient=g,this.Purpose=V,this.SelfWeightCoefficients=pe,this.type=385403989}},t.IfcStructuralPlanarAction=class extends am{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce){super(a,n,c,l,E,d,m,A,g,V,pe,Ce),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.AppliedLoad=A,this.GlobalOrLocal=g,this.DestabilizingLoad=V,this.ProjectedOrTrue=pe,this.PredefinedType=Ce,this.type=1621171031}},t.IfcSwitchingDevice=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1162798199}},t.IfcTank=class extends pR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=812556717}},t.IfcTrackElement=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3425753595}},t.IfcTransformer=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3825984169}},t.IfcTransportElement=class extends aR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1620046519}},t.IfcTubeBundle=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3026737570}},t.IfcUnitaryControlElementType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3179687236}},t.IfcUnitaryEquipment=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4292641817}},t.IfcValve=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4207607924}};class um extends Fs{constructor(n,c,l,E,d,m,A,g,V){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.PredefinedType=V,this.type=2391406946}}t.IfcWall=um,t.IfcWallStandardCase=class extends um{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3512223829}},t.IfcWasteTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4237592921}},t.IfcWindow=class extends Fs{constructor(a,n,c,l,E,d,m,A,g,V,pe,Ce,Je){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.OverallHeight=g,this.OverallWidth=V,this.PredefinedType=pe,this.PartitioningType=Ce,this.UserDefinedPartitioningType=Je,this.type=3304561284}},t.IfcActuatorType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=2874132201}},t.IfcAirTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1634111441}},t.IfcAirTerminalBox=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=177149247}},t.IfcAirToAirHeatRecovery=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2056796094}},t.IfcAlarmType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=3001207471}},t.IfcAlignment=class extends pm{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.PredefinedType=A,this.type=325726236}},t.IfcAudioVisualAppliance=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=277319702}},t.IfcBeam=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=753842376}},t.IfcBearing=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4196446775}},t.IfcBoiler=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=32344328}},t.IfcBorehole=class extends Od{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.type=3314249567}},t.IfcBuildingElementProxy=class extends Fs{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1095909175}},t.IfcBurner=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2938176219}},t.IfcCableCarrierFitting=class extends UE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=635142910}},t.IfcCableCarrierSegment=class extends wE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3758799889}},t.IfcCableFitting=class extends UE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1051757585}},t.IfcCableSegment=class extends wE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4217484030}},t.IfcCaissonFoundation=class extends cR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3999819293}},t.IfcChiller=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3902619387}},t.IfcCoil=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=639361253}},t.IfcCommunicationsAppliance=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3221913625}},t.IfcCompressor=class extends fd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3571504051}},t.IfcCondenser=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2272882330}},t.IfcControllerType=class extends cp{constructor(a,n,c,l,E,d,m,A,g,V){super(a,n,c,l,E,d,m,A,g),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ApplicableOccurrence=E,this.HasPropertySets=d,this.RepresentationMaps=m,this.Tag=A,this.ElementType=g,this.PredefinedType=V,this.type=578613899}},t.IfcConveyorSegment=class extends wE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3460952963}},t.IfcCooledBeam=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4136498852}},t.IfcCoolingTower=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3640358203}},t.IfcDamper=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4074379575}},t.IfcDistributionBoard=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3693000487}},t.IfcDistributionChamberElement=class extends sh{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1052013943}},t.IfcDistributionCircuit=class extends lm{constructor(a,n,c,l,E,d,m){super(a,n,c,l,E,d,m),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.LongName=d,this.PredefinedType=m,this.type=562808652}};class hp extends hR{constructor(n,c,l,E,d,m,A,g){super(n,c,l,E,d,m,A,g),this.GlobalId=n,this.OwnerHistory=c,this.Name=l,this.Description=E,this.ObjectType=d,this.ObjectPlacement=m,this.Representation=A,this.Tag=g,this.type=1062813311}}t.IfcDistributionControlElement=hp,t.IfcDuctFitting=class extends UE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=342316401}},t.IfcDuctSegment=class extends wE{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3518393246}},t.IfcDuctSilencer=class extends oT{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1360408905}},t.IfcElectricAppliance=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1904799276}},t.IfcElectricDistributionBoard=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=862014818}},t.IfcElectricFlowStorageDevice=class extends pR{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3310460725}},t.IfcElectricFlowTreatmentDevice=class extends oT{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=24726584}},t.IfcElectricGenerator=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=264262732}},t.IfcElectricMotor=class extends sn{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=402227799}},t.IfcElectricTimeControl=class extends ih{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1003880860}},t.IfcFan=class extends fd{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3415622556}},t.IfcFilter=class extends oT{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=819412036}},t.IfcFireSuppressionTerminal=class extends ea{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=1426591983}},t.IfcFlowInstrument=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=182646315}},t.IfcGeomodel=class extends Od{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.type=2680139844}},t.IfcGeoslice=class extends Od{constructor(a,n,c,l,E,d,m,A){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.type=1971632696}},t.IfcProtectiveDeviceTrippingUnit=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=2295281155}},t.IfcSensor=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4086658281}},t.IfcUnitaryControlElement=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=630975310}},t.IfcActuator=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=4288193352}},t.IfcAlarm=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=3087945054}},t.IfcController=class extends hp{constructor(a,n,c,l,E,d,m,A,g){super(a,n,c,l,E,d,m,A),this.GlobalId=a,this.OwnerHistory=n,this.Name=c,this.Description=l,this.ObjectType=E,this.ObjectPlacement=d,this.Representation=m,this.Tag=A,this.PredefinedType=g,this.type=25142252}}})(ye||(ye={})),typeof document<"u"){let t=document.currentScript;t?.src!==void 0&&t.src.substring(0,t.src.lastIndexOf("/")+1)}var OO=class{constructor(e,s,i){if(z(this,"_model"),z(this,"_boxes"),z(this,"_localIdsToGeometryIds",new Map),z(this,"_guidToLocalIdMap",new Map),z(this,"_items",new Map),z(this,"_itemDataCache",new Map),z(this,"_itemDataConfig",{attributesDefault:!0,relationsDefault:{attributes:!1,relations:!1}}),z(this,"_spatialStructure",null),z(this,"_virtualModel"),z(this,"_relations",new Map),this._virtualModel=e,this._model=e.data,this._boxes=s,this.preindexGeometryIds(),i&&i.extraRelations)for(let o of i.extraRelations){let{category:y,relation:R,inverseName:v}=o;this.addInverseRelation(y,R,v)}let r=this._model.localIdsArray();if(r){for(let o=0;o=0;R--){let v=this._virtualModel.requests[R];v.type===We.CREATE_ITEM&&v.localId===o&&(y=v.data.category)}i.push(y)}return i}getLocalIdsByGuids(e){let s=[];for(let i of e){let r=this._guidToLocalIdMap.get(i);s.push(r!==void 0?r:null)}return s}getGuidsByLocalIds(e){var s;let i=[];for(let r of e){let o=(s=this._items.get(r))==null?void 0:s.guid;i.push(o!==void 0?o:null)}return i}getAttributeNames(){let e=new Set;for(let s=0;sP.categories!==void 0)),R=e.map((P=>P.categories)).filter((P=>P!==void 0)).flat();for(let P=0;PX?.test(j)))}if(!G)continue;let w=this._model.attributes(P);if(!w)continue;let H={};for(let j=0;jee.test(k)))),!Q)continue;let ie=!0;if(X){let{aggregation:ee,queries:oe}=X,re=[];for(let{name:ne,value:ce,type:he,negate:Ee}of oe){let De=W.find((Fe=>ne.test(Fe)));if(!De||((s=H[De])==null?void 0:s.value)===void 0)break;let Se=!1,{value:Ue,type:Oe}=H[De];Se=ce instanceof RegExp?typeof Ue=="string"&&ce.test(Ue):Ue===ce,he!==void 0&&(Se=Se&&typeof Oe=="string"&&he.test(Oe)),Ee&&(Se=!Se),re.push(Se)}ie=ee==="exclusive"?re.every((ne=>ne)):re.some((ne=>ne))}if(ie){let ee=W.find((ce=>q.test(ce)));if(!ee||((i=H[ee])==null?void 0:i.value)===void 0)continue;let oe=j??ee,re=(r=H[ee])==null?void 0:r.value;o.has(oe)||o.set(oe,new Map);let ne=o.get(oe);ne.has(re)||ne.set(re,new Set),ne.get(re).add(M)}}}let v={};for(let[P,M]of o){v[P]=[];for(let[G,w]of M)v[P].push({value:G,localIds:Array.from(w)})}return v}getAttributeTypes(){let e=new Set;for(let s=0;s=0;v--){let P=this._virtualModel.requests[v];if(P.type===We.CREATE_ITEM&&P.localId===i){for(let M in P.data.data){let G=P.data.data[M];R[M]={value:G.value,type:G.type}}return R}}return null}let o=this._model.attributes(r);if(!o)return null;let y={};for(let R=this._virtualModel.requests.length-1;R>=0;R--){let v=this._virtualModel.requests[R];if((v.type===We.UPDATE_ITEM||v.type===We.CREATE_ITEM)&&v.localId===i){for(let P in v.data.data){let M=v.data.data[P];y[P]={value:M.value,type:M.type}}return y}}for(let R=0;R=0;R--){let v=this._virtualModel.requests[R];if((v.type===We.UPDATE_RELATION||v.type===We.CREATE_RELATION)&&v.localId===i)return v.data.data}if(i===null)return null;let r=this._relations.get(i)??{},o=(s=this._model.relationsItemsArray())==null?void 0:s.indexOf(i);if(o===void 0||o===-1)return Object.keys(r).length>0?r:null;let y=this._model.relations(o);if(!y)return Object.keys(r).length>0?r:null;for(let R=0;Rtypeof y=="string"&&P.test(y))):i instanceof RegExp?typeof y=="string"&&i.test(y):y===i),r!==void 0&&(v=v&&typeof R=="string"&&r.test(R)))),v}getItemsByAttribute({name:e,value:s,type:i,negate:r,itemIds:o}){let y=this._model.attributesLength(),R=[],v=new Set(o);for(let P=0;P=0;M--){let G=this._virtualModel.requests[M];if(G.type===We.CREATE_ITEM){if(G.localId!==P)continue;let w={};for(let W in G.data.data){let k=G.data.data[W];w[W]={value:k.value,type:k.type}}let H=!1;for(let[W,{value:k,type:j}]of Object.entries(w))if(this.checkAttribute({name:W,value:k,type:j},{name:e,value:s,type:i})){H=!0;break}(r?!H:H)&&R.push(P)}}else for(let P=this._virtualModel.requests.length-1;P>=0;P--){let M=this._virtualModel.requests[P];if(M.type===We.CREATE_ITEM&&M.localId!==void 0){let G={};for(let H in M.data.data){let W=M.data.data[H];G[H]={value:W.value,type:W.type}}let w=!1;for(let[H,{value:W,type:k}]of Object.entries(G))if(this.checkAttribute({name:H,value:W,type:k},{name:e,value:s,type:i})){w=!0;break}(r?!w:w)&&R.push(Number(M.localId))}}return R}getItemsByRelation({name:e,targetItemIds:s,sourceItemIds:i}){let r=[],o=i??this.getAllLocalIds();for(let y of o){let R=this.getItemRelations(y),v=R?.[e];if(v)if(s){for(let P of v)if(s.has(P)){r.push(y);break}}else r.push(y)}return r}getItemsByQuery(e,s){var i;let{categories:r,attributes:o,relation:y}=e,R=s?.localIds;if(R){if(r){let v=this.getItemsCategories(R);R=R.filter(((P,M)=>{let G=v[M];return G?r.some((w=>w.test(G))):null}))}}else R=(i=r?.filter(Boolean))!=null&&i.length?Object.values(this.getItemsOfCategories(r)).flat():void 0;if(R?.length===0)return[];if(o){let v=o.aggregation??"exclusive",P=[];for(let G of o.queries)if(o&&G.name){let w=this.getItemsByAttribute({...G,itemIds:R});P.push(w)}let M=new Set;if(v==="inclusive")for(let G of P)for(let w of G)M.add(w);else{let G=new Map;for(let w of P)for(let H of w){let W=G.get(H);W===void 0?G.set(H,1):G.set(H,W+1)}for(let[w,H]of G)H===P.length&&M.add(w)}R=[...M]}if(R?.length===0)return[];if(y&&y.name){let{name:v,query:P}=y,M=P?new Set(this.getItemsByQuery(P)):void 0;R=this.getItemsByRelation({name:v,targetItemIds:M,sourceItemIds:R})}return Array.from(new Set(R))}getTreeItem(e){let s={category:e.category(),localId:e.localId()},i=[];for(let r=0;r0&&(s.children=i),s}preindexGeometryIds(){let e=this._model.meshes(),s=e.meshesItemsLength();for(let i=0;i=gN._data.threshold}transform(e,s,i){i||(e*=gN._data.factor),this.data=e,this.box.clone(s)}};z(bA,"_data",{threshold:0,factor:-1});var oC=bA,AO=class{constructor(e){z(this,"_boxes"),z(this,"_min",new te),z(this,"_max",new te),this._boxes=e}inflate(e){let s=this._boxes.fullBox.min,i=this.getVector(e,s,"min"),r=this.getVector(e,s,"max");return new di(i,r)}deflate(e,s){this.read(e);let i=[];i.push(this._min.x,this._min.y,this._min.z),i.push(this._max.x,this._max.y,this._max.z),s.set(i)}getVector(e,s,i){let r=e.get("x",i)+s.x,o=e.get("y",i)+s.y,y=e.get("z",i)+s.z;return new te(r,o,y)}read(e){let{min:s}=this._boxes.fullBox;this._min.subVectors(e.min,s),this._max.subVectors(e.max,s)}},SO=class{constructor(e,s){z(this,"_data"),z(this,"_compressor"),this._data=s,this._compressor=e}frustumCollide(e,s,i=!1){let r=this.getFrustumPlanes(s,e),o=this.getFrustumOnCollide(r),y=this.getFrustumOnIncludes(r),R=this.newDefaultCallback(!0);return this.collide(o,y,R,i)}rayCollide(e,s){let i=this.getRayOnCollide(s),r=this.newDefaultCallback(!1),o=this.getRayOnSeen(e);return this.collide(i,r,o)}addPoint(e,s,i,r){e?r&&s.push(this.getPointData(i)):s.push(this.getPointData(i))}getPointData(e){return this.getPoint(e).data}getBounds(e){let s=this.getPoint(e);return this._compressor.inflate(s.box)}isPoint(e){return this.getPoint(e).isPoint}newDefaultCallback(e){return s=>e}groupSize(e){return this.getPoint(e).size}getPoint(e){return this._data.points[e]}getRayOnSeen(e){let s=this.newDefaultCallback(!0);return e?.length>0&&(s=i=>Ku.collides(i,e)),s}getRayOnCollide(e){return s=>e.intersectsBox(s)}collide(e,s,i,r=!1){let o=this._data.points.length,y=[],R=0,v=(M,G)=>{let w=R+this.groupSize(R);for(;R{let M=this.getBounds(R),G=s(M),w=this.isPoint(R),H=G||e(M);w&&H&&i(M)&&this.addPoint(r,y,R,G),H||w?(R++,G&&!w&&v(M,G)):R+=this.groupSize(R)};for(;RKu.isIncluded(s,e)}getFrustumOnCollide(e){return s=>Ku.collides(s,e)}getFrustumPlanes(e,s){let i=[];for(let r of e.planes)i.push(r);if(s)for(let r of s)i.push(r);return i}savePoint(e,s){let i=this.getPoint(e);s.push(i.data)}},CO=class{constructor(e){z(this,"_boxes"),z(this,"_total",new te),z(this,"_change",new te),z(this,"_average",new te),z(this,"_tempCenterVector",new te),z(this,"_tempVectors",{x:new te,y:new te,z:new te}),this._boxes=e}sort(e,s,i){this.average(this._average,e,s,i),this.getDataToTotal(s,i,e);let r=this.anySort(s,i,e);return r=this.adjust(i,s,r),Math.round(r)}anySort(e,s,i){return this._total.x>this._total.y?this._total.x>this._total.z?this.sortDim("x",this._average.x,e,s,i):this.sortDim("z",this._average.z,e,s,i):this._total.y>this._total.z?this.sortDim("y",this._average.y,e,s,i):this.sortDim("z",this._average.z,e,s,i)}getDataToTotal(e,s,i){this._total.set(0,0,0);for(let r=e;rs&&(this.exchange(R,y,o),y++);return y}exchange(e,s,i){let r=i[e];i[e]=i[s],i[s]=r}getValue(e,s,i){let r=this.getBox(e,s),o=this._tempVectors[i];return r.getCenter(o)[i]}average(e,s,i,r){let o=this.getBox(s,i);return o.getCenter(e),this.aggregate(i,r,s,o,e),e.divideScalar(r-i)}aggregate(e,s,i,r,o){for(let y=e+1;y=e-1-o)&&(i=r),i}getBox(e,s){let i=e[s];return this._boxes.get(i)}},vO=class{constructor(e,s,i){z(this,"_data"),z(this,"_compressor"),z(this,"_boxes"),z(this,"_sorter"),this._data=i,this._compressor=s,this._boxes=e,this._sorter=new CO(e)}make(e,s,i=0,r=0,o=0,y=0){let R=i-r;return R===1?this.makePoint(e,r,s,y):R===2?this.makeGroup3(y,e,r,s):this.makeGroup(o,e,r,i,y,s)}makeGroup3(e,s,i,r){let o=this.makeBox(e+1,s,i),y=this.makeBox(e+2,s,i+1);return r.combine(o,y),this.newGroup(e,3,r),3}makeGroup(e,s,i,r,o,y){let R=this._data.limits.primary[e],v=this._data.limits.secondary[e],P=this._sorter.sort(s,i,r),M=this.make(s,R,P,i,e+1,o+1),G=o+M+1,w=this.make(s,v,r,P,e+1,G);y.combine(R,v);let H=M+w+1;return this.newGroup(o,H,y),H}makeBox(e,s,i){let r=this._data.points[e].box,o=s[i],y=this._boxes.get(o);return this._compressor.deflate(y,r),this.set(e,o),r}makePoint(e,s,i,r){let o=this._boxes.get(e[s]);return this._compressor.deflate(o,i),this.newPoint(r,e[s],i),1}newGroup(e,s,i){this.get(e).transform(s,i,!1)}get(e){return this._data.points[e]}newPoint(e,s,i){this.get(e).transform(s,i,!0)}set(e,s){this.get(e).data=s}},bO=class PN{constructor(e){z(this,"_compressor"),z(this,"_collider"),z(this,"_maker"),z(this,"_data"),z(this,"_boxes"),this._boxes=e,this._compressor=new AO(e),this._data=this.getData(),this._collider=new SO(this._compressor,this._data),this._maker=new vO(this._boxes,this._compressor,this._data),this.initData()}collideFrustum(e,s,i=!1){return this._collider.frustumCollide(e,s,i)}collideRay(e,s){return this._collider.rayCollide(e,s)}setupLimits(){for(let e=0;e0}updateHighlightDefinition(e,s,i){let r=e.properties.getItemIdsFromLocalIds(s),o=[],y=[],R=[];for(let v of r){let P=e.itemConfig.getHighlight(v);if(P){let M=i(e.materials.fetch(P));if(this.hasEffectiveProperties(M)){let G={...M,preserveOriginalMaterial:!0};R.push(G),o.push(v)}else y.push(v)}}if(y.length>0)for(let v of y)e.itemConfig.setHighlight(v,0);if(o.length>0){let v=e.materials.transfer(R),P=this.getCreateEvent(e,v);e.traverse(o,P)}e.tiles.updateVirtualMeshes(r)}setColor(e,s,i){let r={color:i,preserveOriginalMaterial:!0};this.highlight(e,s,r)}resetColor(e,s){this.updateHighlightDefinition(e,s,(i=>{let{color:r,...o}=i;return o}))}setOpacity(e,s,i){let r={opacity:i,transparent:i<1,preserveOriginalMaterial:!0};this.highlight(e,s,r)}resetOpacity(e,s){this.updateHighlightDefinition(e,s,(i=>{let{opacity:r,transparent:o,...y}=i;return y}))}getFetchEvent(e,s){return i=>{let r=e.itemConfig.getHighlight(i);if(r){let o=e.materials.fetch(r);s.push(o)}else s.push(void 0)}}setHighlightProperty(e,s,i){e[i]===void 0&&s[i]!==void 0&&(e[i]=s[i])}getNewHighFromPast(e,s,i){let r=e.materials.fetch(s),o={...i};for(let y of this._highlightProps)this.setHighlightProperty(o,r,y);return o}getCheckEvent(e,s,i){return r=>{let o=e.itemConfig.getHighlight(r);if(o===void 0)i.push(s);else{let y=this.getNewHighFromPast(e,o,s);i.push(y)}}}getCreateEvent(e,s){return(i,r)=>{e.itemConfig.setHighlight(i,s[r])}}resetHighlightForItems(e,s){if(e)for(let i of e)s.itemConfig.setHighlight(i,0);else s.itemConfig.clearHighlight()}},_O=class{constructor(){z(this,"_hiddenForEdit",new Set)}resetVisible(e){e.itemConfig.clearVisible(),e.tiles.restart()}getVisible(e,s){let i=e.properties.getItemIdsFromLocalIds(s),r=[];for(let o of i){if(this._hiddenForEdit.has(o))continue;let y=e.itemConfig.visible(o);r.push(y)}return r}getItemsByVisibility(e,s){let i=this.getVisibleCondition(e,s),r=e.getItemsByConfig(i),o=e.properties.getLocalIdsFromItemIds(r);return this.filterHiddenForEdit(o)}toggleVisible(e,s){let i=e.properties.getItemIdsFromLocalIds(s),r=this.filterHiddenForEdit(i),o=this.getToggleEvent(e);e.traverse(r,o),e.tiles.updateVirtualMeshes(r)}setVisible(e,s,i){let r=e.properties.getItemIdsFromLocalIds(s),o=this.filterHiddenForEdit(r),y=this.getSetEvent(e,i);e.traverse(o,y),e.tiles.updateVirtualMeshes(o)}hideForEdit(e,s){this.setVisible(e,s,!1);for(let i of s)this._hiddenForEdit.add(i)}filterHiddenForEdit(e){if(!this._hiddenForEdit.size)return e;let s=[];for(let i of e)this._hiddenForEdit.has(i)||s.push(i);return s}getSetEvent(e,s){return i=>{e.itemConfig.setVisible(i,s)}}getVisibleCondition(e,s){return i=>e.itemConfig.visible(i)===s}getToggleEvent(e){return s=>{let i=e.itemConfig.visible(s);e.itemConfig.setVisible(s,!i)}}},MO=class{getGeometriesLength(e){return e.data.meshes().globalTransformsLength()}getSampleGeometry(e,s,i){let r=e.boxes.sampleOf(s),o=[];if(!r)return o;let y=e.data.meshes();for(let R of r){let v=e.tiles.fetchSample(R,i),P=y.sampleIds(R),M=Array.isArray(v.geometries)?v.geometries:[v.geometries],G=y.samples(R),w=y.meshesItems(G.item()),H=e.data.localIds(w);for(let W of M){let k=i===Ut.GEOMETRY?W.positionBuffer:new Float32Array(W.positionBuffer);o.push({transform:v.transform.clone(),indices:W.indexBuffer,positions:k,normals:W.normalBuffer,sampleId:P,localId:H,representationId:v.representationId})}}return o}getVolume(e,s){let i=0,r={x:0,y:0,z:0},o={x:0,y:0,z:0},y={x:0,y:0,z:0},R=this.getSampleGeometry(e,s,Ut.GEOMETRY);for(let{indices:v,positions:P}of R)if(v&&P)for(let M=0;M{if(!ie.indexBuffer||!ie.positionBuffer)return;let ee=new CI;ee.setIndex(Array.from(ie.indexBuffer)),ee.setAttribute("position",new Oo(ie.positionBuffer,3)),K.push(ee)})),r.set(X,K)}let q=r.get(X);if(q)for(let K of q){let Q=new Mp(K),ie=e.tiles.getSampleTransform(H);Q.applyMatrix4(ie),Q.updateWorldMatrix(!0,!0),o.push(Q)}}}let y=new Float32Array(6e5),R=new Oo(y,3,!1),{index:v,indexes:P}=this._sectionGenerator.createEdges({meshes:o,posAttr:R}),M=this._sectionGenerator.createFills(y,P);for(let[,G]of r)for(let w of G)w.dispose();return{buffer:y,index:v,fillsIndices:M}}},UO=class{constructor(e){z(this,"_model"),z(this,"sequenceSelectorFunction",{withVisiblity:s=>this._model.getItemsByVisibility(s),highlighted:()=>this._model.getHighlightItemIds(),children:s=>this._model.getItemsChildren(s),ofCategory:s=>{let i=this._model.getItemsOfCategories(s);return Object.values(i).flat()},withCondition:()=>[],withGeometry:()=>this._model.getItemsWithGeometry()}),z(this,"sequenceResultFunction",{attributes:s=>s.map((i=>this._model.getItemAttributes(i))),mergedBoxes:s=>this._model.getBBoxes(s),category:s=>this._model.getItemsCategories(s),children:s=>this._model.getItemsChildren(s),data:(s,...i)=>this._model.getItemsData(s,i[0]),geometry:s=>this._model.getItemsGeometry(s),guid:s=>this._model.getGuidsByLocalIds(s),highlight:s=>this._model.getHighlight(s),relations:s=>s.map((i=>this._model.getItemRelations(i))),visibility:s=>this._model.getVisible(s)}),this._model=e}getSequenced(e,s,i){var r;let o=this.sequenceResultFunction[e];if(!o)return null;let y=[],R=0;for(let v of s){let P=this.sequenceSelectorFunction[v];if(!P)continue;let M=(r=i?.selector)==null?void 0:r[v];y=P(R===0?M:y),R++}return o(y,i?.result)}},wO=class{traverse(e,s,i){s?this.traverseItems(s,i):this.traverseAllItems(e,i)}getItemsByConfig(e,s){let i=[],r=e.data.localIdsLength();for(let o=0;o{if(this._connection)return this._connection.fetch(o,y)})),this._modelId=e,this._connection=i,this._config={...this._config,...r},this.data=this.setupModel(s),this.boxes=new LO(this.data),this.materials=this.setupMaterials(e),this._alignments=new mO(this),this._grids=new GO(this),this.itemConfig=this.setupItemsConfig(),this.tiles=this.setupTiles(),this.properties=this.setupProperties(),this.raycaster=this.setupRaycaster(),this.setupBVH(),this._nextId=this.getMaxLocalId()}getItemsByConfig(e){return this._itemsHelper.getItemsByConfig(this,e)}getItemsCategories(e){return this.properties.getItemsCategories(e)}getItemIdsByLocalIds(e){return this.properties.getItemIdsFromLocalIds(e)}getItemAttributes(e){return this.properties.getItemAttributes(e)}getAttributesUniqueValues(e){return this.properties.getAttributesUniqueValues(e)}getItemsData(e,s){return this.properties.getItemsData(e,s)}getItemsOfCategories(e){return this.properties.getItemsOfCategories(e)}getItemsWithGeometry(){return this.properties.getItemsWithGeometry()}getItemsWithGeometryCategories(){return this.properties.getItemsWithGeometryCategories()}getItemsByQuery(e,s){return this.properties.getItemsByQuery(e,s)}getItemRelations(e){return this.properties.getItemRelations(e)}getSpatialStructure(){return Ge.applyChangesToSpecialData(this.requests,"SPATIAL_STRUCTURE")||this.properties.getSpatialStructure()}getMaxLocalId(){return this.properties.getMaxLocalId()}getCategories(){return this.properties.getCategories()}getMetadata(){return Ge.applyChangesToSpecialData(this.requests,"METADATA")||this.properties.getMetadata()}getLocalIdsByGuids(e){return this.properties.getLocalIdsByGuids(e)}getGuidsByLocalIds(e){return this.properties.getGuidsByLocalIds(e)}getSequenced(e,s,i){return this._sequenceHelper.getSequenced(e,s,i)}highlight(e,s){this._highlightHelper.highlight(this,e,s)}setColor(e,s){this._highlightHelper.setColor(this,e,s)}resetColor(e){this._highlightHelper.resetColor(this,e)}setOpacity(e,s){this._highlightHelper.setOpacity(this,e,s)}resetOpacity(e){this._highlightHelper.resetOpacity(this,e)}getHighlight(e){return this._highlightHelper.getHighlight(this,e)}getHighlightItemIds(){return this._highlightHelper.getHighlightItems(this)}resetHighlight(e){this._highlightHelper.resetHighlight(this,e)}getCoordinates(){return this._coordinatesHelper.getCoordinates(this)}getPositions(e){return this._coordinatesHelper.getPositions(this,e)}getGeometriesLength(){return this._geometryHelper.getGeometriesLength(this)}getGuids(){return this.properties.getGuids()}getLocalIds(){return this.properties.getLocalIds()}getItemsGeometry(e,s=Ut.GEOMETRY){let i=this.properties.getItemIdsFromLocalIds(e),r=[];for(let o of i){let y=this._geometryHelper.getSampleGeometry(this,o,s);r.push(y)}return r}getGeometries(e){if(this._reprIdMap.size===0){let y=this.data.meshes();for(let R=0;R{let i=this.updateAllModels()?this._updateDelay:0;setTimeout(s,i)};s()}updateAllModels(){let e=performance.now(),s=!0;for(let[,i]of this._thread.list){let r=i.update(e);if(s=s&&r,performance.now()-e>this._updateThreshold)break}return s}},XO=class{constructor(e){z(this,"thread"),z(this,"modelCreator"),z(this,"raycaster"),z(this,"modelDeleter"),z(this,"viewRefresher"),z(this,"boxFetcher"),z(this,"executor"),z(this,"updater"),this.thread=e,this.modelCreator=new BO(e),this.raycaster=new VO(e),this.modelDeleter=new WO(e),this.viewRefresher=new jO(e),this.boxFetcher=new YO(e),this.executor=new zO(e),this.updater=new kO(e)}},KO=class{constructor(){z(this,"actions",{}),z(this,"list",new Map),z(this,"controllerManager",new XO(this)),z(this,"_connection")}get connection(){if(!this._connection)throw new Error("Fragments: Connection not set");return this._connection}set connection(e){this._connection=e}useConnection(e){this.connection=new Mf((async s=>{await this.actions[s.class](s)})),this.connection.init(e)}getModel(e){let s=this.list.get(e);if(!s)throw new Error(`Fragments: Model not found: ${e}`);return s}},hC=new KO;globalThis.onmessage=t=>{hC.useConnection(t.data)};export{KO as FragmentsThread}; /*! Bundled license information: @thatopen/fragments/dist/Worker/worker.mjs: (** * @license * Copyright 2010-2025 Three.js Authors * SPDX-License-Identifier: MIT *) (*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) *) */